@bigbinary/neeto-fields-frontend 1.3.4 → 1.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +111 -158
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +91 -138
- package/dist/index.js.map +1 -1
- package/package.json +6 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/dompurify/dist/purify.es.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/void-elements/index.js","../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","../node_modules/html-escaper/esm/index.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/Trans.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/react-i18next/dist/es/useTranslation.js","../app/javascript/src/common/i18n.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../app/javascript/src/components/FieldsDashBoard/constants.js","../app/javascript/src/hooks/utils.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/dayjs/dayjs.min.js","../app/javascript/src/components/commons/FieldInputs/utils.js","../app/javascript/src/hooks/useFormikFields.js","../app/javascript/src/components/commons/FieldInputs/Checkbox.jsx","../app/javascript/src/components/commons/FieldInputs/DateOrTime.jsx","../app/javascript/src/components/commons/FieldInputs/MultiOption.jsx","../app/javascript/src/components/commons/FieldInputs/Number.jsx","../app/javascript/src/components/commons/FieldInputs/RangePicker.jsx","../app/javascript/src/components/commons/FieldInputs/SingleOption.jsx","../app/javascript/src/components/commons/FieldInputs/Text.jsx","../app/javascript/src/components/commons/FieldInputs/TextArea.jsx","../app/javascript/src/components/utils.js","../app/javascript/src/components/FieldInputs.jsx","../app/javascript/src/constants/index.js","../app/javascript/src/apis/fields.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useFieldsApi.js","../app/javascript/src/components/FieldsPane/utils.jsx","../app/javascript/src/components/FieldsPane/constants.js","../app/javascript/src/components/FieldsPane/AdditionalInputs.jsx","../app/javascript/src/components/FieldsPane/FieldForm.jsx","../app/javascript/src/components/FieldsPane/Add.jsx","../app/javascript/src/components/FieldsPane/Edit.jsx","../app/javascript/src/components/FieldsPane/index.jsx","../node_modules/pluralize/pluralize.js","../app/javascript/src/components/FieldsDashBoard/utils.jsx","../app/javascript/src/apis/configs.js","../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../app/javascript/src/hooks/useFieldsDashboard.js","../app/javascript/src/components/FieldsDashBoard/DeleteAlert.jsx","../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../app/javascript/src/components/commons/TitleWithHelpLink.jsx","../app/javascript/src/components/FieldsDashBoard/Header/ActionBlock.jsx","../app/javascript/src/components/FieldsDashBoard/Header/index.jsx","../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../node_modules/@dnd-kit/core/dist/core.esm.js","../node_modules/@dnd-kit/sortable/dist/sortable.esm.js","../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../app/javascript/src/components/FieldsDashBoard/index.jsx","../app/javascript/src/apis/field_values.js","../app/javascript/src/hooks/reactQuery/useFieldValuesApi.js","../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../app/javascript/src/components/FieldValuesContainer/constants.js","../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../app/javascript/src/components/FieldValuesContainer/FieldValueInputWrapper.jsx","../app/javascript/src/components/FieldValuesContainer/utils.js","../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["/*! @license DOMPurify 3.0.2 | (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.2/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\n\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n}\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n}\n/* Add properties to a lookup table */\n\nfunction addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase;\n\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n\n while (l--) {\n let element = array[l];\n\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n/* Shallow clone an object */\n\nfunction clone(object) {\n const newObject = create(null);\n\n for (const [property, value] of entries(object)) {\n newObject[property] = value;\n }\n\n return newObject;\n}\n/* This method automatically checks if the prop is function\n * or getter and behaves accordingly. */\n\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nconst 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']); // SVG\n\nconst 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']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\n\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']); // Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\n\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst 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', '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', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', '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', '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', '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', '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', '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']);\nconst 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']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n ERB_EXPR: ERB_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR,\n DATA_ATTR: DATA_ATTR,\n ARIA_ATTR: ARIA_ATTR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n DOCTYPE_NAME: DOCTYPE_NAME\n});\n\nconst getGlobal = () => typeof window === 'undefined' ? null : window;\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n\n\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n } // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n\n\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n const DOMPurify = root => createDOMPurify(root);\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '3.0.2';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n let {\n document\n } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined';\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n\n let CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n let SAFE_FOR_TEMPLATES = false;\n /* Decide if document with <html>... should be returned */\n\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n /* Parsing of strict XHTML documents */\n\n let PARSER_MEDIA_TYPE;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc;\n /* Keep a reference to config to pass to hooks */\n\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n\n const _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...text]);\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n\n const ALL_SVG_TAGS = addToSet({}, svg$1);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n const ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n } // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n\n\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n } // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n\n\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n } // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n\n\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n } // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n\n\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n } // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n\n\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n } // For XHTML and XML documents that support custom namespaces\n\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n } // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n\n\n return false;\n };\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n\n\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n\n\n const _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name); // We void attribute values for unremovable \"is\"\" attributes\n\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n\n\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n\n\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {// Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n\n\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n\n\n const _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n\n\n const _isClobbered = function _isClobbered(elm) {\n 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');\n };\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n\n\n const _isNode = function _isNode(object) {\n return typeof Node === 'object' ? object instanceof Node : object && typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n\n\n const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n\n\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeElements', currentNode, null);\n /* Check if element is clobbered or can clobber */\n\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Now let's check the element's type and name */\n\n\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n\n\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Remove element if anything forbids its presence */\n\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n }\n /* Keep content except for bad-listed elements */\n\n\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check whether element has a valid namespace */\n\n\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Make sure that older browsers don't get noscript mXSS */\n\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Sanitize element content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR, ' ');\n content = stringReplace(content, ERB_EXPR, ' ');\n content = stringReplace(content, TMPLIT_EXPR, ' ');\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n\n\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n\n\n 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]) {\n if ( // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _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\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n 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 {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (!value) ; else {\n return false;\n }\n\n return true;\n };\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n\n\n const _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n return tagName.indexOf('-') > 0;\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n\n\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n let attr;\n let value;\n let lcName;\n let l;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n\n while (l--) {\n attr = attributes[l];\n const {\n name,\n namespaceURI\n } = attr;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n /* Execute a hook if present */\n\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n\n\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n\n\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n\n\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR, ' ');\n value = stringReplace(value, ERB_EXPR, ' ');\n value = stringReplace(value, TMPLIT_EXPR, ' ');\n }\n /* Is `value` valid for this attribute? */\n\n\n const lcTag = transformCaseFunc(currentNode.nodeName);\n\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n\n\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode); // Prefix the value and later re-create the attribute with the sanitized value\n\n\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Handle attributes that require Trusted Types */\n\n\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n value = trustedTypesPolicy.createHTML(value);\n break;\n\n case 'TrustedScriptURL':\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n\n\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n\n\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode;\n\n const shadowIterator = _createIterator(fragment);\n /* Execute a hook if present */\n\n\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n /* Deep shadow DOM detected */\n\n\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(shadowNode);\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n\n\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body;\n let importedNode;\n let currentNode;\n let returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n\n IS_EMPTY_INPUT = !dirty;\n\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n\n\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n\n\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n\n\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n\n\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n\n\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n\n\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n\n\n const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n\n\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n /* Shadow DOM detected, sanitize it */\n\n\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(currentNode);\n }\n /* If we sanitized `dirty` in-place, return it. */\n\n\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n\n\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmod) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n\n\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n\n SET_CONFIG = true;\n };\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n\n\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n\n\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n\n\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n\n\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n\n\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n\n\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.js.map\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = \"\".concat(name, \"=\").concat(value);\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += \"; Max-Age=\".concat(Math.floor(maxAge));\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += \"; Domain=\".concat(opt.domain);\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += \"; Path=\".concat(opt.path);\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += \"; Expires=\".concat(opt.expires.toUTCString());\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = \"\".concat(name, \"=\");\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n var query = search.substring(1);\n var params = query.split('&');\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n // If given get the subdomain index else 1\n var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[lookupFromSubdomainIndex];\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode']\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n };\n}\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Browser);\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n return Browser;\n}();\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","/**\n * Copyright (C) 2017-present by Andrea Giammarchi - @WebReflection\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nvar replace = ''.replace;\n\nvar ca = /[&<>'\"]/g;\nvar es = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;\n\nvar esca = {\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"'\n};\nvar unes = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"'\n};\n\nexport function escape(es) {\n return replace.call(es, ca, pe);\n};\n\nexport function unescape(un) {\n return replace.call(un, es, cape);\n};\n\nfunction pe(m) {\n return esca[m];\n}\n\nfunction cape(m) {\n return unes[m];\n}\n","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { useContext } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { unescape } from 'html-escaper';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node && node.children ? node.children : node.props && node.props.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return React.isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (React.isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"</\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"</\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !React.isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"</0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = React.isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(React.createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(React.createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"</\").concat(node.name, \">\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(React.createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? React.createElement(useAsParent, additionalProps, content) : content;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, namespaces.join()]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import DOMPurify from \"dompurify\";\nimport i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { en } from \"translations\";\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: {\n en: { translation: en },\n },\n fallbackLng: \"en\",\n detection: { order: [\"navigator\"] },\n });\n\ni18n.services.formatter.addCached(\"boldList\", (lng, options) => {\n const formatter = new Intl.ListFormat(lng, options);\n const sanitizer = value =>\n DOMPurify.sanitize(value, { USE_PROFILES: { html: true } });\n\n return value => {\n const boldEmails = value.map(email => `<strong>${email}</strong>`);\n const sanitizedEmails = sanitizer(boldEmails).split(\",\");\n\n return formatter.format(sanitizedEmails);\n };\n});\n\nexport default i18n;\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const DEFAULT_PAGE_SIZE = 12;\n\nexport const KINDS = {\n text: \"text\",\n number: \"number\",\n monetary: \"monetary\",\n singleOption: \"single_option\",\n multiOption: \"multi_option\",\n date: \"date\",\n time: \"time\",\n dateRange: \"date_range\",\n timeRange: \"time_range\",\n textarea: \"textarea\",\n textArea: \"text_area\",\n person: \"person\",\n checkbox: \"checkbox\",\n regex: \"regex\",\n integer: \"integer\",\n decimal: \"decimal\",\n datetime: \"datetime\",\n};\n\nexport const DISPLAY_KINDS = {\n text: t(\"fields.kinds.text\"),\n number: t(\"fields.kinds.number\"),\n monetary: t(\"fields.kinds.monetary\"),\n single_option: t(\"fields.kinds.singleOption\"),\n multi_option: t(\"fields.kinds.multiOption\"),\n date: t(\"fields.kinds.date\"),\n time: t(\"fields.kinds.time\"),\n date_range: t(\"fields.kinds.dateRange\"),\n time_range: t(\"fields.kinds.timeRange\"),\n textarea: t(\"fields.kinds.textarea\"),\n text_area: t(\"fields.kinds.textArea\"),\n person: t(\"fields.kinds.person\"),\n checkbox: t(\"fields.kinds.checkbox\"),\n regex: t(\"fields.kinds.regex\"),\n integer: t(\"fields.kinds.integer\"),\n decimal: t(\"fields.kinds.decimal\"),\n datetime: t(\"fields.kinds.datetime\"),\n};\n\nexport const FIELD_STATES = {\n active: \"active\",\n inactive: \"inactive\",\n};\n\nexport const DEFAULT_FIELD_STATE_TAXONOMY = {\n active: \"Active\",\n inactive: \"Inactive\",\n};\n\nexport const ALL_KINDS = values(KINDS);\n","export const isDateTime = kind =>\n [\"date\", \"time\", \"date_range\", \"time_range\", \"datetime\"].includes(kind);\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { isEmpty, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nconst dateSchema = yup.date().nullable();\n\nconst isValueEmpty = value =>\n typeof value === \"string\" && isEmpty(value.trim());\n\nconst isCheckboxUnchecked = (kind, value) => kind === KINDS.checkbox && !value;\n\nconst isArrayEmpty = (kind, value) =>\n [\n KINDS.multiOption,\n KINDS.singleOption,\n KINDS.dateRange,\n KINDS.timeRange,\n ].includes(kind) && isEmpty(value);\n\nconst buildSchemaAllowingEmptyValue = schema =>\n yup.mixed().test({\n name: \"validate-if-not-empty\",\n test: value => {\n if (isNotEmpty(value) && isNotNil(value)) {\n schema.validateSync(value);\n }\n\n return true;\n },\n });\n\nconst buildSchemaForRequiredInputs = (schema, kind) =>\n yup.mixed().test({\n name: \"validate-required-inputs\",\n test: value => {\n if (\n isNil(value) ||\n isValueEmpty(value) ||\n isArrayEmpty(kind, value) ||\n isCheckboxUnchecked(kind, value)\n ) {\n throw new yup.ValidationError(t(\"validations.thisIsRequired\"));\n }\n schema.validateSync(value);\n\n return true;\n },\n });\n\nconst buildSchema = ({ schema, isRequired, kind }) =>\n isRequired\n ? buildSchemaForRequiredInputs(schema, kind)\n : buildSchemaAllowingEmptyValue(schema);\n\nconst getBasicValidationSchema = ({ kind, fieldData }) => {\n switch (kind) {\n case KINDS.singleOption:\n case KINDS.textarea:\n case KINDS.text: {\n return yup.string().trim().nullable();\n }\n\n case KINDS.number:\n case KINDS.monetary:\n case KINDS.decimal: {\n return yup.number(t(\"validations.notAValidNumber\")).nullable();\n }\n case KINDS.integer: {\n return yup.number().nullable().integer(t(\"validations.notAValidInteger\"));\n }\n\n case KINDS.date:\n case KINDS.time: {\n return dateSchema;\n }\n case KINDS.multiOption: {\n return yup.array().of(yup.string()).nullable();\n }\n\n case KINDS.dateRange:\n case KINDS.timeRange: {\n return yup.array().of(dateSchema).nullable();\n }\n\n case KINDS.checkbox:\n return yup.boolean().nullable();\n\n case KINDS.regex: {\n const regexPattern = fieldData?.condition;\n\n return yup\n .string()\n .nullable()\n .matches(cleanedRegex(regexPattern), fieldData?.helpMessage);\n }\n\n default:\n return yup.mixed();\n }\n};\n\nconst buildFieldValidationSchema = ({ kind, isRequired, fieldData }) => {\n const schema = getBasicValidationSchema({ kind, fieldData });\n\n return buildSchema({ schema, isRequired, kind });\n};\n\nconst cleanedRegex = regexCondition => {\n const patternMatchingExp = /[igmsyu]*$/;\n const conditionFlags = regexCondition.match(patternMatchingExp)[0];\n let conditionWithoutFlags = regexCondition.replace(patternMatchingExp, \"\");\n const sanitizedFlags = [...new Set(conditionFlags)].join(\"\");\n if (\n conditionWithoutFlags.startsWith(\"/\") &&\n conditionWithoutFlags.endsWith(\"/\")\n ) {\n conditionWithoutFlags = conditionWithoutFlags.slice(1, -1);\n }\n\n return RegExp(conditionWithoutFlags, sanitizedFlags);\n};\n\nexport const validateField = async ({\n fieldValue,\n fieldName,\n isRequired,\n kind,\n fieldData,\n}) => {\n try {\n await yup\n .object()\n .shape({\n [fieldName]: buildFieldValidationSchema({\n kind,\n isRequired,\n fieldData,\n }),\n })\n .validate({ [fieldName]: fieldValue });\n\n return false;\n } catch (e) {\n return e.errors[0];\n }\n};\n\nexport const dateTimeToString = dateTime =>\n (dateTime && dayjs(dateTime).toString()) || \"\";\n","import { useEffect } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { capitalize, findBy, renameKeys } from \"neetocommons/pure\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { isNil, isNotNil, prop } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { escapeString } from \"components/utils\";\n\nimport { isDateTime, isDropdown } from \"./utils\";\n\nimport { validateField } from \"../components/commons/FieldInputs/utils\";\n\nconst useFormikFields = ({\n name,\n id: fieldId,\n kind,\n data: fieldData,\n individualSubmit,\n formRef,\n formRefs,\n disabled,\n isRequiredColumnName = \"isRequired\",\n ...props\n}) => {\n const formikContext = useFormikContext();\n\n const { submitForm, dirty, isSubmitting } = formikContext;\n\n const fieldPath = escapeString(`${name}-${fieldId}`);\n const fieldName = kind === KINDS.multiOption ? \"values\" : \"value\";\n const fieldValuePath = `${fieldPath}.data.${fieldName}`;\n\n isDropdown(kind) && (fieldData = renameKeys({ id: \"value\" }, fieldData));\n\n if (isNil(formRef) && isNotNil(formRefs)) {\n formRefs.current[fieldValuePath] = formikContext;\n } else if (isNil(formRefs) && isNotNil(formRef)) {\n formRef.current = formikContext;\n }\n\n const [formikFieldProps, meta, helpers] = useField({\n name: fieldValuePath,\n validate: fieldValue =>\n validateField({\n fieldValue,\n fieldName: name,\n isRequired: props[isRequiredColumnName],\n kind,\n fieldData,\n }),\n });\n\n const debouncedSubmitForm = useFuncDebounce(submitForm, 100);\n\n const handleSubmit = value => {\n isNotNil(value) && helpers.setValue(value);\n individualSubmit && debouncedSubmitForm();\n };\n\n const getValueForField = value => {\n if (kind === KINDS.singleOption) {\n value = findBy({ value }, fieldData);\n } else if (kind === KINDS.multiOption) {\n value = value?.map(optionId => findBy({ value: optionId }, fieldData));\n }\n\n return value || \"\";\n };\n\n useEffect(() => {\n if (isSubmitting && !meta.touched) {\n helpers.setTouched(true);\n }\n }, [isSubmitting]);\n\n return {\n dirty,\n handleSubmit,\n fieldProps: {\n ...formikFieldProps,\n error: individualSubmit ? meta.error : meta.touched && meta.error,\n value: getValueForField(formikFieldProps.value),\n label: capitalize(name),\n labelProps: { required: props[isRequiredColumnName] },\n disabled,\n //conditional props\n options: isDropdown(kind) ? fieldData : undefined,\n getPopupContainer: isDateTime(kind) ? prop(\"parentElement\") : undefined,\n },\n };\n};\n\nexport default useFormikFields;\n","import React from \"react\";\n\nimport { Checkbox as NeetoUICheckbox } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Checkbox = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <NeetoUICheckbox\n {...fieldProps}\n checked={fieldProps.value}\n onChange={({ target: { checked } }) => handleSubmit(checked)}\n />\n );\n};\nexport default Checkbox;\n","import React from \"react\";\n\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nconst DateOrTime = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = dateTime => handleSubmit(dateTimeToString(dateTime));\n\n if (props.kind === KINDS.time) {\n return (\n <TimePicker\n {...fieldProps}\n use12Hours\n format=\"h:mm A\"\n onChange={handleChange}\n />\n );\n } else if (props.kind === KINDS.date) {\n return <DatePicker {...fieldProps} onChange={handleChange} />;\n }\n\n return (\n <DatePicker\n showTime\n timeFormat=\"h:mm A\"\n {...fieldProps}\n onChange={handleChange}\n />\n );\n};\n\nexport default DateOrTime;\n","import React from \"react\";\n\nimport { Select } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst MultiOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isMulti\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={selectedOptions =>\n handleSubmit(pluck(\"value\", selectedOptions))\n }\n />\n );\n};\n\nexport default MultiOption;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Check } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { Button } from \"neetoui/formik\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Number = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const showSubmitButton = props.individualSubmit && dirty;\n\n return (\n <Input\n {...fieldProps}\n type=\"number\"\n suffix={\n showSubmitButton && (\n <Button\n data-cy={joinHyphenCase(fieldProps.label, \"check-button\")}\n icon={Check}\n style=\"text\"\n onClick={() => handleSubmit()}\n />\n )\n }\n />\n );\n};\n\nexport default Number;\n","import React from \"react\";\n\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nconst RangePicker = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = ([begin, end]) => {\n if (begin && end) {\n handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);\n } else {\n handleSubmit([]);\n }\n };\n\n if (props.kind === KINDS.dateRange) {\n return <DatePicker {...fieldProps} type=\"range\" onChange={handleChange} />;\n }\n\n //time_range\n return (\n <TimePicker\n {...fieldProps}\n use12Hours\n format=\"h:mm A\"\n type=\"range\"\n onChange={handleChange}\n />\n );\n};\n\nexport default RangePicker;\n","import React from \"react\";\n\nimport { Select } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst SingleOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isClearable\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={option => handleSubmit(option?.value || \"\")}\n />\n );\n};\nexport default SingleOption;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Check } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { Button } from \"neetoui/formik\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Text = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const showSubmitButton = props.individualSubmit && dirty;\n\n return (\n <Input\n {...fieldProps}\n suffix={\n showSubmitButton && (\n <Button\n data-cy={joinHyphenCase(fieldProps.label, \"check-button\")}\n icon={Check}\n style=\"text\"\n onClick={() => handleSubmit()}\n />\n )\n }\n />\n );\n};\n\nexport default Text;\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\nimport { Button } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst TextArea = props => {\n const { t } = useTranslation();\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const showSubmitButton = props.individualSubmit && dirty;\n\n return (\n <>\n <Textarea {...fieldProps} />\n {showSubmitButton && (\n <Button\n className=\"m-auto mt-2\"\n label={t(\"labels.submit\")}\n size=\"small\"\n onClick={() => handleSubmit()}\n />\n )}\n </>\n );\n};\nexport default TextArea;\n","import { filterBy, findBy } from \"neetocommons/pure\";\nimport { prop, isNil, clone, pick, map, pipe, mergeAll, omit } from \"ramda\";\n\nimport {\n Checkbox,\n DateOrTime as DateOrTimeInput,\n MultiOption as MultiOptionInput,\n Number as NumberInput,\n RangePicker as RangePickerInput,\n SingleOption as SingleOptionInput,\n Text as TextInput,\n TextArea as TextAreaInput,\n} from \"./commons/FieldInputs\";\nimport { KINDS } from \"./FieldsDashBoard/constants\";\n\nconst standardComponents = {\n text: TextInput,\n regex: TextInput,\n textarea: TextAreaInput,\n text_area: TextAreaInput, // TODO: Remove text-area after integration in all hosts.\n number: NumberInput,\n monetary: NumberInput,\n integer: NumberInput,\n decimal: NumberInput,\n date: DateOrTimeInput,\n time: DateOrTimeInput,\n datetime: DateOrTimeInput,\n single_option: SingleOptionInput,\n multi_option: MultiOptionInput,\n date_range: RangePickerInput,\n time_range: RangePickerInput,\n checkbox: Checkbox,\n};\n\nconst getFieldInput = ({ field, customComponents = {} }) => {\n const Component =\n customComponents[field.kind] || standardComponents[field.kind];\n\n if (Component) {\n return Component;\n }\n\n return null;\n};\n\nconst removeItemsWithNullData = fieldValues =>\n fieldValues.filter(item => !isNil(prop(\"data\", item)));\n\nconst removeNoiseFromValues = fieldValues =>\n map(pick([\"id\", \"fieldId\", \"data\"]), fieldValues);\n\nconst transformValues = ({ values: formikValues, fields }) => {\n const allFieldValues = clone(formikValues);\n const neetoFieldValues = [];\n\n fields.forEach(({ id, name }) => {\n const fieldPath = escapeString(`${name}-${id}`);\n neetoFieldValues.push(allFieldValues[fieldPath]);\n delete allFieldValues[fieldPath];\n });\n\n const cleanedFieldValues = pipe(\n removeItemsWithNullData,\n removeNoiseFromValues\n )(neetoFieldValues);\n\n return { ...allFieldValues, fieldValuesAttributes: cleanedFieldValues };\n};\n\nconst getDefaultInitialValue = kind => {\n switch (kind) {\n case KINDS.checkbox:\n return false;\n case KINDS.multiOption:\n case KINDS.dateRange:\n case KINDS.timeRange:\n return [];\n default:\n return \"\";\n }\n};\n\nconst getInitialFieldValue = ({\n field,\n fieldValues = [],\n isIndividualFieldForm = false,\n}) => {\n const existingFieldValueData = findBy({ fieldId: field.id }, fieldValues);\n const keyInData = field.kind === KINDS.multiOption ? \"values\" : \"value\";\n const newFieldValueData = {\n fieldId: field.id,\n data: isIndividualFieldForm\n ? { [keyInData]: getDefaultInitialValue(field.kind) }\n : null,\n };\n\n return {\n [escapeString(`${field.name}-${field.id}`)]:\n existingFieldValueData || newFieldValueData,\n };\n};\n\nconst getAllInitialFieldValues = (fields, fieldValues = []) =>\n getNonSystemFields(fields).map(field =>\n getInitialFieldValue({ field, fieldValues })\n );\n\nconst mergeInitialValues = ({ initialValues, fields }) => {\n const initialValue = mergeAll([\n initialValues,\n ...getAllInitialFieldValues(fields, initialValues?.fieldValues),\n ]);\n\n return omit([\"fieldValues\"], initialValue);\n};\n\nconst getNonSystemFields = fields => filterBy({ isSystem: false }, fields);\n\nconst escapeString = string =>\n string.replace(/[^a-zA-Z0-9_]/g, match => {\n const charCode = match.charCodeAt(0);\n\n return `_${charCode}_`;\n });\n\nconst neetoFieldsUtils = {\n mergeInitialValues,\n transformValues,\n};\n\nexport {\n neetoFieldsUtils,\n getInitialFieldValue,\n getFieldInput,\n getNonSystemFields,\n escapeString,\n};\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"./utils\";\n\nconst FieldInputs = ({\n customComponents = {},\n fields,\n formRef,\n disabled,\n isRequiredColumnName,\n}) => {\n const { t } = useTranslation();\n\n return getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <Field\n key={field.id}\n {...{\n ...field,\n formRef,\n disabled,\n isRequiredColumnName,\n }}\n />\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"messages.invalidKind\")}\n </Typography>\n );\n });\n};\nexport default FieldInputs;\n","export const NEETO_FIELDS_URL = \"/neeto_fields_engine/api/v1\";\nexport const FIELDS_URL = `${NEETO_FIELDS_URL}/fields`;\nexport const FIELD_VALUES_URL = `${NEETO_FIELDS_URL}/field_values`;\nexport const FIELD_VALUE_URL = `${NEETO_FIELDS_URL}/field_values/:fieldValueId`;\nexport const FIELD_URL = `${NEETO_FIELDS_URL}/fields/:fieldId`;\nexport const DEPENDENCIES_URL = `${NEETO_FIELDS_URL}/fields/:fieldId/dependencies`;\nexport const FIELDS_REORDER_URL = `${FIELDS_URL}/reorder`;\nexport const CONFIGS_URL = `${NEETO_FIELDS_URL}/configs`;\n\nexport const INFO_ICON_SIZE = 16;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n DEPENDENCIES_URL,\n FIELDS_REORDER_URL,\n FIELDS_URL,\n FIELD_URL,\n} from \"src/constants\";\n\nconst fieldUrl = fieldId => buildUrl(FIELD_URL, { fieldId });\nconst dependenciesUrl = fieldId => buildUrl(DEPENDENCIES_URL, { fieldId });\n\nconst fetch = ({ resourceType, ownerId, state, searchTerm, pageProps }) =>\n axios.get(FIELDS_URL, {\n params: { resourceType, ownerId, state, searchTerm, ...pageProps },\n });\n\nconst create = payload => axios.post(FIELDS_URL, payload);\n\nconst show = ({ fieldId, ownerId }) =>\n axios.get(fieldUrl(fieldId), { params: { ownerId } });\n\nconst destroy = ({ fieldId, ownerId }) =>\n axios.delete(fieldUrl(fieldId), { data: { ownerId } });\n\nconst update = ({ fieldId, payload }) => axios.put(fieldUrl(fieldId), payload);\n\nconst reorder = payload => axios.patch(FIELDS_REORDER_URL, payload);\n\nconst dependencies = ({ fieldId, ownerId }) =>\n axios.get(dependenciesUrl(fieldId), { params: { ownerId } });\n\nconst fieldsApi = {\n fetch,\n create,\n show,\n destroy,\n update,\n reorder,\n dependencies,\n};\n\nexport default fieldsApi;\n","const QUERY_KEYS = {\n FIELDS: \"fields\",\n FIELD_VALUES: \"field_values\",\n CONFIGS: \"configurations\",\n DEPENDENCIES: \"dependencies\",\n};\n\nconst DEFAULT_STALE_TIME = 3_600_000; // 1 hour\n\nexport { QUERY_KEYS, DEFAULT_STALE_TIME };\n","import { useMutation, useQuery, useQueryClient } from \"react-query\";\n\nimport fieldsApi from \"apis/fields\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nconst { FIELDS, DEPENDENCIES } = QUERY_KEYS;\n\nexport const useFetchFields = (\n { prefixQueryKeys = [], pageProps = {}, ...params },\n options\n) =>\n useQuery(\n [FIELDS, ...prefixQueryKeys, pageProps, params],\n () => fieldsApi.fetch({ pageProps, ...params }),\n { staleTime: DEFAULT_STALE_TIME, ...options }\n );\n\nexport const useCreateField = options => {\n const queryClient = useQueryClient();\n\n return useMutation(fieldsApi.create, {\n ...options,\n onSuccess: (...args) => {\n options?.onSuccess?.(...args);\n queryClient.invalidateQueries(FIELDS);\n },\n });\n};\n\nexport const useShowField = ({ fieldId, ownerId }, options) => {\n const queryKey = [FIELDS, fieldId];\n\n return useQuery(\n queryKey,\n () => fieldsApi.show({ fieldId, ownerId }),\n options\n );\n};\n\nexport const useFetchDependencies = ({ fieldId, ownerId }, options) =>\n useQuery(\n [DEPENDENCIES, fieldId],\n () => fieldsApi.dependencies({ fieldId, ownerId }),\n options\n );\n\nexport const useUpdateField = options => {\n const queryClient = useQueryClient();\n\n return useMutation(fieldsApi.update, {\n ...options,\n onSuccess: (...args) => {\n options?.onSuccess?.(...args);\n queryClient.invalidateQueries(FIELDS);\n },\n });\n};\n\nexport const useDestroyField = options => {\n const queryClient = useQueryClient();\n\n return useMutation(fieldsApi.destroy, {\n ...options,\n onSuccess: (...args) => {\n options?.onSuccess?.(...args);\n queryClient.invalidateQueries(FIELDS);\n },\n });\n};\n\nexport const useReorderFields = () => {\n const queryClient = useQueryClient();\n\n return useMutation(fieldsApi.reorder, {\n onSuccess: () => {\n queryClient.invalidateQueries(FIELDS);\n },\n });\n};\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { filterBy } from \"neetocommons/pure\";\nimport { Pane } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { isEmpty, omit, pick, values } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS,\n FIELD_KINDS,\n BASIC_FIELD_FORM_VALIDATIONS,\n} from \"./constants\";\n\nconst arrangeOptionsDisplayOrder = options =>\n options.map((option, index) => ({ ...option, displayOrder: index }));\n\nexport const buildPayload = ({\n formValues,\n resourceType = \"\",\n ownerId = \"\",\n}) => {\n const kind = formValues.kind.value;\n const name = formValues.name.trim();\n\n return {\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n field: {\n ...omit(\n [\"createdAt\", \"id\", \"ownerId\", \"ownerType\", \"updatedAt\"],\n formValues\n ),\n kind,\n name,\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n data: isDropdown(kind)\n ? arrangeOptionsDisplayOrder(formValues.data)\n : formValues.data,\n },\n };\n};\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isRegex = kind => kind === \"regex\";\n\nexport const isAdditionalDataNeeded = kind =>\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);\n\nexport const getPermittedKinds = ({ allowedKinds, selectedKind }) => {\n const filteredKinds = pick(allowedKinds, FIELD_KINDS);\n const permittedKinds = filterBy(\n { group: selectedKind?.group },\n values(filteredKinds)\n );\n\n return permittedKinds;\n};\n\nexport const generateValidationSchema = additionalValidations =>\n yup\n .object()\n .shape({ ...BASIC_FIELD_FORM_VALIDATIONS, ...additionalValidations });\n\nexport const renderFormFooter = ({ onClose, loading, dirty = true }) => (\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{\n onClick: onClose,\n style: \"text\",\n disabled: loading,\n }}\n submitButtonProps={{\n label: t(\"labels.saveChanges\"),\n className: \"mr-2\",\n type: \"submit\",\n disabled: !dirty,\n loading,\n }}\n />\n </Pane.Footer>\n);\n\nexport const getDefaultOption = () => ({\n id: uuidv4(),\n label: \"\",\n displayOrder: 0,\n});\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocommons/pure\";\nimport * as yup from \"yup\";\n\nimport { isDropdown, isRegex } from \"./utils\";\n\nconst PERMITTED_REGEX_PATTERN = /^\\/.*\\/[igmsyu]*$/;\nconst ADVANCED_REGEX_ASSERTION_PATTERN =\n /\\(\\?=[^)]*\\)|\\(\\?![^)]*\\)|\\(\\?<=[^)]*\\)|\\(\\?<![^)]*\\)/;\n\nconst regexValidationSchema = yup.object().shape({\n condition: yup\n .string()\n .required(t(\"validations.regexConditionIsRequired\"))\n .matches(PERMITTED_REGEX_PATTERN, t(\"validations.invalidRegexPattern\"))\n .test({\n name: \"test-regex-is-advanced\",\n message: t(\"validations.advancedRegexAssertionsNotSupported\") || \"\",\n test: value => !ADVANCED_REGEX_ASSERTION_PATTERN.test(value),\n })\n .test({\n name: \"test-regex-condition-pattern\",\n message: t(\"validations.invalidRegexPattern\") || \"\",\n test: value => {\n try {\n const lastIndex = value.lastIndexOf(\"/\");\n const condition = value.substring(1, lastIndex);\n // Evaluating the regex to check if it is valid\n new RegExp(condition);\n \"\".search(condition);\n\n return true;\n } catch {\n return false;\n }\n },\n }),\n helpMessage: yup\n .string()\n .required(t(\"validations.regexHelpMessageIsRequired\")),\n});\n\nconst dropDownOptionsValidationSchema = yup\n .array()\n .of(\n yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(t(\"validations.fieldOptionIsRequired\")),\n displayOrder: yup.number(),\n })\n )\n .min(1, t(\"validations.atLeastFieldOptionIsRequired\"));\n\nexport const FIELD_KINDS = {\n text: { value: \"text\", label: t(\"fields.kinds.text\"), group: 1 },\n number: { value: \"number\", label: t(\"fields.kinds.number\"), group: 2 },\n monetary: { value: \"monetary\", label: t(\"fields.kinds.monetary\"), group: 2 },\n single_option: {\n value: \"single_option\",\n label: t(\"fields.kinds.singleOption\"),\n group: 12,\n },\n multi_option: {\n value: \"multi_option\",\n label: t(\"fields.kinds.multiOption\"),\n group: 3,\n },\n date: { value: \"date\", label: t(\"fields.kinds.date\"), group: 4 },\n time: { value: \"time\", label: t(\"fields.kinds.time\"), group: 5 },\n date_range: {\n value: \"date_range\",\n label: t(\"fields.kinds.dateRange\"),\n group: 6,\n },\n time_range: {\n value: \"time_range\",\n label: t(\"fields.kinds.timeRange\"),\n group: 7,\n },\n text_area: {\n value: \"text_area\",\n label: t(\"fields.kinds.textArea\"),\n group: 1,\n },\n textarea: {\n value: \"textarea\",\n label: t(\"fields.kinds.textarea\"),\n group: 1,\n },\n person: {\n value: \"person\",\n label: t(\"fields.kinds.person\"),\n group: 8,\n },\n checkbox: {\n value: \"checkbox\",\n label: t(\"fields.kinds.checkbox\"),\n group: 9,\n },\n regex: {\n value: \"regex\",\n label: t(\"fields.kinds.regex\"),\n group: 10,\n },\n integer: {\n value: \"integer\",\n label: t(\"fields.kinds.integer\"),\n group: 2,\n },\n decimal: {\n value: \"decimal\",\n label: t(\"fields.kinds.decimal\"),\n group: 2,\n },\n datetime: {\n value: \"datetime\",\n label: t(\"fields.kinds.datetime\"),\n group: 11,\n },\n};\n\nexport const ADDITIONAL_DATA_NEEDED_FIELD_KINDS = [\n \"single_option\",\n \"multi_option\",\n \"regex\",\n];\n\nexport const INITIAL_FIELDS = {\n name: \"\",\n kind: toLabelAndValue(\"text\"),\n isRequired: false,\n};\n\nexport const DEFAULT_REGEX_DATA = { condition: \"\", helpMessage: \"\" };\n\nexport const BASIC_FIELD_FORM_VALIDATIONS = {\n name: yup.string().trim().required(t(\"validations.fieldNameIsRequired\")),\n isRequired: yup.boolean(),\n kind: yup\n .object()\n .shape({ value: yup.string().required() })\n .required(t(\"validations.kindIsRequired\")),\n data: yup\n .mixed()\n .when(\"kind\", {\n is: kind => isRegex(kind?.value),\n then: regexValidationSchema,\n })\n .when(\"kind\", {\n is: kind => isDropdown(kind?.value),\n then: dropDownOptionsValidationSchema,\n }),\n};\n","import React from \"react\";\n\nimport { FieldArray, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Delete } from \"neetoicons\";\nimport { Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDefaultOption, isDropdown, isRegex } from \"./utils\";\n\nconst AdditionalInputs = () => {\n const { t } = useTranslation();\n\n const {\n values: { kind, data: options, isSystem },\n } = useFormikContext();\n\n const removeOption = (arrayHelpers, index) => arrayHelpers.remove(index);\n\n const addOption = arrayHelpers => arrayHelpers.push(getDefaultOption());\n\n if (isDropdown(kind.value)) {\n return (\n <FieldArray name=\"data\">\n {arrayHelpers => (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"titles.dropdownOptions\")}</Label>\n {isNotEmpty(options) &&\n Array.isArray(options) &&\n options.map((_, index) => (\n <div className=\"flex w-full space-x-3\" key={index}>\n <div className=\"w-full\">\n <Input\n disabled={isSystem}\n name={`data.${index}.label`}\n placeholder={t(\"placeholders.enterAnOption\")}\n suffix={\n options.length > 1 && (\n <Button\n icon={Delete}\n style=\"text\"\n onClick={() => removeOption(arrayHelpers, index)}\n />\n )\n }\n />\n </div>\n </div>\n ))}\n <Button\n fullWidth\n className=\"mb-6 border-dashed text-xs uppercase\"\n label={t(\"labels.addMoreOption\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n )}\n </FieldArray>\n );\n } else if (isRegex(kind.value)) {\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"titles.regexOptions\")}</Label>\n <Input\n disabled={isSystem}\n label={t(\"labels.regexCondition\")}\n name=\"data.condition\"\n placeholder={t(\"placeholders.regexExample\")}\n />\n <Input\n disabled={isSystem}\n label={t(\"labels.helpMessage\")}\n name=\"data.helpMessage\"\n placeholder={t(\"placeholders.enterErrorMessage\")}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport default AdditionalInputs;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AdditionalInputs from \"./AdditionalInputs\";\nimport { DEFAULT_REGEX_DATA } from \"./constants\";\nimport {\n getDefaultOption,\n isAdditionalDataNeeded,\n isDropdown,\n isRegex,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").FieldFormProps>} */\n\nconst FieldForm = ({\n chosenKind,\n kindSelectOptions = [],\n isSystem = false,\n hideRequiredSwitch = false,\n children,\n}) => {\n const { t } = useTranslation();\n\n const {\n values: { data: options },\n setFieldValue,\n } = useFormikContext();\n\n const handleKindChange = kind => {\n setFieldValue(\"kind\", kind);\n if (isDropdown(kind.value)) {\n setFieldValue(\"data\", options ?? [getDefaultOption()]);\n } else if (isRegex(kind.value)) {\n setFieldValue(\"data\", options ?? DEFAULT_REGEX_DATA);\n }\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\n data-cy=\"name-text-field\"\n disabled={isSystem}\n label={t(\"labels.fieldName\")}\n name=\"name\"\n placeholder={t(\"placeholders.enterFieldName\")}\n />\n <Select\n isSearchable\n isDisabled={isSystem}\n label={t(\"labels.fieldKind\")}\n name=\"kind\"\n options={kindSelectOptions}\n onChange={handleKindChange}\n />\n {isAdditionalDataNeeded(chosenKind) && <AdditionalInputs />}\n {!hideRequiredSwitch && (\n <Label\n className=\"flex items-center gap-2\"\n data-cy=\"is-required-switch-container\"\n >\n <Switch data-cy=\"is-required-switch\" name=\"isRequired\" />\n <Typography\n className=\"leading-4\"\n component=\"span\"\n data-cy=\"is-required-switch-label\"\n style=\"body2\"\n >\n {t(\"labels.isRequired\")}\n </Typography>\n </Label>\n )}\n {children}\n </div>\n </Pane.Body>\n );\n};\n\nexport default FieldForm;\n","import React from \"react\";\n\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { pick, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useCreateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS, INITIAL_FIELDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").AddProps>} */\n\nconst Add = ({\n resourceType,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations,\n initialValues,\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { mutate: createField, isLoading: isSubmitting } = useCreateField({\n onSuccess: onMutationSuccess,\n });\n\n const filteredKinds = values(pick(allowedKinds, FIELD_KINDS));\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, resourceType, ownerId });\n createField(payload, { onSuccess: onClose });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-pane-header\" style=\"h2\">\n {t(\"titles.addField\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: { ...initialValues, ...INITIAL_FIELDS },\n validationSchema: generateValidationSchema(additionalValidations),\n onSubmit: handleSubmit,\n }}\n >\n {({ dirty, values: { kind } }) => (\n <>\n <FieldForm\n chosenKind={kind.value}\n kindSelectOptions={filteredKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting, dirty })}\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import React from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useShowField, useUpdateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n getPermittedKinds,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").EditProps>} */\n\nconst Edit = ({\n fieldId,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations = {},\n initialValues = {},\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { data: { field = {} } = {}, isLoading } = useShowField({\n fieldId,\n ownerId,\n });\n\n const { mutate: updateField, isLoading: isSubmitting } = useUpdateField({\n onSuccess: (...args) => {\n onMutationSuccess?.(...args);\n onClose();\n },\n });\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, ownerId });\n updateField({ fieldId, payload });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-pane-header\" style=\"h2\">\n {t(\"titles.editField\")}\n </Typography>\n </Pane.Header>\n {isLoading ? (\n <PageLoader />\n ) : (\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...assoc(\"kind\", FIELD_KINDS[field.kind], field),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind }, dirty }) => {\n const permittedKinds = getPermittedKinds({\n allowedKinds,\n selectedKind: kind,\n });\n\n return (\n <>\n <FieldForm\n chosenKind={kind?.value}\n isSystem={field.isSystem}\n kindSelectOptions={permittedKinds}\n {...props}\n />\n {renderFormFooter({\n onClose,\n loading: isSubmitting,\n dirty,\n })}\n </>\n );\n }}\n </Form>\n )}\n </>\n );\n};\n\nexport default Edit;\n","import React from \"react\";\n\nimport { Pane } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\n/** @type {React.FC<import(\"types\").FieldsPaneProps>} */\n\nconst FieldsPane = ({ isOpen, selectedField = {}, ...props }) => (\n <Pane isOpen={isOpen} onClose={props.onClose}>\n {isEmpty(selectedField) ? (\n <Add {...props} />\n ) : (\n <Edit fieldId={selectedField?.id} {...props} />\n )}\n </Pane>\n);\n\nexport default FieldsPane;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { findBy, humanize, slugify } from \"neetocommons/pure\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport { Dropdown, Tab, Typography } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { Trans } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { DISPLAY_KINDS, FIELD_STATES } from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nexport const buildDefaultColumns = ({ onDeleteClick, onEditClick }) => [\n {\n key: \"name\",\n dataIndex: \"name\",\n title: t(\"titles.fieldName\"),\n width: \"30%\",\n render: (name, field) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">{name}</Typography>\n <Dropdown\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n strategy=\"fixed\"\n buttonProps={{\n className: \"flex-shrink-0\",\n \"data-cy\": \"neeto-fields-options-dropdown\",\n }}\n >\n <Menu>\n <MenuItem.Button\n data-cy=\"edit-menu-item-button\"\n onClick={() => onEditClick(field)}\n >\n {t(\"labels.edit\")}\n </MenuItem.Button>\n {!field.isSystem && (\n <MenuItem.Button\n data-cy=\"delete-menu-item-button\"\n onClick={() => onDeleteClick(field)}\n >\n {t(\"labels.delete\")}\n </MenuItem.Button>\n )}\n </Menu>\n </Dropdown>\n </div>\n ),\n },\n {\n key: \"kind\",\n dataIndex: \"kind\",\n title: t(\"titles.fieldKind\"),\n render: kind => DISPLAY_KINDS[kind],\n width: \"30%\",\n },\n {\n key: \"isRequired\",\n dataIndex: \"isRequired\",\n title: t(\"titles.required\"),\n render: boolVal => (boolVal ? t(\"common.yes\") : t(\"common.no\")),\n },\n];\n\nexport const renderMenuBarItems = ({\n items,\n isOwnerBased,\n selectedMenu,\n handleBlockClick,\n nameAliases,\n title,\n}) => {\n title = title.toLocaleLowerCase();\n\n if (isOwnerBased) {\n return items.map(item => (\n <MenuBar.Item\n active={selectedMenu === item.id}\n data-cy={`menubar-${slugify(item.name)}-menu-item`}\n key={item.id}\n label={humanize(item.name)}\n description={t(\"messages.manageTitleForResource\", {\n title,\n resource: humanize(item.name).toLocaleLowerCase(),\n })}\n onClick={handleBlockClick({ resource: item.id })}\n />\n ));\n }\n\n return (\n items.length > 1 &&\n items.map(item => {\n const label = nameAliases[item] || humanize(item);\n\n return (\n <MenuBar.Item\n active={selectedMenu === item}\n data-cy={`neeto-fields-${slugify(label)}-menu-item`}\n key={item}\n {...{ label }}\n description={t(\"messages.manageTitleForResource\", {\n title,\n resource: humanize(item).toLocaleLowerCase(),\n })}\n onClick={handleBlockClick({ resource: item })}\n />\n );\n })\n );\n};\n\nexport const renderStateFilterTabs = ({\n selectedState,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n}) => (\n <Tab className=\"mb-4\">\n <Tab.Item\n active={selectedState === FIELD_STATES.active}\n data-cy=\"menubar-active-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.active })}\n >\n {fieldStatesTaxonomy.active}({activeFieldsCount})\n </Tab.Item>\n <Tab.Item\n active={selectedState === FIELD_STATES.inactive}\n data-cy=\"menubar-inactive-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.inactive })}\n >\n {fieldStatesTaxonomy.inactive}({inactiveFieldsCount})\n </Tab.Item>\n </Tab>\n);\n\nexport const getResourceName = ({\n isOwnerBased,\n owners,\n selectedVal,\n nameAliases,\n}) => {\n if (isOwnerBased) {\n return findBy({ id: selectedVal }, owners)?.name;\n }\n\n return nameAliases[selectedVal] || selectedVal;\n};\n\nexport const getDashBoardTitle = ({\n resourceName,\n isSingleResource,\n title,\n}) => {\n const displayTitle = isSingleResource\n ? title\n : t(\"messages.titleForResource\", {\n title,\n resource: resourceName,\n });\n\n return humanize(displayTitle);\n};\n\nexport const renderNoDataHelpText = (title, url) => (\n <Trans\n i18nKey=\"helpTexts.noData\"\n values={{ title }}\n components={{\n a: (\n <Link\n className=\"neeto-ui-text-primary-600 underline\"\n data-cy=\"no-data-help-text-link\"\n target=\"_blank\"\n to={{ pathname: url }}\n />\n ),\n }}\n />\n);\n\nexport const getDeletionConfirmationMessage = ({\n resource,\n fieldName,\n affectedResourcesCount,\n}) =>\n affectedResourcesCount > 0 ? (\n <Trans\n i18nKey=\"messages.confirmDeleteWithCount\"\n values={{\n resource: pluralize(resource, affectedResourcesCount),\n name: fieldName,\n count: affectedResourcesCount,\n }}\n />\n ) : (\n <Trans i18nKey=\"messages.confirmDelete\" values={{ name: fieldName }} />\n );\n","import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery([QUERY_KEYS.CONFIGS], configsApi.fetchConfigs, {\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useDebounce, handleMetaClick } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n DEFAULT_PAGE_SIZE,\n FIELD_STATES,\n} from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [pageProps, setPageProps] = useState({\n pageIndex: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const debouncedSearchTerm = useDebounce(searchTerm.trim());\n const history = useHistory();\n const { t } = useTranslation();\n\n const { resource, state } = getQueryParams();\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n searchTerm: debouncedSearchTerm,\n ...pageProps,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n keepPreviousData: true,\n });\n\n const { mutate: deleteField, isLoading: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased ? menuItems?.[0]?.id : menuItems?.[0];\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchProps = {\n onChange: e => setSearchTerm(e.target.value),\n value: searchTerm,\n placeholder: t(\"placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n owners: menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources]);\n\n useEffect(() => {\n setPageProps({\n pageIndex: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import React from \"react\";\n\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Alert } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchDependencies } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { getDeletionConfirmationMessage } from \"./utils\";\n\nconst DeleteAlert = ({\n selectedField,\n ownerId,\n isDeleteAlertOpen,\n isDeleting,\n resourceTypeName,\n handleAlertClose,\n handleDelete,\n}) => {\n const { t } = useTranslation();\n\n const { data: { affectedResourcesCount } = {} } = useFetchDependencies(\n { fieldId: selectedField.id, ownerId },\n { enabled: isDeleteAlertOpen && isNotEmpty(selectedField) }\n );\n\n return (\n <Alert\n {...{ affectedResourcesCount }}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"labels.delete\")}\n title={t(\"titles.deleteField\")}\n message={getDeletionConfirmationMessage({\n resource: resourceTypeName,\n affectedResourcesCount,\n fieldName: selectedField?.name,\n })}\n onClose={handleAlertClose}\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default DeleteAlert;\n","import React from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n title = title.toLocaleLowerCase();\n const { pageIndex, pageSize } = pageProps;\n\n if (!isFetched && isEmpty(rowData)) {\n return <PageLoader />;\n }\n\n return (\n <TableWrapper>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n {...(helpDocUrl && {\n helpText: renderNoDataHelpText(title, helpDocUrl),\n })}\n title={t(\"messages.noFields\", { title })}\n primaryButtonProps={{\n label: t(\"labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <Table\n fixedHeight\n allowRowClick={false}\n {...{ columnData, rowData, totalCount }}\n currentPageNumber={pageIndex}\n defaultPageSize={pageSize}\n loading={isFetching}\n handlePageChange={pageIndex =>\n setPageProps({ ...pageProps, pageIndex })\n }\n />\n )}\n </TableWrapper>\n );\n};\n\nexport default FieldsTable;\n","import React from \"react\";\n\nimport { Info } from \"neetoicons\";\n\nimport { INFO_ICON_SIZE } from \"src/constants\";\n\nconst TitleWithHelpLink = ({ title, helpUrl }) => (\n <div className=\"flex items-center gap-x-1\">\n {title}\n {helpUrl && (\n <a href={helpUrl} rel=\"noreferrer\" target=\"_blank\">\n <Info size={INFO_ICON_SIZE} />\n </a>\n )}\n </div>\n);\n\nexport default TitleWithHelpLink;\n","import React from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst ActionBlock = ({ reorderable, setIsReorderPaneOpen, setIsPaneOpen }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-shrink-0 items-center gap-3\">\n <Button\n data-cy=\"neeto-fields-reorder-button\"\n disabled={!reorderable}\n label={t(\"labels.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n <Button\n data-cy=\"neeto-fields-add-button\"\n label={t(\"labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n </div>\n );\n};\n\nexport default ActionBlock;\n","import React from \"react\";\n\nimport { truncate } from \"neetocommons/pure\";\nimport NeetoUIHeader from \"neetomolecules/Header\";\n\nimport TitleWithHelpLink from \"components/commons/TitleWithHelpLink\";\n\nimport ActionBlock from \"./ActionBlock\";\n\nconst Header = ({\n searchProps,\n breadcrumbs,\n title,\n helpDocUrl,\n ...actionBlockProps\n}) => (\n <NeetoUIHeader\n size=\"small\"\n {...{ searchProps }}\n actionBlock={<ActionBlock {...actionBlockProps} />}\n breadcrumbs={[...breadcrumbs, { text: truncate(title, 50) }]}\n title={<TitleWithHelpLink helpUrl={helpDocUrl} {...{ title }} />}\n />\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nconst visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n};\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates);\n\n if (!activated && activationConstraint) {\n // Constraint validation\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n\n return;\n }\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import React from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { countBy } from \"neetocommons/pure\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index, fields }) => {\n const systemFieldsCount = countBy({ isSystem: true }, fields);\n\n const { attributes, listeners, setNodeRef, transform } = useSortable({\n id: field.id,\n data: { index },\n });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n {...attributes}\n {...listeners}\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n data-cy=\"reorder-field-block\"\n >\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1\">\n {index - systemFieldsCount + 1}\n </div>\n <div className=\"neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\">\n <Reorder />\n <div data-cy=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(FieldBlock);\n","import React, { useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isLoading: isSubmitting } = useReorderFields();\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n {\n enabled: !!resource && isOpen,\n onSuccess: ({ fields }) => {\n setFields(fields);\n initialStateRef.current = fields;\n },\n }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-cy=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-cy=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"messages.reorderFields\")}\n </Typography>\n <div className=\"flex flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, fields, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-cy=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-cy=\"cancel-button\"\n label={t(\"labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import React from \"react\";\n\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({ count }) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 mr-4 font-semibold\"\n data-cy=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"titles.fieldWithCount\", { count })}\n </Typography>\n }\n />\n );\n};\n\nexport default Subheader;\n","import React from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport { capitalize } from \"neetocommons/pure\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n}) => {\n const { t } = useTranslation();\n\n const title = capitalize(headerTitle || t(\"titles.field\", PLURAL));\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n });\n\n const headerProps = {\n reorderable,\n breadcrumbs,\n helpDocUrl,\n searchProps,\n setIsPaneOpen,\n setIsReorderPaneOpen,\n title: headerDisplayTitle,\n };\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showStateFilter && stateFilterTabs}\n {showCountSubheader && <Subheader {...{ count }} />}\n {isScreenLoading ? (\n <div className=\"flex h-screen w-full flex-grow items-center justify-center\">\n <PageLoader />\n </div>\n ) : (\n <FieldsTable\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n {...{\n columnData,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n title,\n }}\n />\n )}\n <FieldsPane\n additionalValidations={paneProps?.validations}\n {...{ allowedKinds, selectedField }}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { FIELD_VALUES_URL, FIELD_VALUE_URL } from \"src/constants\";\n\nconst fieldValueUrl = fieldValueId =>\n buildUrl(FIELD_VALUE_URL, { fieldValueId });\n\nconst create = payload => axios.post(FIELD_VALUES_URL, payload);\n\nconst fetch = payload => axios.get(FIELD_VALUES_URL, payload);\n\nconst destroy = ({ id, payload }) =>\n axios.delete(fieldValueUrl(id), { data: payload });\n\nconst update = ({ id, payload }) => axios.patch(fieldValueUrl(id), payload);\n\nconst fieldValuesApi = { create, fetch, destroy, update };\n\nexport default fieldValuesApi;\n","import { useMutation, useQuery, useQueryClient } from \"react-query\";\n\nimport fieldValuesApi from \"apis/field_values\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchFieldValues = params =>\n useQuery([QUERY_KEYS.FIELD_VALUES, params.resource], () =>\n fieldValuesApi.fetch({ params })\n );\n\nconst useCreateFieldValue = options => {\n const queryClient = useQueryClient();\n\n return useMutation(fieldValuesApi.create, {\n ...options,\n onSuccess: (...args) => {\n options?.onSuccess(...args);\n queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);\n },\n });\n};\n\nconst useUpdateFieldValue = options => {\n const queryClient = useQueryClient();\n\n return useMutation(fieldValuesApi.update, {\n ...options,\n onSuccess: (...args) => {\n options?.onSuccess(...args);\n queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);\n },\n });\n};\n\nconst useDeleteFieldValue = options => {\n const queryClient = useQueryClient();\n\n return useMutation(fieldValuesApi.destroy, {\n ...options,\n onSuccess: (...args) => {\n options?.onSuccess(...args);\n queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);\n },\n });\n};\n\nexport {\n useCreateFieldValue,\n useFetchFieldValues,\n useUpdateFieldValue,\n useDeleteFieldValue,\n};\n","import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"messages.blockNavigationAlert.title\"),\n message: t(\"messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\"messages.blockNavigationAlert.submitButtonLabel\"),\n cancelButtonLabel: t(\"messages.blockNavigationAlert.cancelButtonLabel\"),\n};\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Form as NeetoUIForm } from \"neetoui/formik\";\n\nimport { getInitialFieldValue } from \"components/utils\";\n\nconst FieldValueInputWrapper = ({\n field,\n fieldValues,\n children,\n onSubmit,\n className = \"\",\n}) => (\n <NeetoUIForm\n scrollToErrorField\n className={classnames(\"flex w-full\", className)}\n formikProps={{\n initialValues: getInitialFieldValue({\n field,\n fieldValues,\n isIndividualFieldForm: true,\n }),\n onSubmit,\n enableReinitialize: true,\n }}\n >\n {children}\n </NeetoUIForm>\n);\n\nexport default FieldValueInputWrapper;\n","import { isEmpty } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isFieldValueEmpty = (fieldKind, fieldValueData) => {\n if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);\n\n if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {\n return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);\n }\n\n return isEmpty(fieldValueData.value);\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocommons/pure\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { head, isEmpty, values as getValues, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport {\n useCreateFieldValue,\n useDeleteFieldValue,\n useUpdateFieldValue,\n} from \"hooks/reactQuery/useFieldValuesApi\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\nimport { isFieldValueEmpty } from \"./utils\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = { onSuccess: onMutationSuccess };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { mutate: createFieldValue } = useCreateFieldValue(queryOptions);\n const { mutate: updateFieldValue } = useUpdateFieldValue(queryOptions);\n const { mutate: deleteFieldValue } = useDeleteFieldValue(queryOptions);\n\n const handleSubmit = (field, values) => {\n const fieldValue = head(getValues(values));\n const payload = {\n fieldValue,\n resource: resourceType,\n resourceId,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n if (isFieldValueEmpty(field.kind, fieldValue.data)) {\n deleteFieldValue({ id: fieldValue.id, payload });\n } else {\n fieldValue.id\n ? updateFieldValue({ id: fieldValue.id, payload })\n : createFieldValue(payload);\n }\n };\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n {...{ field, fieldValues }}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["create","_typeof","toPrimitive","toPropertyKey","setPrototypeOf","assertThisInitialized","arrayLikeToArray","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","ownKeys$6","_objectSpread$6","ownKeys$5","_objectSpread$5","ownKeys$4","_objectSpread$4","ownKeys$3","_objectSpread$3","ownKeys$2","_objectSpread$2","ownKeys$1","_objectSpread$1","ownKeys","_objectSpread","noop","t","getDefaults","objectWithoutPropertiesLoose","defaultOptions","_excluded","HTML","iterableToArrayLimit","i18n","use","LanguageDetector","initReactI18next","init","resources","en","translation","fallbackLng","detection","order","services","formatter","addCached","lng","options","Intl","ListFormat","sanitizer","value","DOMPurify","sanitize","USE_PROFILES","html","boldEmails","map","email","concat","sanitizedEmails","split","format","arrayWithoutHoles","nonIterableSpread","DEFAULT_PAGE_SIZE","KINDS","text","number","monetary","singleOption","multiOption","date","time","dateRange","timeRange","textarea","textArea","person","checkbox","regex","integer","decimal","datetime","DISPLAY_KINDS","single_option","multi_option","date_range","time_range","text_area","FIELD_STATES","active","inactive","DEFAULT_FIELD_STATE_TAXONOMY","ALL_KINDS","values","isDateTime","kind","includes","isDropdown","require$$0","this","dateSchema","yup","nullable","isValueEmpty","isEmpty","trim","isCheckboxUnchecked","isArrayEmpty","buildSchemaAllowingEmptyValue","schema","mixed","test","name","isNotEmpty","isNotNil","validateSync","buildSchemaForRequiredInputs","isNil","ValidationError","buildSchema","_ref","isRequired","getBasicValidationSchema","_ref2","fieldData","string","array","of","regexPattern","condition","matches","cleanedRegex","helpMessage","buildFieldValidationSchema","_ref3","regexCondition","patternMatchingExp","conditionFlags","match","conditionWithoutFlags","replace","sanitizedFlags","_toConsumableArray","Set","join","startsWith","endsWith","slice","RegExp","validateField","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","fieldValue","fieldName","wrap","_callee$","_context","prev","next","object","shape","_defineProperty","validate","abrupt","t0","errors","stop","_x","apply","arguments","dateTimeToString","dateTime","dayjs","toString","useFormikFields","fieldId","id","data","individualSubmit","formRef","formRefs","disabled","_ref$isRequiredColumn","isRequiredColumnName","props","_objectWithoutProperties","formikContext","useFormikContext","submitForm","dirty","isSubmitting","fieldPath","escapeString","fieldValuePath","renameKeys","current","_useField","useField","_useField2","_slicedToArray","formikFieldProps","meta","helpers","debouncedSubmitForm","useFuncDebounce","handleSubmit","setValue","getValueForField","findBy","_value","optionId","useEffect","touched","setTouched","fieldProps","error","label","capitalize","labelProps","required","undefined","getPopupContainer","prop","Checkbox","_useFormikFields","React","createElement","NeetoUICheckbox","_extends","checked","onChange","target","DateOrTime","handleChange","TimePicker","use12Hours","DatePicker","showTime","timeFormat","MultiOption","Select","isMulti","isSearchable","strategy","selectedOptions","pluck","Number","showSubmitButton","Input","type","suffix","Button","joinHyphenCase","icon","Check","style","onClick","RangePicker","begin","end","SingleOption","isClearable","option","Text","TextArea","_useTranslation","useTranslation","Fragment","Textarea","className","size","standardComponents","TextInput","TextAreaInput","NumberInput","DateOrTimeInput","SingleOptionInput","MultiOptionInput","RangePickerInput","getFieldInput","field","_ref$customComponents","customComponents","Component","removeItemsWithNullData","fieldValues","filter","item","removeNoiseFromValues","pick","transformValues","formikValues","fields","allFieldValues","clone","neetoFieldValues","forEach","push","cleanedFieldValues","pipe","fieldValuesAttributes","getDefaultInitialValue","getInitialFieldValue","_ref4$fieldValues","_ref4$isIndividualFie","isIndividualFieldForm","existingFieldValueData","keyInData","newFieldValueData","getAllInitialFieldValues","length","getNonSystemFields","mergeInitialValues","_ref7","initialValues","initialValue","mergeAll","omit","filterBy","isSystem","charCode","charCodeAt","neetoFieldsUtils","FieldInputs","Field","key","Typography","NEETO_FIELDS_URL","FIELDS_URL","FIELD_VALUES_URL","FIELD_VALUE_URL","FIELD_URL","DEPENDENCIES_URL","FIELDS_REORDER_URL","CONFIGS_URL","INFO_ICON_SIZE","fieldUrl","buildUrl","dependenciesUrl","fetch","resourceType","ownerId","state","searchTerm","pageProps","axios","get","params","payload","post","show","destroy","update","put","reorder","patch","dependencies","fieldsApi","QUERY_KEYS","FIELDS","FIELD_VALUES","CONFIGS","DEPENDENCIES","DEFAULT_STALE_TIME","useFetchFields","_ref$prefixQueryKeys","prefixQueryKeys","_ref$pageProps","useQuery","staleTime","useCreateField","queryClient","useQueryClient","useMutation","onSuccess","_options$onSuccess","_len","args","Array","_key","call","invalidateQueries","useShowField","queryKey","useFetchDependencies","useUpdateField","_options$onSuccess2","_len2","_key2","useDestroyField","_options$onSuccess3","_len3","_key3","useReorderFields","arrangeOptionsDisplayOrder","index","displayOrder","buildPayload","formValues","_ref$resourceType","_ref$ownerId","isRegex","isAdditionalDataNeeded","ADDITIONAL_DATA_NEEDED_FIELD_KINDS","getPermittedKinds","allowedKinds","selectedKind","filteredKinds","FIELD_KINDS","permittedKinds","group","generateValidationSchema","additionalValidations","BASIC_FIELD_FORM_VALIDATIONS","renderFormFooter","onClose","loading","_ref3$dirty","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","getDefaultOption","uuidv4","PERMITTED_REGEX_PATTERN","ADVANCED_REGEX_ASSERTION_PATTERN","regexValidationSchema","message","lastIndex","lastIndexOf","substring","search","_unused","dropDownOptionsValidationSchema","min","INITIAL_FIELDS","toLabelAndValue","DEFAULT_REGEX_DATA","when","is","then","AdditionalInputs","_useFormikContext","_useFormikContext$val","removeOption","arrayHelpers","remove","addOption","FieldArray","Label","isArray","_","placeholder","Delete","fullWidth","FieldForm","chosenKind","_ref$kindSelectOption","kindSelectOptions","_ref$isSystem","_ref$hideRequiredSwit","hideRequiredSwitch","children","setFieldValue","handleKindChange","Body","isDisabled","Switch","component","Add","_ref$allowedKinds","onMutationSuccess","_useCreateField","createField","mutate","isLoading","Header","Form","formikProps","validationSchema","onSubmit","Edit","_ref$additionalValida","_ref$initialValues","_useShowField","_useShowField$data","_useShowField$data2","_useShowField$data2$f","_useUpdateField","updateField","PageLoader","assoc","enableReinitialize","FieldsPane","isOpen","_ref$selectedField","selectedField","require","Menu","Dropdown","MenuItem","buildDefaultColumns","onDeleteClick","onEditClick","dataIndex","title","width","render","buttonStyle","MenuHorizontal","buttonProps","boolVal","renderMenuBarItems","items","isOwnerBased","selectedMenu","handleBlockClick","nameAliases","toLocaleLowerCase","MenuBar","Item","slugify","humanize","description","resource","renderStateFilterTabs","selectedState","fieldStatesTaxonomy","activeFieldsCount","inactiveFieldsCount","Tab","getResourceName","owners","selectedVal","_findBy","getDashBoardTitle","resourceName","isSingleResource","displayTitle","renderNoDataHelpText","url","Trans","i18nKey","components","a","Link","to","pathname","getDeletionConfirmationMessage","_ref6","affectedResourcesCount","pluralize","count","fetchConfigs","configsApi","useFetchConfigs","useFieldsDashboard","buildColumnData","showStateFilter","_useState","useState","_useState2","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","setSelectedField","_useState9","_useState10","setSearchTerm","_useState11","pageIndex","DEFAULT_PAGE_INDEX","pageSize","_useState12","setPageProps","debouncedSearchTerm","useDebounce","history","useHistory","_getQueryParams","getQueryParams","_useFetchConfigs","enabled","_useFetchConfigs$data","_useFetchConfigs$data2","_useFetchConfigs$data3","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","fieldParams","_useFetchFields","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","deleteField","isDeleting","handleDelete","handleClosePane","handleEditButtonClick","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","columnData","handleMetaClick","menuItems","handleURLWithDefaultValues","queryParams","_menuItems$","any","isScreenLoading","showCountSubheader","searchProps","e","isMenuBarNeeded","useMemo","headerDisplayTitle","stateFilterTabs","menuBarItems","DeleteAlert","resourceTypeName","_useFetchDependencies","_useFetchDependencies2","_useFetchDependencies3","Alert","submitButtonLabel","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","TableWrapper","NoData","helpText","primaryButtonProps","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","TitleWithHelpLink","helpUrl","href","rel","Info","breadcrumbs","actionBlockProps","NeetoUIHeader","actionBlock","truncate","Menubar","NeetoUIMenuBar","showMenu","ID_PREFIX","ID_PREFIX$1","FieldBlock","systemFieldsCount","countBy","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","CSS","Transform","ref","Reorder","memo","ReorderPane","setFields","initialStateRef","useRef","_useReorderFields","reorderField","allFields","handleDragEnd","over","arrayMove","handleReorderSave","weight","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","verticalListSortingStrategy","Subheader","NeetoUISubHeader","leftActionBlock","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","_ref$nameAliases","headerTitle","PLURAL","_useFieldsDashboard","headerProps","Container","validations","fieldValueUrl","fieldValueId","fieldValuesApi","useCreateFieldValue","useUpdateFieldValue","useDeleteFieldValue","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","cancelButtonLabel","BlockNavigation","blockNavigation","blockNavigationAlertProps","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","FieldValueInputWrapper","_ref$className","NeetoUIForm","scrollToErrorField","classnames","isFieldValueEmpty","fieldKind","fieldValueData","FieldValuesContainer","propFields","resourceId","_ref$showBorder","showBorder","_ref$disabled","fieldClassName","_ref$onMutationSucces","_ref$blockNavigation","_ref$blockNavigationA","queryOptions","fetchedFields","_useCreateFieldValue","createFieldValue","_useUpdateFieldValue","updateFieldValue","_useDeleteFieldValue","deleteFieldValue","head","getValues","Spinner","BlockNavigationAlert"],"mappings":"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AAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,C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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/dompurify/dist/purify.es.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/void-elements/index.js","../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","../node_modules/html-escaper/esm/index.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/Trans.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/react-i18next/dist/es/useTranslation.js","../app/javascript/src/common/i18n.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../app/javascript/src/components/FieldsDashBoard/constants.js","../app/javascript/src/hooks/utils.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/dayjs/dayjs.min.js","../app/javascript/src/components/commons/FieldInputs/utils.js","../app/javascript/src/hooks/useFormikFields.js","../app/javascript/src/components/commons/FieldInputs/Checkbox.jsx","../app/javascript/src/components/commons/FieldInputs/DateOrTime.jsx","../app/javascript/src/components/commons/FieldInputs/MultiOption.jsx","../app/javascript/src/components/commons/FieldInputs/Number.jsx","../app/javascript/src/components/commons/FieldInputs/RangePicker.jsx","../app/javascript/src/components/commons/FieldInputs/SingleOption.jsx","../app/javascript/src/components/commons/FieldInputs/Text.jsx","../app/javascript/src/components/commons/FieldInputs/TextArea.jsx","../app/javascript/src/components/utils.js","../app/javascript/src/components/FieldInputs.jsx","../app/javascript/src/constants/index.js","../app/javascript/src/apis/fields.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useFieldsApi.js","../app/javascript/src/components/FieldsPane/utils.jsx","../app/javascript/src/components/FieldsPane/constants.js","../app/javascript/src/components/FieldsPane/AdditionalInputs.jsx","../app/javascript/src/components/FieldsPane/FieldForm.jsx","../app/javascript/src/components/FieldsPane/Add.jsx","../app/javascript/src/components/FieldsPane/Edit.jsx","../app/javascript/src/components/FieldsPane/index.jsx","../node_modules/pluralize/pluralize.js","../app/javascript/src/components/FieldsDashBoard/utils.jsx","../app/javascript/src/apis/configs.js","../app/javascript/src/hooks/reactQuery/useConfigsApi.js","../app/javascript/src/hooks/useFieldsDashboard.js","../app/javascript/src/components/FieldsDashBoard/DeleteAlert.jsx","../app/javascript/src/components/FieldsDashBoard/FieldsTable.jsx","../app/javascript/src/components/commons/TitleWithHelpLink.jsx","../app/javascript/src/components/FieldsDashBoard/Header/ActionBlock.jsx","../app/javascript/src/components/FieldsDashBoard/Header/index.jsx","../app/javascript/src/components/FieldsDashBoard/Menubar.jsx","../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js","../node_modules/@dnd-kit/core/dist/core.esm.js","../node_modules/@dnd-kit/sortable/dist/sortable.esm.js","../app/javascript/src/components/FieldsDashBoard/ReorderPane/FieldBlock.jsx","../app/javascript/src/components/FieldsDashBoard/ReorderPane/index.jsx","../app/javascript/src/components/FieldsDashBoard/SubHeader.jsx","../app/javascript/src/components/FieldsDashBoard/index.jsx","../app/javascript/src/apis/field_values.js","../app/javascript/src/hooks/reactQuery/useFieldValuesApi.js","../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../app/javascript/src/components/FieldValuesContainer/constants.js","../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../app/javascript/src/components/FieldValuesContainer/FieldValueInputWrapper.jsx","../app/javascript/src/components/FieldValuesContainer/utils.js","../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["/*! @license DOMPurify 3.0.2 | (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.2/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\n\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n}\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n}\n/* Add properties to a lookup table */\n\nfunction addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase;\n\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n\n while (l--) {\n let element = array[l];\n\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n/* Shallow clone an object */\n\nfunction clone(object) {\n const newObject = create(null);\n\n for (const [property, value] of entries(object)) {\n newObject[property] = value;\n }\n\n return newObject;\n}\n/* This method automatically checks if the prop is function\n * or getter and behaves accordingly. */\n\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nconst 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']); // SVG\n\nconst 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']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\n\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']); // Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\n\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst 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', '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', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', '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', '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', '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', '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', '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']);\nconst 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']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n ERB_EXPR: ERB_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR,\n DATA_ATTR: DATA_ATTR,\n ARIA_ATTR: ARIA_ATTR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n DOCTYPE_NAME: DOCTYPE_NAME\n});\n\nconst getGlobal = () => typeof window === 'undefined' ? null : window;\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n\n\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n } // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n\n\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n const DOMPurify = root => createDOMPurify(root);\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '3.0.2';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n let {\n document\n } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined';\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n\n let CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n let SAFE_FOR_TEMPLATES = false;\n /* Decide if document with <html>... should be returned */\n\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n /* Parsing of strict XHTML documents */\n\n let PARSER_MEDIA_TYPE;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc;\n /* Keep a reference to config to pass to hooks */\n\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n\n const _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...text]);\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n\n const ALL_SVG_TAGS = addToSet({}, svg$1);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n const ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n } // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n\n\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n } // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n\n\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n } // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n\n\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n } // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n\n\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n } // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n\n\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n } // For XHTML and XML documents that support custom namespaces\n\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n } // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n\n\n return false;\n };\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n\n\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n\n\n const _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name); // We void attribute values for unremovable \"is\"\" attributes\n\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n\n\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n\n\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {// Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n\n\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n\n\n const _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n\n\n const _isClobbered = function _isClobbered(elm) {\n 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');\n };\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n\n\n const _isNode = function _isNode(object) {\n return typeof Node === 'object' ? object instanceof Node : object && typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n\n\n const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n\n\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeElements', currentNode, null);\n /* Check if element is clobbered or can clobber */\n\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Now let's check the element's type and name */\n\n\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n\n\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Remove element if anything forbids its presence */\n\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;\n }\n /* Keep content except for bad-listed elements */\n\n\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check whether element has a valid namespace */\n\n\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Make sure that older browsers don't get noscript mXSS */\n\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Sanitize element content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR, ' ');\n content = stringReplace(content, ERB_EXPR, ' ');\n content = stringReplace(content, TMPLIT_EXPR, ' ');\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n\n\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n\n\n 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]) {\n if ( // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _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\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n 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 {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (!value) ; else {\n return false;\n }\n\n return true;\n };\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n\n\n const _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n return tagName.indexOf('-') > 0;\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n\n\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n let attr;\n let value;\n let lcName;\n let l;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n\n while (l--) {\n attr = attributes[l];\n const {\n name,\n namespaceURI\n } = attr;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n /* Execute a hook if present */\n\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n\n\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n\n\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n\n\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR, ' ');\n value = stringReplace(value, ERB_EXPR, ' ');\n value = stringReplace(value, TMPLIT_EXPR, ' ');\n }\n /* Is `value` valid for this attribute? */\n\n\n const lcTag = transformCaseFunc(currentNode.nodeName);\n\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n\n\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode); // Prefix the value and later re-create the attribute with the sanitized value\n\n\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Handle attributes that require Trusted Types */\n\n\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n value = trustedTypesPolicy.createHTML(value);\n break;\n\n case 'TrustedScriptURL':\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n\n\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n\n\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode;\n\n const shadowIterator = _createIterator(fragment);\n /* Execute a hook if present */\n\n\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n /* Deep shadow DOM detected */\n\n\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(shadowNode);\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n\n\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body;\n let importedNode;\n let currentNode;\n let returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n\n IS_EMPTY_INPUT = !dirty;\n\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n\n\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n\n\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n\n\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n\n\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n\n\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n\n\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n\n\n const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n\n\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n /* Shadow DOM detected, sanitize it */\n\n\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(currentNode);\n }\n /* If we sanitized `dirty` in-place, return it. */\n\n\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n\n\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmod) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n\n\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n\n SET_CONFIG = true;\n };\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n\n\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n\n\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n\n\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n\n\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n\n\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n\n\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.js.map\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\n\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n// eslint-disable-next-line no-control-regex\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\nvar serializeCookie = function serializeCookie(name, val, options) {\n var opt = options || {};\n opt.path = opt.path || '/';\n var value = encodeURIComponent(val);\n var str = \"\".concat(name, \"=\").concat(value);\n if (opt.maxAge > 0) {\n var maxAge = opt.maxAge - 0;\n if (Number.isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += \"; Max-Age=\".concat(Math.floor(maxAge));\n }\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n str += \"; Domain=\".concat(opt.domain);\n }\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n str += \"; Path=\".concat(opt.path);\n }\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n str += \"; Expires=\".concat(opt.expires.toUTCString());\n }\n if (opt.httpOnly) str += '; HttpOnly';\n if (opt.secure) str += '; Secure';\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string' ? opt.sameSite.toLowerCase() : opt.sameSite;\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n return str;\n};\nvar cookie = {\n create: function create(name, value, minutes, domain) {\n var cookieOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n path: '/',\n sameSite: 'strict'\n };\n if (minutes) {\n cookieOptions.expires = new Date();\n cookieOptions.expires.setTime(cookieOptions.expires.getTime() + minutes * 60 * 1000);\n }\n if (domain) cookieOptions.domain = domain;\n document.cookie = serializeCookie(name, encodeURIComponent(value), cookieOptions);\n },\n read: function read(name) {\n var nameEQ = \"\".concat(name, \"=\");\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n remove: function remove(name) {\n this.create(name, '', -1);\n }\n};\nvar cookie$1 = {\n name: 'cookie',\n lookup: function lookup(options) {\n var found;\n if (options.lookupCookie && typeof document !== 'undefined') {\n var c = cookie.read(options.lookupCookie);\n if (c) found = c;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupCookie && typeof document !== 'undefined') {\n cookie.create(options.lookupCookie, lng, options.cookieMinutes, options.cookieDomain, options.cookieOptions);\n }\n }\n};\n\nvar querystring = {\n name: 'querystring',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var search = window.location.search;\n if (!window.location.search && window.location.hash && window.location.hash.indexOf('?') > -1) {\n search = window.location.hash.substring(window.location.hash.indexOf('?'));\n }\n var query = search.substring(1);\n var params = query.split('&');\n for (var i = 0; i < params.length; i++) {\n var pos = params[i].indexOf('=');\n if (pos > 0) {\n var key = params[i].substring(0, pos);\n if (key === options.lookupQuerystring) {\n found = params[i].substring(pos + 1);\n }\n }\n }\n }\n return found;\n }\n};\n\nvar hasLocalStorageSupport = null;\nvar localStorageAvailable = function localStorageAvailable() {\n if (hasLocalStorageSupport !== null) return hasLocalStorageSupport;\n try {\n hasLocalStorageSupport = window !== 'undefined' && window.localStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.localStorage.setItem(testKey, 'foo');\n window.localStorage.removeItem(testKey);\n } catch (e) {\n hasLocalStorageSupport = false;\n }\n return hasLocalStorageSupport;\n};\nvar localStorage = {\n name: 'localStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupLocalStorage && localStorageAvailable()) {\n var lng = window.localStorage.getItem(options.lookupLocalStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupLocalStorage && localStorageAvailable()) {\n window.localStorage.setItem(options.lookupLocalStorage, lng);\n }\n }\n};\n\nvar hasSessionStorageSupport = null;\nvar sessionStorageAvailable = function sessionStorageAvailable() {\n if (hasSessionStorageSupport !== null) return hasSessionStorageSupport;\n try {\n hasSessionStorageSupport = window !== 'undefined' && window.sessionStorage !== null;\n var testKey = 'i18next.translate.boo';\n window.sessionStorage.setItem(testKey, 'foo');\n window.sessionStorage.removeItem(testKey);\n } catch (e) {\n hasSessionStorageSupport = false;\n }\n return hasSessionStorageSupport;\n};\nvar sessionStorage = {\n name: 'sessionStorage',\n lookup: function lookup(options) {\n var found;\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n var lng = window.sessionStorage.getItem(options.lookupSessionStorage);\n if (lng) found = lng;\n }\n return found;\n },\n cacheUserLanguage: function cacheUserLanguage(lng, options) {\n if (options.lookupSessionStorage && sessionStorageAvailable()) {\n window.sessionStorage.setItem(options.lookupSessionStorage, lng);\n }\n }\n};\n\nvar navigator$1 = {\n name: 'navigator',\n lookup: function lookup(options) {\n var found = [];\n if (typeof navigator !== 'undefined') {\n if (navigator.languages) {\n // chrome only; not an array, so can't use .push.apply instead of iterating\n for (var i = 0; i < navigator.languages.length; i++) {\n found.push(navigator.languages[i]);\n }\n }\n if (navigator.userLanguage) {\n found.push(navigator.userLanguage);\n }\n if (navigator.language) {\n found.push(navigator.language);\n }\n }\n return found.length > 0 ? found : undefined;\n }\n};\n\nvar htmlTag = {\n name: 'htmlTag',\n lookup: function lookup(options) {\n var found;\n var htmlTag = options.htmlTag || (typeof document !== 'undefined' ? document.documentElement : null);\n if (htmlTag && typeof htmlTag.getAttribute === 'function') {\n found = htmlTag.getAttribute('lang');\n }\n return found;\n }\n};\n\nvar path = {\n name: 'path',\n lookup: function lookup(options) {\n var found;\n if (typeof window !== 'undefined') {\n var language = window.location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (language instanceof Array) {\n if (typeof options.lookupFromPathIndex === 'number') {\n if (typeof language[options.lookupFromPathIndex] !== 'string') {\n return undefined;\n }\n found = language[options.lookupFromPathIndex].replace('/', '');\n } else {\n found = language[0].replace('/', '');\n }\n }\n }\n return found;\n }\n};\n\nvar subdomain = {\n name: 'subdomain',\n lookup: function lookup(options) {\n // If given get the subdomain index else 1\n var lookupFromSubdomainIndex = typeof options.lookupFromSubdomainIndex === 'number' ? options.lookupFromSubdomainIndex + 1 : 1;\n // get all matches if window.location. is existing\n // first item of match is the match itself and the second is the first group macht which sould be the first subdomain match\n // is the hostname no public domain get the or option of localhost\n var language = typeof window !== 'undefined' && window.location && window.location.hostname && window.location.hostname.match(/^(\\w{2,5})\\.(([a-z0-9-]{1,63}\\.[a-z]{2,6})|localhost)/i);\n\n // if there is no match (null) return undefined\n if (!language) return undefined;\n // return the given group match\n return language[lookupFromSubdomainIndex];\n }\n};\n\nfunction getDefaults() {\n return {\n order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag'],\n lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng',\n lookupSessionStorage: 'i18nextLng',\n // cache user language\n caches: ['localStorage'],\n excludeCacheFor: ['cimode']\n // cookieMinutes: 10,\n // cookieDomain: 'myDomain'\n };\n}\nvar Browser = /*#__PURE__*/function () {\n function Browser(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Browser);\n this.type = 'languageDetector';\n this.detectors = {};\n this.init(services, options);\n }\n _createClass(Browser, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = defaults(options, this.options || {}, getDefaults());\n\n // backwards compatibility\n if (this.options.lookupFromUrlIndex) this.options.lookupFromPathIndex = this.options.lookupFromUrlIndex;\n this.i18nOptions = i18nOptions;\n this.addDetector(cookie$1);\n this.addDetector(querystring);\n this.addDetector(localStorage);\n this.addDetector(sessionStorage);\n this.addDetector(navigator$1);\n this.addDetector(htmlTag);\n this.addDetector(path);\n this.addDetector(subdomain);\n }\n }, {\n key: \"addDetector\",\n value: function addDetector(detector) {\n this.detectors[detector.name] = detector;\n }\n }, {\n key: \"detect\",\n value: function detect(detectionOrder) {\n var _this = this;\n if (!detectionOrder) detectionOrder = this.options.order;\n var detected = [];\n detectionOrder.forEach(function (detectorName) {\n if (_this.detectors[detectorName]) {\n var lookup = _this.detectors[detectorName].lookup(_this.options);\n if (lookup && typeof lookup === 'string') lookup = [lookup];\n if (lookup) detected = detected.concat(lookup);\n }\n });\n if (this.services.languageUtils.getBestMatchFromCodes) return detected; // new i18next v19.5.0\n return detected.length > 0 ? detected[0] : null; // a little backward compatibility\n }\n }, {\n key: \"cacheUserLanguage\",\n value: function cacheUserLanguage(lng, caches) {\n var _this2 = this;\n if (!caches) caches = this.options.caches;\n if (!caches) return;\n if (this.options.excludeCacheFor && this.options.excludeCacheFor.indexOf(lng) > -1) return;\n caches.forEach(function (cacheName) {\n if (_this2.detectors[cacheName]) _this2.detectors[cacheName].cacheUserLanguage(lng, _this2.options);\n });\n }\n }]);\n return Browser;\n}();\nBrowser.type = 'languageDetector';\n\nexport { Browser as default };\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","/**\n * Copyright (C) 2017-present by Andrea Giammarchi - @WebReflection\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nvar replace = ''.replace;\n\nvar ca = /[&<>'\"]/g;\nvar es = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;\n\nvar esca = {\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"'\n};\nvar unes = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"'\n};\n\nexport function escape(es) {\n return replace.call(es, ca, pe);\n};\n\nexport function unescape(un) {\n return replace.call(un, es, cape);\n};\n\nfunction pe(m) {\n return esca[m];\n}\n\nfunction cape(m) {\n return unes[m];\n}\n","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { useContext } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { unescape } from 'html-escaper';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node && node.children ? node.children : node.props && node.props.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return React.isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (React.isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"</\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"</\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !React.isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"</0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = React.isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(React.createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(React.createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"</\").concat(node.name, \">\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(React.cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(React.createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? React.createElement(useAsParent, additionalProps, content) : content;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, namespaces.join()]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import DOMPurify from \"dompurify\";\nimport i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { en } from \"translations\";\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: {\n en: { translation: en },\n },\n fallbackLng: \"en\",\n detection: { order: [\"navigator\"] },\n });\n\ni18n.services.formatter.addCached(\"boldList\", (lng, options) => {\n const formatter = new Intl.ListFormat(lng, options);\n const sanitizer = value =>\n DOMPurify.sanitize(value, { USE_PROFILES: { html: true } });\n\n return value => {\n const boldEmails = value.map(email => `<strong>${email}</strong>`);\n const sanitizedEmails = sanitizer(boldEmails).split(\",\");\n\n return formatter.format(sanitizedEmails);\n };\n});\n\nexport default i18n;\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const DEFAULT_PAGE_SIZE = 12;\n\nexport const KINDS = {\n text: \"text\",\n number: \"number\",\n monetary: \"monetary\",\n singleOption: \"single_option\",\n multiOption: \"multi_option\",\n date: \"date\",\n time: \"time\",\n dateRange: \"date_range\",\n timeRange: \"time_range\",\n textarea: \"textarea\",\n textArea: \"text_area\",\n person: \"person\",\n checkbox: \"checkbox\",\n regex: \"regex\",\n integer: \"integer\",\n decimal: \"decimal\",\n datetime: \"datetime\",\n};\n\nexport const DISPLAY_KINDS = {\n text: t(\"fields.kinds.text\"),\n number: t(\"fields.kinds.number\"),\n monetary: t(\"fields.kinds.monetary\"),\n single_option: t(\"fields.kinds.singleOption\"),\n multi_option: t(\"fields.kinds.multiOption\"),\n date: t(\"fields.kinds.date\"),\n time: t(\"fields.kinds.time\"),\n date_range: t(\"fields.kinds.dateRange\"),\n time_range: t(\"fields.kinds.timeRange\"),\n textarea: t(\"fields.kinds.textarea\"),\n text_area: t(\"fields.kinds.textArea\"),\n person: t(\"fields.kinds.person\"),\n checkbox: t(\"fields.kinds.checkbox\"),\n regex: t(\"fields.kinds.regex\"),\n integer: t(\"fields.kinds.integer\"),\n decimal: t(\"fields.kinds.decimal\"),\n datetime: t(\"fields.kinds.datetime\"),\n};\n\nexport const FIELD_STATES = {\n active: \"active\",\n inactive: \"inactive\",\n};\n\nexport const DEFAULT_FIELD_STATE_TAXONOMY = {\n active: \"Active\",\n inactive: \"Inactive\",\n};\n\nexport const ALL_KINDS = values(KINDS);\n","export const isDateTime = kind =>\n [\"date\", \"time\", \"date_range\", \"time_range\", \"datetime\"].includes(kind);\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { isEmpty, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nconst dateSchema = yup.date().nullable();\n\nconst isValueEmpty = value =>\n typeof value === \"string\" && isEmpty(value.trim());\n\nconst isCheckboxUnchecked = (kind, value) => kind === KINDS.checkbox && !value;\n\nconst isArrayEmpty = (kind, value) =>\n [\n KINDS.multiOption,\n KINDS.singleOption,\n KINDS.dateRange,\n KINDS.timeRange,\n ].includes(kind) && isEmpty(value);\n\nconst buildSchemaAllowingEmptyValue = schema =>\n yup.mixed().test({\n name: \"validate-if-not-empty\",\n test: value => {\n if (isNotEmpty(value) && isNotNil(value)) {\n schema.validateSync(value);\n }\n\n return true;\n },\n });\n\nconst buildSchemaForRequiredInputs = (schema, kind) =>\n yup.mixed().test({\n name: \"validate-required-inputs\",\n test: value => {\n if (\n isNil(value) ||\n isValueEmpty(value) ||\n isArrayEmpty(kind, value) ||\n isCheckboxUnchecked(kind, value)\n ) {\n throw new yup.ValidationError(t(\"validations.thisIsRequired\"));\n }\n schema.validateSync(value);\n\n return true;\n },\n });\n\nconst buildSchema = ({ schema, isRequired, kind }) =>\n isRequired\n ? buildSchemaForRequiredInputs(schema, kind)\n : buildSchemaAllowingEmptyValue(schema);\n\nconst getBasicValidationSchema = ({ kind, fieldData }) => {\n switch (kind) {\n case KINDS.singleOption:\n case KINDS.textarea:\n case KINDS.text: {\n return yup.string().trim().nullable();\n }\n\n case KINDS.number:\n case KINDS.monetary:\n case KINDS.decimal: {\n return yup.number(t(\"validations.notAValidNumber\")).nullable();\n }\n case KINDS.integer: {\n return yup.number().nullable().integer(t(\"validations.notAValidInteger\"));\n }\n\n case KINDS.date:\n case KINDS.time: {\n return dateSchema;\n }\n case KINDS.multiOption: {\n return yup.array().of(yup.string()).nullable();\n }\n\n case KINDS.dateRange:\n case KINDS.timeRange: {\n return yup.array().of(dateSchema).nullable();\n }\n\n case KINDS.checkbox:\n return yup.boolean().nullable();\n\n case KINDS.regex: {\n const regexPattern = fieldData?.condition;\n\n return yup\n .string()\n .nullable()\n .matches(cleanedRegex(regexPattern), fieldData?.helpMessage);\n }\n\n default:\n return yup.mixed();\n }\n};\n\nconst buildFieldValidationSchema = ({ kind, isRequired, fieldData }) => {\n const schema = getBasicValidationSchema({ kind, fieldData });\n\n return buildSchema({ schema, isRequired, kind });\n};\n\nconst cleanedRegex = regexCondition => {\n const patternMatchingExp = /[igmsyu]*$/;\n const conditionFlags = regexCondition.match(patternMatchingExp)[0];\n let conditionWithoutFlags = regexCondition.replace(patternMatchingExp, \"\");\n const sanitizedFlags = [...new Set(conditionFlags)].join(\"\");\n if (\n conditionWithoutFlags.startsWith(\"/\") &&\n conditionWithoutFlags.endsWith(\"/\")\n ) {\n conditionWithoutFlags = conditionWithoutFlags.slice(1, -1);\n }\n\n return RegExp(conditionWithoutFlags, sanitizedFlags);\n};\n\nexport const validateField = async ({\n fieldValue,\n fieldName,\n isRequired,\n kind,\n fieldData,\n}) => {\n try {\n await yup\n .object()\n .shape({\n [fieldName]: buildFieldValidationSchema({\n kind,\n isRequired,\n fieldData,\n }),\n })\n .validate({ [fieldName]: fieldValue });\n\n return false;\n } catch (e) {\n return e.errors[0];\n }\n};\n\nexport const dateTimeToString = dateTime =>\n (dateTime && dayjs(dateTime).toString()) || \"\";\n","import { useEffect } from \"react\";\n\nimport { useField, useFormikContext } from \"formik\";\nimport { capitalize, findBy, renameKeys } from \"neetocist\";\nimport { useFuncDebounce } from \"neetocommons/react-utils\";\nimport { isNil, isNotNil, prop } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport { escapeString } from \"components/utils\";\n\nimport { isDateTime, isDropdown } from \"./utils\";\n\nimport { validateField } from \"../components/commons/FieldInputs/utils\";\n\nconst useFormikFields = ({\n name,\n id: fieldId,\n kind,\n data: fieldData,\n individualSubmit,\n formRef,\n formRefs,\n disabled,\n isRequiredColumnName = \"isRequired\",\n ...props\n}) => {\n const formikContext = useFormikContext();\n\n const { submitForm, dirty, isSubmitting } = formikContext;\n\n const fieldPath = escapeString(`${name}-${fieldId}`);\n const fieldName = kind === KINDS.multiOption ? \"values\" : \"value\";\n const fieldValuePath = `${fieldPath}.data.${fieldName}`;\n\n isDropdown(kind) && (fieldData = renameKeys({ id: \"value\" }, fieldData));\n\n if (isNil(formRef) && isNotNil(formRefs)) {\n formRefs.current[fieldValuePath] = formikContext;\n } else if (isNil(formRefs) && isNotNil(formRef)) {\n formRef.current = formikContext;\n }\n\n const [formikFieldProps, meta, helpers] = useField({\n name: fieldValuePath,\n validate: fieldValue =>\n validateField({\n fieldValue,\n fieldName: name,\n isRequired: props[isRequiredColumnName],\n kind,\n fieldData,\n }),\n });\n\n const debouncedSubmitForm = useFuncDebounce(submitForm, 100);\n\n const handleSubmit = value => {\n isNotNil(value) && helpers.setValue(value);\n individualSubmit && debouncedSubmitForm();\n };\n\n const getValueForField = value => {\n if (kind === KINDS.singleOption) {\n value = findBy({ value }, fieldData);\n } else if (kind === KINDS.multiOption) {\n value = value?.map(optionId => findBy({ value: optionId }, fieldData));\n }\n\n return value || \"\";\n };\n\n useEffect(() => {\n if (isSubmitting && !meta.touched) {\n helpers.setTouched(true);\n }\n }, [isSubmitting]);\n\n return {\n dirty,\n handleSubmit,\n fieldProps: {\n ...formikFieldProps,\n error: individualSubmit ? meta.error : meta.touched && meta.error,\n value: getValueForField(formikFieldProps.value),\n label: capitalize(name),\n labelProps: { required: props[isRequiredColumnName] },\n disabled,\n //conditional props\n options: isDropdown(kind) ? fieldData : undefined,\n getPopupContainer: isDateTime(kind) ? prop(\"parentElement\") : undefined,\n },\n };\n};\n\nexport default useFormikFields;\n","import React from \"react\";\n\nimport { Checkbox as NeetoUICheckbox } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Checkbox = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <NeetoUICheckbox\n {...fieldProps}\n checked={fieldProps.value}\n onChange={({ target: { checked } }) => handleSubmit(checked)}\n />\n );\n};\nexport default Checkbox;\n","import React from \"react\";\n\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nconst DateOrTime = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = dateTime => handleSubmit(dateTimeToString(dateTime));\n\n if (props.kind === KINDS.time) {\n return (\n <TimePicker\n {...fieldProps}\n use12Hours\n format=\"h:mm A\"\n onChange={handleChange}\n />\n );\n } else if (props.kind === KINDS.date) {\n return <DatePicker {...fieldProps} onChange={handleChange} />;\n }\n\n return (\n <DatePicker\n showTime\n timeFormat=\"h:mm A\"\n {...fieldProps}\n onChange={handleChange}\n />\n );\n};\n\nexport default DateOrTime;\n","import React from \"react\";\n\nimport { Select } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst MultiOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isMulti\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={selectedOptions =>\n handleSubmit(pluck(\"value\", selectedOptions))\n }\n />\n );\n};\n\nexport default MultiOption;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Check } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { Button } from \"neetoui/formik\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Number = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const showSubmitButton = props.individualSubmit && dirty;\n\n return (\n <Input\n {...fieldProps}\n type=\"number\"\n suffix={\n showSubmitButton && (\n <Button\n data-cy={joinHyphenCase(fieldProps.label, \"check-button\")}\n icon={Check}\n style=\"text\"\n onClick={() => handleSubmit()}\n />\n )\n }\n />\n );\n};\n\nexport default Number;\n","import React from \"react\";\n\nimport { DatePicker, TimePicker } from \"neetoui\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nimport { dateTimeToString } from \"./utils\";\n\nconst RangePicker = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n const handleChange = ([begin, end]) => {\n if (begin && end) {\n handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);\n } else {\n handleSubmit([]);\n }\n };\n\n if (props.kind === KINDS.dateRange) {\n return <DatePicker {...fieldProps} type=\"range\" onChange={handleChange} />;\n }\n\n //time_range\n return (\n <TimePicker\n {...fieldProps}\n use12Hours\n format=\"h:mm A\"\n type=\"range\"\n onChange={handleChange}\n />\n );\n};\n\nexport default RangePicker;\n","import React from \"react\";\n\nimport { Select } from \"neetoui\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst SingleOption = props => {\n const { handleSubmit, fieldProps } = useFormikFields(props);\n\n return (\n <Select\n isClearable\n isSearchable\n strategy=\"fixed\"\n {...fieldProps}\n onChange={option => handleSubmit(option?.value || \"\")}\n />\n );\n};\nexport default SingleOption;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Check } from \"neetoicons\";\nimport { Input } from \"neetoui\";\nimport { Button } from \"neetoui/formik\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst Text = props => {\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const showSubmitButton = props.individualSubmit && dirty;\n\n return (\n <Input\n {...fieldProps}\n suffix={\n showSubmitButton && (\n <Button\n data-cy={joinHyphenCase(fieldProps.label, \"check-button\")}\n icon={Check}\n style=\"text\"\n onClick={() => handleSubmit()}\n />\n )\n }\n />\n );\n};\n\nexport default Text;\n","import React from \"react\";\n\nimport { Textarea } from \"neetoui\";\nimport { Button } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useFormikFields from \"src/hooks/useFormikFields\";\n\nconst TextArea = props => {\n const { t } = useTranslation();\n const { handleSubmit, fieldProps, dirty } = useFormikFields(props);\n\n const showSubmitButton = props.individualSubmit && dirty;\n\n return (\n <>\n <Textarea {...fieldProps} />\n {showSubmitButton && (\n <Button\n className=\"m-auto mt-2\"\n label={t(\"labels.submit\")}\n size=\"small\"\n onClick={() => handleSubmit()}\n />\n )}\n </>\n );\n};\nexport default TextArea;\n","import { filterBy, findBy } from \"neetocist\";\nimport { prop, isNil, clone, pick, map, pipe, mergeAll, omit } from \"ramda\";\n\nimport {\n Checkbox,\n DateOrTime as DateOrTimeInput,\n MultiOption as MultiOptionInput,\n Number as NumberInput,\n RangePicker as RangePickerInput,\n SingleOption as SingleOptionInput,\n Text as TextInput,\n TextArea as TextAreaInput,\n} from \"./commons/FieldInputs\";\nimport { KINDS } from \"./FieldsDashBoard/constants\";\n\nconst standardComponents = {\n text: TextInput,\n regex: TextInput,\n textarea: TextAreaInput,\n text_area: TextAreaInput, // TODO: Remove text-area after integration in all hosts.\n number: NumberInput,\n monetary: NumberInput,\n integer: NumberInput,\n decimal: NumberInput,\n date: DateOrTimeInput,\n time: DateOrTimeInput,\n datetime: DateOrTimeInput,\n single_option: SingleOptionInput,\n multi_option: MultiOptionInput,\n date_range: RangePickerInput,\n time_range: RangePickerInput,\n checkbox: Checkbox,\n};\n\nconst getFieldInput = ({ field, customComponents = {} }) => {\n const Component =\n customComponents[field.kind] || standardComponents[field.kind];\n\n if (Component) {\n return Component;\n }\n\n return null;\n};\n\nconst removeItemsWithNullData = fieldValues =>\n fieldValues.filter(item => !isNil(prop(\"data\", item)));\n\nconst removeNoiseFromValues = fieldValues =>\n map(pick([\"id\", \"fieldId\", \"data\"]), fieldValues);\n\nconst transformValues = ({ values: formikValues, fields }) => {\n const allFieldValues = clone(formikValues);\n const neetoFieldValues = [];\n\n fields.forEach(({ id, name }) => {\n const fieldPath = escapeString(`${name}-${id}`);\n neetoFieldValues.push(allFieldValues[fieldPath]);\n delete allFieldValues[fieldPath];\n });\n\n const cleanedFieldValues = pipe(\n removeItemsWithNullData,\n removeNoiseFromValues\n )(neetoFieldValues);\n\n return { ...allFieldValues, fieldValuesAttributes: cleanedFieldValues };\n};\n\nconst getDefaultInitialValue = kind => {\n switch (kind) {\n case KINDS.checkbox:\n return false;\n case KINDS.multiOption:\n case KINDS.dateRange:\n case KINDS.timeRange:\n return [];\n default:\n return \"\";\n }\n};\n\nconst getInitialFieldValue = ({\n field,\n fieldValues = [],\n isIndividualFieldForm = false,\n}) => {\n const existingFieldValueData = findBy({ fieldId: field.id }, fieldValues);\n const keyInData = field.kind === KINDS.multiOption ? \"values\" : \"value\";\n const newFieldValueData = {\n fieldId: field.id,\n data: isIndividualFieldForm\n ? { [keyInData]: getDefaultInitialValue(field.kind) }\n : null,\n };\n\n return {\n [escapeString(`${field.name}-${field.id}`)]:\n existingFieldValueData || newFieldValueData,\n };\n};\n\nconst getAllInitialFieldValues = (fields, fieldValues = []) =>\n getNonSystemFields(fields).map(field =>\n getInitialFieldValue({ field, fieldValues })\n );\n\nconst mergeInitialValues = ({ initialValues, fields }) => {\n const initialValue = mergeAll([\n initialValues,\n ...getAllInitialFieldValues(fields, initialValues?.fieldValues),\n ]);\n\n return omit([\"fieldValues\"], initialValue);\n};\n\nconst getNonSystemFields = fields => filterBy({ isSystem: false }, fields);\n\nconst escapeString = string =>\n string.replace(/[^a-zA-Z0-9_]/g, match => {\n const charCode = match.charCodeAt(0);\n\n return `_${charCode}_`;\n });\n\nconst neetoFieldsUtils = { mergeInitialValues, transformValues };\n\nexport {\n neetoFieldsUtils,\n getInitialFieldValue,\n getFieldInput,\n getNonSystemFields,\n escapeString,\n};\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"./utils\";\n\nconst FieldInputs = ({\n customComponents = {},\n fields,\n formRef,\n disabled,\n isRequiredColumnName,\n}) => {\n const { t } = useTranslation();\n\n return getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <Field\n key={field.id}\n {...{\n ...field,\n formRef,\n disabled,\n isRequiredColumnName,\n }}\n />\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"messages.invalidKind\")}\n </Typography>\n );\n });\n};\nexport default FieldInputs;\n","export const NEETO_FIELDS_URL = \"/neeto_fields_engine/api/v1\";\nexport const FIELDS_URL = `${NEETO_FIELDS_URL}/fields`;\nexport const FIELD_VALUES_URL = `${NEETO_FIELDS_URL}/field_values`;\nexport const FIELD_VALUE_URL = `${NEETO_FIELDS_URL}/field_values/:fieldValueId`;\nexport const FIELD_URL = `${NEETO_FIELDS_URL}/fields/:fieldId`;\nexport const DEPENDENCIES_URL = `${NEETO_FIELDS_URL}/fields/:fieldId/dependencies`;\nexport const FIELDS_REORDER_URL = `${FIELDS_URL}/reorder`;\nexport const CONFIGS_URL = `${NEETO_FIELDS_URL}/configs`;\n\nexport const INFO_ICON_SIZE = 16;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport {\n DEPENDENCIES_URL,\n FIELDS_REORDER_URL,\n FIELDS_URL,\n FIELD_URL,\n} from \"src/constants\";\n\nconst fieldUrl = fieldId => buildUrl(FIELD_URL, { fieldId });\nconst dependenciesUrl = fieldId => buildUrl(DEPENDENCIES_URL, { fieldId });\n\nconst fetch = ({ resourceType, ownerId, state, searchTerm, pageProps }) =>\n axios.get(FIELDS_URL, {\n params: { resourceType, ownerId, state, searchTerm, ...pageProps },\n });\n\nconst create = payload => axios.post(FIELDS_URL, payload);\n\nconst show = ({ fieldId, ownerId }) =>\n axios.get(fieldUrl(fieldId), { params: { ownerId } });\n\nconst destroy = ({ fieldId, ownerId }) =>\n axios.delete(fieldUrl(fieldId), { data: { ownerId } });\n\nconst update = ({ fieldId, payload }) => axios.put(fieldUrl(fieldId), payload);\n\nconst reorder = payload => axios.patch(FIELDS_REORDER_URL, payload);\n\nconst dependencies = ({ fieldId, ownerId }) =>\n axios.get(dependenciesUrl(fieldId), { params: { ownerId } });\n\nconst fieldsApi = {\n fetch,\n create,\n show,\n destroy,\n update,\n reorder,\n dependencies,\n};\n\nexport default fieldsApi;\n","const QUERY_KEYS = {\n FIELDS: \"fields\",\n FIELD_VALUES: \"field_values\",\n CONFIGS: \"configurations\",\n DEPENDENCIES: \"dependencies\",\n};\n\nconst DEFAULT_STALE_TIME = 3_600_000; // 1 hour\n\nexport { QUERY_KEYS, DEFAULT_STALE_TIME };\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"react-query\";\n\nimport fieldsApi from \"apis/fields\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nconst { FIELDS, DEPENDENCIES } = QUERY_KEYS;\n\nexport const useFetchFields = (\n { prefixQueryKeys = [], pageProps = {}, ...params },\n options\n) =>\n useQuery(\n [FIELDS, ...prefixQueryKeys, pageProps, params],\n () => fieldsApi.fetch({ pageProps, ...params }),\n { staleTime: DEFAULT_STALE_TIME, ...options }\n );\n\nexport const useCreateField = options =>\n useMutationWithInvalidation(fieldsApi.create, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useShowField = ({ fieldId, ownerId }, options) => {\n const queryKey = [FIELDS, fieldId];\n\n return useQuery(\n queryKey,\n () => fieldsApi.show({ fieldId, ownerId }),\n options\n );\n};\n\nexport const useFetchDependencies = ({ fieldId, ownerId }, options) =>\n useQuery(\n [DEPENDENCIES, fieldId],\n () => fieldsApi.dependencies({ fieldId, ownerId }),\n options\n );\n\nexport const useUpdateField = options =>\n useMutationWithInvalidation(fieldsApi.update, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useDestroyField = options =>\n useMutationWithInvalidation(fieldsApi.destroy, {\n keysToInvalidate: [FIELDS],\n ...options,\n });\n\nexport const useReorderFields = () =>\n useMutationWithInvalidation(fieldsApi.reorder, {\n keysToInvalidate: [FIELDS],\n });\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { filterBy } from \"neetocist\";\nimport { Pane } from \"neetoui\";\nimport { ActionBlock } from \"neetoui/formik\";\nimport { isEmpty, omit, pick, values } from \"ramda\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS,\n FIELD_KINDS,\n BASIC_FIELD_FORM_VALIDATIONS,\n} from \"./constants\";\n\nconst arrangeOptionsDisplayOrder = options =>\n options.map((option, index) => ({ ...option, displayOrder: index }));\n\nexport const buildPayload = ({\n formValues,\n resourceType = \"\",\n ownerId = \"\",\n}) => {\n const kind = formValues.kind.value;\n const name = formValues.name.trim();\n\n return {\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n field: {\n ...omit(\n [\"createdAt\", \"id\", \"ownerId\", \"ownerType\", \"updatedAt\"],\n formValues\n ),\n kind,\n name,\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n data: isDropdown(kind)\n ? arrangeOptionsDisplayOrder(formValues.data)\n : formValues.data,\n },\n };\n};\n\nexport const isDropdown = kind =>\n [\"single_option\", \"multi_option\"].includes(kind);\n\nexport const isRegex = kind => kind === \"regex\";\n\nexport const isAdditionalDataNeeded = kind =>\n ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);\n\nexport const getPermittedKinds = ({ allowedKinds, selectedKind }) => {\n const filteredKinds = pick(allowedKinds, FIELD_KINDS);\n const permittedKinds = filterBy(\n { group: selectedKind?.group },\n values(filteredKinds)\n );\n\n return permittedKinds;\n};\n\nexport const generateValidationSchema = additionalValidations =>\n yup\n .object()\n .shape({ ...BASIC_FIELD_FORM_VALIDATIONS, ...additionalValidations });\n\nexport const renderFormFooter = ({ onClose, loading, dirty = true }) => (\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{\n onClick: onClose,\n style: \"text\",\n disabled: loading,\n }}\n submitButtonProps={{\n label: t(\"labels.saveChanges\"),\n className: \"mr-2\",\n type: \"submit\",\n disabled: !dirty,\n loading,\n }}\n />\n </Pane.Footer>\n);\n\nexport const getDefaultOption = () => ({\n id: uuidv4(),\n label: \"\",\n displayOrder: 0,\n});\n","import { t } from \"i18next\";\nimport { toLabelAndValue } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport { isDropdown, isRegex } from \"./utils\";\n\nconst PERMITTED_REGEX_PATTERN = /^\\/.*\\/[igmsyu]*$/;\nconst ADVANCED_REGEX_ASSERTION_PATTERN =\n /\\(\\?=[^)]*\\)|\\(\\?![^)]*\\)|\\(\\?<=[^)]*\\)|\\(\\?<![^)]*\\)/;\n\nconst regexValidationSchema = yup.object().shape({\n condition: yup\n .string()\n .required(t(\"validations.regexConditionIsRequired\"))\n .matches(PERMITTED_REGEX_PATTERN, t(\"validations.invalidRegexPattern\"))\n .test({\n name: \"test-regex-is-advanced\",\n message: t(\"validations.advancedRegexAssertionsNotSupported\") || \"\",\n test: value => !ADVANCED_REGEX_ASSERTION_PATTERN.test(value),\n })\n .test({\n name: \"test-regex-condition-pattern\",\n message: t(\"validations.invalidRegexPattern\") || \"\",\n test: value => {\n try {\n const lastIndex = value.lastIndexOf(\"/\");\n const condition = value.substring(1, lastIndex);\n // Evaluating the regex to check if it is valid\n new RegExp(condition);\n \"\".search(condition);\n\n return true;\n } catch {\n return false;\n }\n },\n }),\n helpMessage: yup\n .string()\n .required(t(\"validations.regexHelpMessageIsRequired\")),\n});\n\nconst dropDownOptionsValidationSchema = yup\n .array()\n .of(\n yup.object().shape({\n label: yup\n .string()\n .trim()\n .required(t(\"validations.fieldOptionIsRequired\")),\n displayOrder: yup.number(),\n })\n )\n .min(1, t(\"validations.atLeastFieldOptionIsRequired\"));\n\nexport const FIELD_KINDS = {\n text: { value: \"text\", label: t(\"fields.kinds.text\"), group: 1 },\n number: { value: \"number\", label: t(\"fields.kinds.number\"), group: 2 },\n monetary: { value: \"monetary\", label: t(\"fields.kinds.monetary\"), group: 2 },\n single_option: {\n value: \"single_option\",\n label: t(\"fields.kinds.singleOption\"),\n group: 12,\n },\n multi_option: {\n value: \"multi_option\",\n label: t(\"fields.kinds.multiOption\"),\n group: 3,\n },\n date: { value: \"date\", label: t(\"fields.kinds.date\"), group: 4 },\n time: { value: \"time\", label: t(\"fields.kinds.time\"), group: 5 },\n date_range: {\n value: \"date_range\",\n label: t(\"fields.kinds.dateRange\"),\n group: 6,\n },\n time_range: {\n value: \"time_range\",\n label: t(\"fields.kinds.timeRange\"),\n group: 7,\n },\n text_area: {\n value: \"text_area\",\n label: t(\"fields.kinds.textArea\"),\n group: 1,\n },\n textarea: {\n value: \"textarea\",\n label: t(\"fields.kinds.textarea\"),\n group: 1,\n },\n person: {\n value: \"person\",\n label: t(\"fields.kinds.person\"),\n group: 8,\n },\n checkbox: {\n value: \"checkbox\",\n label: t(\"fields.kinds.checkbox\"),\n group: 9,\n },\n regex: {\n value: \"regex\",\n label: t(\"fields.kinds.regex\"),\n group: 10,\n },\n integer: {\n value: \"integer\",\n label: t(\"fields.kinds.integer\"),\n group: 2,\n },\n decimal: {\n value: \"decimal\",\n label: t(\"fields.kinds.decimal\"),\n group: 2,\n },\n datetime: {\n value: \"datetime\",\n label: t(\"fields.kinds.datetime\"),\n group: 11,\n },\n};\n\nexport const ADDITIONAL_DATA_NEEDED_FIELD_KINDS = [\n \"single_option\",\n \"multi_option\",\n \"regex\",\n];\n\nexport const INITIAL_FIELDS = {\n name: \"\",\n kind: toLabelAndValue(\"text\"),\n isRequired: false,\n};\n\nexport const DEFAULT_REGEX_DATA = { condition: \"\", helpMessage: \"\" };\n\nexport const BASIC_FIELD_FORM_VALIDATIONS = {\n name: yup.string().trim().required(t(\"validations.fieldNameIsRequired\")),\n isRequired: yup.boolean(),\n kind: yup\n .object()\n .shape({ value: yup.string().required() })\n .required(t(\"validations.kindIsRequired\")),\n data: yup\n .mixed()\n .when(\"kind\", {\n is: kind => isRegex(kind?.value),\n then: regexValidationSchema,\n })\n .when(\"kind\", {\n is: kind => isDropdown(kind?.value),\n then: dropDownOptionsValidationSchema,\n }),\n};\n","import React from \"react\";\n\nimport { FieldArray, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Delete } from \"neetoicons\";\nimport { Label, Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDefaultOption, isDropdown, isRegex } from \"./utils\";\n\nconst AdditionalInputs = () => {\n const { t } = useTranslation();\n\n const {\n values: { kind, data: options, isSystem },\n } = useFormikContext();\n\n const removeOption = (arrayHelpers, index) => arrayHelpers.remove(index);\n\n const addOption = arrayHelpers => arrayHelpers.push(getDefaultOption());\n\n if (isDropdown(kind.value)) {\n return (\n <FieldArray name=\"data\">\n {arrayHelpers => (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"titles.dropdownOptions\")}</Label>\n {isNotEmpty(options) &&\n Array.isArray(options) &&\n options.map((_, index) => (\n <div className=\"flex w-full space-x-3\" key={index}>\n <div className=\"w-full\">\n <Input\n disabled={isSystem}\n name={`data.${index}.label`}\n placeholder={t(\"placeholders.enterAnOption\")}\n suffix={\n options.length > 1 && (\n <Button\n icon={Delete}\n style=\"text\"\n onClick={() => removeOption(arrayHelpers, index)}\n />\n )\n }\n />\n </div>\n </div>\n ))}\n <Button\n fullWidth\n className=\"mb-6 border-dashed text-xs uppercase\"\n label={t(\"labels.addMoreOption\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n )}\n </FieldArray>\n );\n } else if (isRegex(kind.value)) {\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <Label required>{t(\"titles.regexOptions\")}</Label>\n <Input\n disabled={isSystem}\n label={t(\"labels.regexCondition\")}\n name=\"data.condition\"\n placeholder={t(\"placeholders.regexExample\")}\n />\n <Input\n disabled={isSystem}\n label={t(\"labels.helpMessage\")}\n name=\"data.helpMessage\"\n placeholder={t(\"placeholders.enterErrorMessage\")}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport default AdditionalInputs;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Label, Pane, Typography } from \"neetoui\";\nimport { Input, Select, Switch } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport AdditionalInputs from \"./AdditionalInputs\";\nimport { DEFAULT_REGEX_DATA } from \"./constants\";\nimport {\n getDefaultOption,\n isAdditionalDataNeeded,\n isDropdown,\n isRegex,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").FieldFormProps>} */\n\nconst FieldForm = ({\n chosenKind,\n kindSelectOptions = [],\n isSystem = false,\n hideRequiredSwitch = false,\n children,\n}) => {\n const { t } = useTranslation();\n\n const {\n values: { data: options },\n setFieldValue,\n } = useFormikContext();\n\n const handleKindChange = kind => {\n setFieldValue(\"kind\", kind);\n if (isDropdown(kind.value)) {\n setFieldValue(\"data\", options ?? [getDefaultOption()]);\n } else if (isRegex(kind.value)) {\n setFieldValue(\"data\", options ?? DEFAULT_REGEX_DATA);\n }\n };\n\n return (\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Input\n required\n data-cy=\"name-text-field\"\n disabled={isSystem}\n label={t(\"labels.fieldName\")}\n name=\"name\"\n placeholder={t(\"placeholders.enterFieldName\")}\n />\n <Select\n isSearchable\n isDisabled={isSystem}\n label={t(\"labels.fieldKind\")}\n name=\"kind\"\n options={kindSelectOptions}\n onChange={handleKindChange}\n />\n {isAdditionalDataNeeded(chosenKind) && <AdditionalInputs />}\n {!hideRequiredSwitch && (\n <Label\n className=\"flex items-center gap-2\"\n data-cy=\"is-required-switch-container\"\n >\n <Switch data-cy=\"is-required-switch\" name=\"isRequired\" />\n <Typography\n className=\"leading-4\"\n component=\"span\"\n data-cy=\"is-required-switch-label\"\n style=\"body2\"\n >\n {t(\"labels.isRequired\")}\n </Typography>\n </Label>\n )}\n {children}\n </div>\n </Pane.Body>\n );\n};\n\nexport default FieldForm;\n","import React from \"react\";\n\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { pick, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useCreateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS, INITIAL_FIELDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").AddProps>} */\n\nconst Add = ({\n resourceType,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations,\n initialValues,\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { mutate: createField, isLoading: isSubmitting } = useCreateField({\n onSuccess: onMutationSuccess,\n });\n\n const filteredKinds = values(pick(allowedKinds, FIELD_KINDS));\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, resourceType, ownerId });\n createField(payload, { onSuccess: onClose });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"add-pane-header\" style=\"h2\">\n {t(\"titles.addField\")}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues: { ...initialValues, ...INITIAL_FIELDS },\n validationSchema: generateValidationSchema(additionalValidations),\n onSubmit: handleSubmit,\n }}\n >\n {({ dirty, values: { kind } }) => (\n <>\n <FieldForm\n chosenKind={kind.value}\n kindSelectOptions={filteredKinds}\n {...props}\n />\n {renderFormFooter({ onClose, loading: isSubmitting, dirty })}\n </>\n )}\n </Form>\n </>\n );\n};\n\nexport default Add;\n","import React from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Pane, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport { assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_KINDS } from \"components/FieldsDashBoard/constants\";\nimport { useShowField, useUpdateField } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { FIELD_KINDS } from \"./constants\";\nimport FieldForm from \"./FieldForm\";\nimport {\n buildPayload,\n generateValidationSchema,\n getPermittedKinds,\n renderFormFooter,\n} from \"./utils\";\n\n/** @type {React.FC<import(\"types\").EditProps>} */\n\nconst Edit = ({\n fieldId,\n allowedKinds = ALL_KINDS,\n ownerId,\n additionalValidations = {},\n initialValues = {},\n onClose,\n onMutationSuccess,\n ...props\n}) => {\n const { t } = useTranslation();\n\n const { data: { field = {} } = {}, isLoading } = useShowField({\n fieldId,\n ownerId,\n });\n\n const { mutate: updateField, isLoading: isSubmitting } = useUpdateField({\n onSuccess: (...args) => {\n onMutationSuccess?.(...args);\n onClose();\n },\n });\n\n const handleSubmit = formValues => {\n const payload = buildPayload({ formValues, ownerId });\n updateField({ fieldId, payload });\n };\n\n return (\n <>\n <Pane.Header>\n <Typography data-cy=\"edit-pane-header\" style=\"h2\">\n {t(\"titles.editField\")}\n </Typography>\n </Pane.Header>\n {isLoading ? (\n <PageLoader />\n ) : (\n <Form\n formikProps={{\n initialValues: {\n ...initialValues,\n ...assoc(\"kind\", FIELD_KINDS[field.kind], field),\n },\n validationSchema: generateValidationSchema(additionalValidations),\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values: { kind }, dirty }) => {\n const permittedKinds = getPermittedKinds({\n allowedKinds,\n selectedKind: kind,\n });\n\n return (\n <>\n <FieldForm\n chosenKind={kind?.value}\n isSystem={field.isSystem}\n kindSelectOptions={permittedKinds}\n {...props}\n />\n {renderFormFooter({\n onClose,\n loading: isSubmitting,\n dirty,\n })}\n </>\n );\n }}\n </Form>\n )}\n </>\n );\n};\n\nexport default Edit;\n","import React from \"react\";\n\nimport { Pane } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport Add from \"./Add\";\nimport Edit from \"./Edit\";\n\n/** @type {React.FC<import(\"types\").FieldsPaneProps>} */\n\nconst FieldsPane = ({ isOpen, selectedField = {}, ...props }) => (\n <Pane isOpen={isOpen} onClose={props.onClose}>\n {isEmpty(selectedField) ? (\n <Add {...props} />\n ) : (\n <Edit fieldId={selectedField?.id} {...props} />\n )}\n </Pane>\n);\n\nexport default FieldsPane;\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { findBy, humanize, slugify } from \"neetocist\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport MenuBar from \"neetomolecules/MenuBar\";\nimport { Dropdown, Tab, Typography } from \"neetoui\";\nimport pluralize from \"pluralize\";\nimport { Trans } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { DISPLAY_KINDS, FIELD_STATES } from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nexport const buildDefaultColumns = ({ onDeleteClick, onEditClick }) => [\n {\n key: \"name\",\n dataIndex: \"name\",\n title: t(\"titles.fieldName\"),\n width: \"30%\",\n render: (name, field) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">{name}</Typography>\n <Dropdown\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n strategy=\"fixed\"\n buttonProps={{\n className: \"flex-shrink-0\",\n \"data-cy\": \"neeto-fields-options-dropdown\",\n }}\n >\n <Menu>\n <MenuItem.Button\n data-cy=\"edit-menu-item-button\"\n onClick={() => onEditClick(field)}\n >\n {t(\"labels.edit\")}\n </MenuItem.Button>\n {!field.isSystem && (\n <MenuItem.Button\n data-cy=\"delete-menu-item-button\"\n onClick={() => onDeleteClick(field)}\n >\n {t(\"labels.delete\")}\n </MenuItem.Button>\n )}\n </Menu>\n </Dropdown>\n </div>\n ),\n },\n {\n key: \"kind\",\n dataIndex: \"kind\",\n title: t(\"titles.fieldKind\"),\n render: kind => DISPLAY_KINDS[kind],\n width: \"30%\",\n },\n {\n key: \"isRequired\",\n dataIndex: \"isRequired\",\n title: t(\"titles.required\"),\n render: boolVal => (boolVal ? t(\"common.yes\") : t(\"common.no\")),\n },\n];\n\nexport const renderMenuBarItems = ({\n items,\n isOwnerBased,\n selectedMenu,\n handleBlockClick,\n nameAliases,\n title,\n}) => {\n title = title.toLocaleLowerCase();\n\n if (isOwnerBased) {\n return items.map(item => (\n <MenuBar.Item\n active={selectedMenu === item.id}\n data-cy={`menubar-${slugify(item.name)}-menu-item`}\n key={item.id}\n label={humanize(item.name)}\n description={t(\"messages.manageTitleForResource\", {\n title,\n resource: humanize(item.name).toLocaleLowerCase(),\n })}\n onClick={handleBlockClick({ resource: item.id })}\n />\n ));\n }\n\n return (\n items.length > 1 &&\n items.map(item => {\n const label = nameAliases[item] || humanize(item);\n\n return (\n <MenuBar.Item\n active={selectedMenu === item}\n data-cy={`neeto-fields-${slugify(label)}-menu-item`}\n key={item}\n {...{ label }}\n description={t(\"messages.manageTitleForResource\", {\n title,\n resource: humanize(item).toLocaleLowerCase(),\n })}\n onClick={handleBlockClick({ resource: item })}\n />\n );\n })\n );\n};\n\nexport const renderStateFilterTabs = ({\n selectedState,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n}) => (\n <Tab className=\"mb-4\">\n <Tab.Item\n active={selectedState === FIELD_STATES.active}\n data-cy=\"menubar-active-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.active })}\n >\n {fieldStatesTaxonomy.active}({activeFieldsCount})\n </Tab.Item>\n <Tab.Item\n active={selectedState === FIELD_STATES.inactive}\n data-cy=\"menubar-inactive-block\"\n onClick={handleBlockClick({ state: FIELD_STATES.inactive })}\n >\n {fieldStatesTaxonomy.inactive}({inactiveFieldsCount})\n </Tab.Item>\n </Tab>\n);\n\nexport const getResourceName = ({\n isOwnerBased,\n owners,\n selectedVal,\n nameAliases,\n}) => {\n if (isOwnerBased) {\n return findBy({ id: selectedVal }, owners)?.name;\n }\n\n return nameAliases[selectedVal] || selectedVal;\n};\n\nexport const getDashBoardTitle = ({\n resourceName,\n isSingleResource,\n title,\n}) => {\n const displayTitle = isSingleResource\n ? title\n : t(\"messages.titleForResource\", {\n title,\n resource: resourceName,\n });\n\n return humanize(displayTitle);\n};\n\nexport const renderNoDataHelpText = (title, url) => (\n <Trans\n i18nKey=\"helpTexts.noData\"\n values={{ title }}\n components={{\n a: (\n <Link\n className=\"neeto-ui-text-primary-600 underline\"\n data-cy=\"no-data-help-text-link\"\n target=\"_blank\"\n to={{ pathname: url }}\n />\n ),\n }}\n />\n);\n\nexport const getDeletionConfirmationMessage = ({\n resource,\n fieldName,\n affectedResourcesCount,\n}) =>\n affectedResourcesCount > 0 ? (\n <Trans\n i18nKey=\"messages.confirmDeleteWithCount\"\n values={{\n resource: pluralize(resource, affectedResourcesCount),\n name: fieldName,\n count: affectedResourcesCount,\n }}\n />\n ) : (\n <Trans i18nKey=\"messages.confirmDelete\" values={{ name: fieldName }} />\n );\n","import axios from \"axios\";\n\nimport { CONFIGS_URL } from \"src/constants\";\n\nconst fetchConfigs = () => axios.get(CONFIGS_URL);\n\nconst configsApi = { fetchConfigs };\n\nexport default configsApi;\n","import { useQuery } from \"react-query\";\n\nimport configsApi from \"apis/configs\";\nimport { DEFAULT_STALE_TIME, QUERY_KEYS } from \"src/constants/query\";\n\nexport const useFetchConfigs = options =>\n useQuery([QUERY_KEYS.CONFIGS], configsApi.fetchConfigs, {\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useDebounce, handleMetaClick } from \"neetocommons/react-utils\";\nimport { buildUrl, getQueryParams } from \"neetocommons/utils\";\nimport { any, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n DEFAULT_PAGE_SIZE,\n FIELD_STATES,\n} from \"components/FieldsDashBoard/constants\";\nimport {\n buildDefaultColumns,\n getDashBoardTitle,\n getResourceName,\n renderStateFilterTabs,\n renderMenuBarItems,\n} from \"components/FieldsDashBoard/utils\";\n\nimport { useFetchConfigs } from \"./reactQuery/useConfigsApi\";\nimport { useDestroyField, useFetchFields } from \"./reactQuery/useFieldsApi\";\n\nexport const useFieldsDashboard = ({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n}) => {\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isReorderPaneOpen, setIsReorderPaneOpen] = useState(false);\n const [selectedField, setSelectedField] = useState({});\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [pageProps, setPageProps] = useState({\n pageIndex: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const debouncedSearchTerm = useDebounce(searchTerm.trim());\n const history = useHistory();\n const { t } = useTranslation();\n\n const { resource, state } = getQueryParams();\n\n const ownerId = isOwnerBased ? resource : undefined;\n\n const {\n data: { owners = [], resourceTypes = [] } = {},\n isLoading: isConfigsLoading,\n } = useFetchConfigs({ enabled: !resources });\n\n const fieldParams = {\n resourceType: !isOwnerBased ? resource : undefined,\n ownerId,\n state: state || FIELD_STATES.active,\n searchTerm: debouncedSearchTerm,\n ...pageProps,\n };\n\n const {\n data: {\n fields = [],\n count,\n activeFieldsCount,\n inactiveFieldsCount,\n reorderable,\n } = {},\n isLoading: isFieldsLoading,\n isFetching: isFieldsFetching,\n isFetched: isFieldsFetched,\n } = useFetchFields(fieldParams, {\n enabled: !!resource,\n keepPreviousData: true,\n });\n\n const { mutate: deleteField, isLoading: isDeleting } = useDestroyField({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n },\n });\n\n const handleDelete = () => {\n deleteField({ fieldId: selectedField.id, ownerId });\n };\n\n const handleClosePane = () => {\n setIsPaneOpen(false);\n setSelectedField({});\n };\n\n const handleEditButtonClick = field => {\n setSelectedField(field);\n setIsPaneOpen(true);\n };\n\n const handleDeleteButtonClick = field => {\n setSelectedField(field);\n setIsDeleteAlertOpen(true);\n };\n\n const handleAlertClose = () => {\n setIsDeleteAlertOpen(false);\n setSelectedField({});\n };\n\n const handleReorderPaneClose = () => {\n setIsReorderPaneOpen(false);\n };\n\n const defaultColumns = buildDefaultColumns({\n onDeleteClick: handleDeleteButtonClick,\n onEditClick: handleEditButtonClick,\n });\n\n const columnData = buildColumnData({\n onEditClick: handleEditButtonClick,\n onDeleteClick: handleDeleteButtonClick,\n defaultColumns,\n });\n\n const handleBlockClick = params =>\n handleMetaClick(history, buildUrl(\"\", { resource, state, ...params }));\n\n const menuItems = resources || (isOwnerBased ? owners : resourceTypes);\n\n const handleURLWithDefaultValues = () => {\n const queryParams = { resource, state };\n if (!isConfigsLoading && isNil(resource)) {\n queryParams.resource = isOwnerBased ? menuItems?.[0]?.id : menuItems?.[0];\n }\n\n if (!isConfigsLoading && isNil(state)) {\n queryParams.state = FIELD_STATES.active;\n }\n\n if (!isConfigsLoading && any(isNil)([resource, state])) {\n history.replace(buildUrl(\"\", queryParams));\n }\n };\n\n const isScreenLoading = isFieldsLoading || isConfigsLoading;\n const showCountSubheader = count > 0 && !showStateFilter;\n\n const searchProps = {\n onChange: e => setSearchTerm(e.target.value),\n value: searchTerm,\n placeholder: t(\"placeholders.searchFields\"),\n className: \"w-44\",\n };\n\n const isSingleResource = menuItems.length === 1;\n const isMenuBarNeeded = !isSingleResource && !isConfigsLoading;\n\n const resourceName = useMemo(\n () =>\n getResourceName({\n isOwnerBased,\n nameAliases,\n owners: menuItems,\n selectedVal: resource,\n }),\n [menuItems, resource]\n );\n\n const headerDisplayTitle = useMemo(\n () => getDashBoardTitle({ resourceName, isSingleResource, title }),\n [state, isSingleResource, resourceName]\n );\n\n const stateFilterTabs = useMemo(\n () =>\n renderStateFilterTabs({\n selectedState: state,\n fieldStatesTaxonomy,\n activeFieldsCount,\n inactiveFieldsCount,\n handleBlockClick,\n }),\n [activeFieldsCount, inactiveFieldsCount, state]\n );\n\n const menuBarItems = useMemo(\n () =>\n renderMenuBarItems({\n isOwnerBased,\n items: menuItems,\n selectedMenu: resource,\n handleBlockClick,\n nameAliases,\n title,\n }),\n [menuItems, resource]\n );\n\n useEffect(() => {\n handleURLWithDefaultValues();\n }, [isConfigsLoading, resources, resource, state]);\n\n useEffect(() => {\n setPageProps({\n pageIndex: DEFAULT_PAGE_INDEX,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n }, [searchTerm, state, resource]);\n\n return {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu: resource, // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType\n ownerId,\n isDeleting,\n isFieldsFetching,\n isFieldsFetched,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n };\n};\n","import React from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { Alert } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchDependencies } from \"hooks/reactQuery/useFieldsApi\";\n\nimport { getDeletionConfirmationMessage } from \"./utils\";\n\nconst DeleteAlert = ({\n selectedField,\n ownerId,\n isDeleteAlertOpen,\n isDeleting,\n resourceTypeName,\n handleAlertClose,\n handleDelete,\n}) => {\n const { t } = useTranslation();\n\n const { data: { affectedResourcesCount } = {} } = useFetchDependencies(\n { fieldId: selectedField.id, ownerId },\n { enabled: isDeleteAlertOpen && isNotEmpty(selectedField) }\n );\n\n return (\n <Alert\n {...{ affectedResourcesCount }}\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"labels.delete\")}\n title={t(\"titles.deleteField\")}\n message={getDeletionConfirmationMessage({\n resource: resourceTypeName,\n affectedResourcesCount,\n fieldName: selectedField?.name,\n })}\n onClose={handleAlertClose}\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default DeleteAlert;\n","import React from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Table } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderNoDataHelpText } from \"./utils\";\n\nconst FieldsTable = ({\n totalCount,\n isFetched,\n isFetching,\n rowData,\n columnData,\n setIsPaneOpen,\n helpDocUrl,\n title,\n pageProps,\n setPageProps,\n}) => {\n const { t } = useTranslation();\n const showNoDataScreen = isFetched && isEmpty(rowData);\n title = title.toLocaleLowerCase();\n const { pageIndex, pageSize } = pageProps;\n\n if (!isFetched && isEmpty(rowData)) {\n return <PageLoader />;\n }\n\n return (\n <TableWrapper>\n {showNoDataScreen ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n {...(helpDocUrl && {\n helpText: renderNoDataHelpText(title, helpDocUrl),\n })}\n title={t(\"messages.noFields\", { title })}\n primaryButtonProps={{\n label: t(\"labels.addField\"),\n onClick: () => setIsPaneOpen(true),\n }}\n />\n </div>\n ) : (\n <Table\n fixedHeight\n allowRowClick={false}\n {...{ columnData, rowData, totalCount }}\n currentPageNumber={pageIndex}\n defaultPageSize={pageSize}\n loading={isFetching}\n handlePageChange={pageIndex =>\n setPageProps({ ...pageProps, pageIndex })\n }\n />\n )}\n </TableWrapper>\n );\n};\n\nexport default FieldsTable;\n","import React from \"react\";\n\nimport { Info } from \"neetoicons\";\n\nimport { INFO_ICON_SIZE } from \"src/constants\";\n\nconst TitleWithHelpLink = ({ title, helpUrl }) => (\n <div className=\"flex items-center gap-x-1\">\n {title}\n {helpUrl && (\n <a href={helpUrl} rel=\"noreferrer\" target=\"_blank\">\n <Info size={INFO_ICON_SIZE} />\n </a>\n )}\n </div>\n);\n\nexport default TitleWithHelpLink;\n","import React from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst ActionBlock = ({ reorderable, setIsReorderPaneOpen, setIsPaneOpen }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"flex flex-shrink-0 items-center gap-3\">\n <Button\n data-cy=\"neeto-fields-reorder-button\"\n disabled={!reorderable}\n label={t(\"labels.reorder\")}\n style=\"secondary\"\n onClick={() => setIsReorderPaneOpen(true)}\n />\n <Button\n data-cy=\"neeto-fields-add-button\"\n label={t(\"labels.addField\")}\n onClick={() => setIsPaneOpen(true)}\n />\n </div>\n );\n};\n\nexport default ActionBlock;\n","import React from \"react\";\n\nimport NeetoUIHeader from \"neetomolecules/Header\";\n\nimport TitleWithHelpLink from \"components/commons/TitleWithHelpLink\";\n\nimport ActionBlock from \"./ActionBlock\";\n\nconst Header = ({\n searchProps,\n breadcrumbs,\n title,\n helpDocUrl,\n ...actionBlockProps\n}) => (\n <NeetoUIHeader\n size=\"small\"\n {...{ breadcrumbs, searchProps }}\n actionBlock={<ActionBlock {...actionBlockProps} />}\n title={<TitleWithHelpLink helpUrl={helpDocUrl} {...{ title }} />}\n />\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport NeetoUIMenuBar from \"neetomolecules/MenuBar\";\n\nconst Menubar = ({ menuBarItems, title }) => (\n <NeetoUIMenuBar showMenu {...{ title }}>\n {menuBarItems}\n </NeetoUIMenuBar>\n);\n\nexport default Menubar;\n","import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import React, { useState, useCallback } from 'react';\n\nconst hiddenStyles = {\n display: 'none'\n};\nfunction HiddenText(_ref) {\n let {\n id,\n value\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: hiddenStyles\n }, value);\n}\n\nconst visuallyHidden = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap'\n};\nfunction LiveRegion(_ref) {\n let {\n id,\n announcement\n } = _ref;\n return React.createElement(\"div\", {\n id: id,\n style: visuallyHidden,\n role: \"status\",\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true\n }, announcement);\n}\n\nfunction useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback(value => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n return {\n announce,\n announcement\n };\n}\n\nexport { HiddenText, LiveRegion, useAnnouncement };\n//# sourceMappingURL=accessibility.esm.js.map\n","import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates);\n\n if (!activated && activationConstraint) {\n // Constraint validation\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n\n return;\n }\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n","import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import React from \"react\";\n\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { countBy } from \"neetocist\";\nimport { Reorder } from \"neetoicons\";\n\nconst FieldBlock = ({ field, index, fields }) => {\n const systemFieldsCount = countBy({ isSystem: true }, fields);\n\n const { attributes, listeners, setNodeRef, transform } = useSortable({\n id: field.id,\n data: { index },\n });\n\n const style = { transform: CSS.Transform.toString(transform) };\n\n return (\n <div\n ref={setNodeRef}\n {...{ style, ...attributes, ...listeners }}\n className=\"neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium\"\n data-cy=\"reorder-field-block\"\n >\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1\">\n {index - systemFieldsCount + 1}\n </div>\n <div className=\"neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3\">\n <Reorder />\n <div data-cy=\"reorder-field-block-name\">{field.name}</div>\n </div>\n </div>\n );\n};\n\nexport default React.memo(FieldBlock);\n","import React, { useRef, useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n arrayMove,\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport { getQueryParams } from \"neetocommons/utils\";\nimport { Pane, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchFields,\n useReorderFields,\n} from \"hooks/reactQuery/useFieldsApi\";\n\nimport FieldBlock from \"./FieldBlock\";\n\nimport { FIELD_STATES } from \"../constants\";\n\nconst ReorderPane = ({ isOpen, onClose, ownerId }) => {\n const [fields, setFields] = useState([]);\n const initialStateRef = useRef([]);\n\n const { t } = useTranslation();\n const { resource } = getQueryParams();\n\n const { mutate: reorderField, isLoading: isSubmitting } = useReorderFields();\n\n const fieldParams = {\n resourceType: isEmpty(ownerId) ? resource : undefined,\n ownerId,\n state: FIELD_STATES.active,\n searchTerm: \"\",\n };\n\n const { data: { fields: allFields = [] } = {} } = useFetchFields(\n fieldParams,\n {\n enabled: !!resource && isOpen,\n onSuccess: ({ fields }) => {\n setFields(fields);\n initialStateRef.current = fields;\n },\n }\n );\n\n const handleDragEnd = ({ active, over }) => {\n if (active.id !== over.id) {\n setFields(fields =>\n arrayMove(fields, active.data.current.index, over.data.current.index)\n );\n }\n };\n\n const handleReorderSave = () => {\n const params = [];\n fields.map(\n (field, index) =>\n field.id !== allFields[index].id &&\n params.push({ id: field.id, displayOrder: index + 1 })\n );\n\n reorderField(\n { ownerId: isEmpty(ownerId) ? undefined : ownerId, fields: params },\n { onSuccess: onClose }\n );\n };\n\n return (\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography data-cy=\"reorder-pane-header\" style=\"h2\" weight=\"semibold\">\n {t(\"titles.reorderFields\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <Typography\n className=\"mb-3\"\n data-cy=\"reorder-pane-message\"\n style=\"body2\"\n >\n {t(\"messages.reorderFields\")}\n </Typography>\n <div className=\"flex flex-col items-center\">\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={fields}\n strategy={verticalListSortingStrategy}\n >\n {fields.map((field, index) => {\n if (field.isSystem) return null;\n\n return <FieldBlock {...{ field, fields, index }} key={index} />;\n })}\n </SortableContext>\n </DndContext>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-cy=\"save-changes-button\"\n disabled={initialStateRef.current === fields}\n label={t(\"labels.saveChanges\")}\n loading={isSubmitting}\n onClick={handleReorderSave}\n />\n <Button\n data-cy=\"cancel-button\"\n label={t(\"labels.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Pane>\n );\n};\n\nexport default ReorderPane;\n","import React from \"react\";\n\nimport NeetoUISubHeader from \"neetomolecules/SubHeader\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation\nconst Subheader = ({ count }) => {\n const { t } = useTranslation();\n\n return (\n <NeetoUISubHeader\n leftActionBlock={\n <Typography\n className=\"neeto-ui-gray-800 mr-4 font-semibold\"\n data-cy=\"neeto-fields-subheader-text\"\n style=\"h4\"\n >\n {t(\"titles.fieldWithCount\", { count })}\n </Typography>\n }\n />\n );\n};\n\nexport default Subheader;\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FieldsPane from \"components/FieldsPane\";\nimport { useFieldsDashboard } from \"hooks/useFieldsDashboard\";\n\nimport { ALL_KINDS, DEFAULT_FIELD_STATE_TAXONOMY } from \"./constants\";\nimport DeleteAlert from \"./DeleteAlert\";\nimport FieldsTable from \"./FieldsTable\";\nimport Header from \"./Header\";\nimport Menubar from \"./Menubar\";\nimport ReorderPane from \"./ReorderPane\";\nimport Subheader from \"./SubHeader\";\n\n/** @type {React.FC<import(\"types\").FieldsDashboardProps>} */\n\nconst FieldsDashboard = ({\n rowData = [],\n showOwnersInMenu: isOwnerBased = false,\n resourceType = \"\",\n allowedKinds = ALL_KINDS,\n paneProps,\n buildColumnData = ({ defaultColumns = [] }) => defaultColumns,\n breadcrumbs = [],\n showStateFilter = true,\n fieldStatesTaxonomy = DEFAULT_FIELD_STATE_TAXONOMY,\n helpDocUrl,\n nameAliases = {},\n headerTitle,\n resources, // Resources can be array of owners or array of resource types\n}) => {\n const { t } = useTranslation();\n\n const title = capitalize(headerTitle || t(\"titles.field\", PLURAL));\n\n const {\n isPaneOpen,\n setIsPaneOpen,\n isDeleteAlertOpen,\n isReorderPaneOpen,\n setIsReorderPaneOpen,\n fields,\n count,\n columnData,\n selectedField,\n selectedMenu,\n ownerId,\n isFieldsFetching,\n isFieldsFetched,\n isDeleting,\n isScreenLoading,\n isMenuBarNeeded,\n showCountSubheader,\n handleDelete,\n handleAlertClose,\n handleClosePane,\n handleReorderPaneClose,\n searchProps,\n stateFilterTabs,\n menuBarItems,\n reorderable,\n headerDisplayTitle,\n pageProps,\n setPageProps,\n } = useFieldsDashboard({\n buildColumnData,\n isOwnerBased,\n fieldStatesTaxonomy,\n nameAliases,\n title,\n resources,\n showStateFilter,\n });\n\n const headerProps = {\n reorderable,\n breadcrumbs,\n helpDocUrl,\n searchProps,\n setIsPaneOpen,\n setIsReorderPaneOpen,\n title: headerDisplayTitle,\n };\n\n return (\n <>\n {isMenuBarNeeded && <Menubar {...{ menuBarItems, title }} />}\n <Container>\n <Header {...headerProps} />\n {showStateFilter && stateFilterTabs}\n {showCountSubheader && <Subheader {...{ count }} />}\n {isScreenLoading ? (\n <div className=\"flex h-screen w-full flex-grow items-center justify-center\">\n <PageLoader />\n </div>\n ) : (\n <FieldsTable\n isFetched={isFieldsFetched}\n isFetching={isFieldsFetching}\n rowData={isEmpty(rowData) ? fields : rowData}\n totalCount={count}\n {...{\n columnData,\n helpDocUrl,\n pageProps,\n setIsPaneOpen,\n setPageProps,\n title,\n }}\n />\n )}\n <FieldsPane\n additionalValidations={paneProps?.validations}\n {...{ allowedKinds, selectedField }}\n hideRequiredSwitch={paneProps?.hideRequiredSwitch}\n initialValues={paneProps?.initialValues}\n isOpen={isPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n resourceType={isOwnerBased ? resourceType : selectedMenu}\n onClose={handleClosePane}\n onMutationSuccess={paneProps?.onMutationSuccess}\n >\n {paneProps?.children}\n </FieldsPane>\n </Container>\n <ReorderPane\n isOpen={isReorderPaneOpen}\n ownerId={isOwnerBased ? selectedMenu : \"\"}\n onClose={handleReorderPaneClose}\n />\n <DeleteAlert\n {...{\n handleAlertClose,\n handleDelete,\n isDeleteAlertOpen,\n isDeleting,\n ownerId,\n selectedField,\n }}\n resourceTypeName={isOwnerBased ? resourceType : selectedMenu}\n />\n </>\n );\n};\n\nexport default FieldsDashboard;\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { FIELD_VALUES_URL, FIELD_VALUE_URL } from \"src/constants\";\n\nconst fieldValueUrl = fieldValueId =>\n buildUrl(FIELD_VALUE_URL, { fieldValueId });\n\nconst create = payload => axios.post(FIELD_VALUES_URL, payload);\n\nconst fetch = payload => axios.get(FIELD_VALUES_URL, payload);\n\nconst destroy = ({ id, payload }) =>\n axios.delete(fieldValueUrl(id), { data: payload });\n\nconst update = ({ id, payload }) => axios.patch(fieldValueUrl(id), payload);\n\nconst fieldValuesApi = { create, fetch, destroy, update };\n\nexport default fieldValuesApi;\n","import { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { useQuery } from \"react-query\";\n\nimport fieldValuesApi from \"apis/field_values\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchFieldValues = params =>\n useQuery([QUERY_KEYS.FIELD_VALUES, params.resource], () =>\n fieldValuesApi.fetch({ params })\n );\n\nconst useCreateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.create, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useUpdateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.update, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useDeleteFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nexport {\n useCreateFieldValue,\n useFetchFieldValues,\n useUpdateFieldValue,\n useDeleteFieldValue,\n};\n","import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"messages.blockNavigationAlert.title\"),\n message: t(\"messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\"messages.blockNavigationAlert.submitButtonLabel\"),\n cancelButtonLabel: t(\"messages.blockNavigationAlert.cancelButtonLabel\"),\n};\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Form as NeetoUIForm } from \"neetoui/formik\";\n\nimport { getInitialFieldValue } from \"components/utils\";\n\nconst FieldValueInputWrapper = ({\n field,\n fieldValues,\n children,\n onSubmit,\n className = \"\",\n}) => (\n <NeetoUIForm\n scrollToErrorField\n className={classnames(\"flex w-full\", className)}\n formikProps={{\n initialValues: getInitialFieldValue({\n field,\n fieldValues,\n isIndividualFieldForm: true,\n }),\n onSubmit,\n enableReinitialize: true,\n }}\n >\n {children}\n </NeetoUIForm>\n);\n\nexport default FieldValueInputWrapper;\n","import { isEmpty } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isFieldValueEmpty = (fieldKind, fieldValueData) => {\n if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);\n\n if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {\n return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);\n }\n\n return isEmpty(fieldValueData.value);\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { head, isEmpty, values as getValues, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport {\n useCreateFieldValue,\n useDeleteFieldValue,\n useUpdateFieldValue,\n} from \"hooks/reactQuery/useFieldValuesApi\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\nimport { isFieldValueEmpty } from \"./utils\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = { onSuccess: onMutationSuccess };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { mutate: createFieldValue } = useCreateFieldValue(queryOptions);\n const { mutate: updateFieldValue } = useUpdateFieldValue(queryOptions);\n const { mutate: deleteFieldValue } = useDeleteFieldValue(queryOptions);\n\n const handleSubmit = (field, values) => {\n const fieldValue = head(getValues(values));\n const payload = {\n fieldValue,\n resource: resourceType,\n resourceId,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n if (isFieldValueEmpty(field.kind, fieldValue.data)) {\n deleteFieldValue({ id: fieldValue.id, payload });\n } else {\n fieldValue.id\n ? updateFieldValue({ id: fieldValue.id, payload })\n : createFieldValue(payload);\n }\n };\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n {...{ field, fieldValues }}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["create","_typeof","toPrimitive","toPropertyKey","setPrototypeOf","assertThisInitialized","arrayLikeToArray","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","ownKeys$6","_objectSpread$6","ownKeys$5","_objectSpread$5","ownKeys$4","_objectSpread$4","ownKeys$3","_objectSpread$3","ownKeys$2","_objectSpread$2","ownKeys$1","_objectSpread$1","ownKeys","_objectSpread","noop","t","getDefaults","objectWithoutPropertiesLoose","defaultOptions","_excluded","HTML","iterableToArrayLimit","i18n","use","LanguageDetector","initReactI18next","init","resources","en","translation","fallbackLng","detection","order","services","formatter","addCached","lng","options","Intl","ListFormat","sanitizer","value","DOMPurify","sanitize","USE_PROFILES","html","boldEmails","map","email","concat","sanitizedEmails","split","format","arrayWithoutHoles","nonIterableSpread","DEFAULT_PAGE_SIZE","KINDS","text","number","monetary","singleOption","multiOption","date","time","dateRange","timeRange","textarea","textArea","person","checkbox","regex","integer","decimal","datetime","DISPLAY_KINDS","single_option","multi_option","date_range","time_range","text_area","FIELD_STATES","active","inactive","DEFAULT_FIELD_STATE_TAXONOMY","ALL_KINDS","values","isDateTime","kind","includes","isDropdown","require$$0","this","dateSchema","yup","nullable","isValueEmpty","isEmpty","trim","isCheckboxUnchecked","isArrayEmpty","buildSchemaAllowingEmptyValue","schema","mixed","test","name","isNotEmpty","isNotNil","validateSync","buildSchemaForRequiredInputs","isNil","ValidationError","buildSchema","_ref","isRequired","getBasicValidationSchema","_ref2","fieldData","string","array","of","regexPattern","condition","matches","cleanedRegex","helpMessage","buildFieldValidationSchema","_ref3","regexCondition","patternMatchingExp","conditionFlags","match","conditionWithoutFlags","replace","sanitizedFlags","_toConsumableArray","Set","join","startsWith","endsWith","slice","RegExp","validateField","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref4","fieldValue","fieldName","wrap","_callee$","_context","prev","next","object","shape","_defineProperty","validate","abrupt","t0","errors","stop","_x","apply","arguments","dateTimeToString","dateTime","dayjs","toString","useFormikFields","fieldId","id","data","individualSubmit","formRef","formRefs","disabled","_ref$isRequiredColumn","isRequiredColumnName","props","_objectWithoutProperties","formikContext","useFormikContext","submitForm","dirty","isSubmitting","fieldPath","escapeString","fieldValuePath","renameKeys","current","_useField","useField","_useField2","_slicedToArray","formikFieldProps","meta","helpers","debouncedSubmitForm","useFuncDebounce","handleSubmit","setValue","getValueForField","findBy","_value","optionId","useEffect","touched","setTouched","fieldProps","error","label","capitalize","labelProps","required","undefined","getPopupContainer","prop","Checkbox","_useFormikFields","React","createElement","NeetoUICheckbox","_extends","checked","onChange","target","DateOrTime","handleChange","TimePicker","use12Hours","DatePicker","showTime","timeFormat","MultiOption","Select","isMulti","isSearchable","strategy","selectedOptions","pluck","Number","showSubmitButton","Input","type","suffix","Button","joinHyphenCase","icon","Check","style","onClick","RangePicker","begin","end","SingleOption","isClearable","option","Text","TextArea","_useTranslation","useTranslation","Fragment","Textarea","className","size","standardComponents","TextInput","TextAreaInput","NumberInput","DateOrTimeInput","SingleOptionInput","MultiOptionInput","RangePickerInput","getFieldInput","field","_ref$customComponents","customComponents","Component","removeItemsWithNullData","fieldValues","filter","item","removeNoiseFromValues","pick","transformValues","formikValues","fields","allFieldValues","clone","neetoFieldValues","forEach","push","cleanedFieldValues","pipe","fieldValuesAttributes","getDefaultInitialValue","getInitialFieldValue","_ref4$fieldValues","_ref4$isIndividualFie","isIndividualFieldForm","existingFieldValueData","keyInData","newFieldValueData","getAllInitialFieldValues","length","getNonSystemFields","mergeInitialValues","_ref7","initialValues","initialValue","mergeAll","omit","filterBy","isSystem","charCode","charCodeAt","neetoFieldsUtils","FieldInputs","Field","key","Typography","NEETO_FIELDS_URL","FIELDS_URL","FIELD_VALUES_URL","FIELD_VALUE_URL","FIELD_URL","DEPENDENCIES_URL","FIELDS_REORDER_URL","CONFIGS_URL","INFO_ICON_SIZE","fieldUrl","buildUrl","dependenciesUrl","fetch","resourceType","ownerId","state","searchTerm","pageProps","axios","get","params","payload","post","show","destroy","update","put","reorder","patch","dependencies","fieldsApi","QUERY_KEYS","FIELDS","FIELD_VALUES","CONFIGS","DEPENDENCIES","DEFAULT_STALE_TIME","useFetchFields","_ref$prefixQueryKeys","prefixQueryKeys","_ref$pageProps","useQuery","staleTime","useCreateField","useMutationWithInvalidation","keysToInvalidate","useShowField","queryKey","useFetchDependencies","useUpdateField","useDestroyField","useReorderFields","arrangeOptionsDisplayOrder","index","displayOrder","buildPayload","formValues","_ref$resourceType","_ref$ownerId","isRegex","isAdditionalDataNeeded","ADDITIONAL_DATA_NEEDED_FIELD_KINDS","getPermittedKinds","allowedKinds","selectedKind","filteredKinds","FIELD_KINDS","permittedKinds","group","generateValidationSchema","additionalValidations","BASIC_FIELD_FORM_VALIDATIONS","renderFormFooter","onClose","loading","_ref3$dirty","Pane","Footer","ActionBlock","cancelButtonProps","submitButtonProps","getDefaultOption","uuidv4","PERMITTED_REGEX_PATTERN","ADVANCED_REGEX_ASSERTION_PATTERN","regexValidationSchema","message","lastIndex","lastIndexOf","substring","search","_unused","dropDownOptionsValidationSchema","min","INITIAL_FIELDS","toLabelAndValue","DEFAULT_REGEX_DATA","when","is","then","AdditionalInputs","_useFormikContext","_useFormikContext$val","removeOption","arrayHelpers","remove","addOption","FieldArray","Label","Array","isArray","_","placeholder","Delete","fullWidth","FieldForm","chosenKind","_ref$kindSelectOption","kindSelectOptions","_ref$isSystem","_ref$hideRequiredSwit","hideRequiredSwitch","children","setFieldValue","handleKindChange","Body","isDisabled","Switch","component","Add","_ref$allowedKinds","onMutationSuccess","_useCreateField","onSuccess","createField","mutate","isLoading","Header","Form","formikProps","validationSchema","onSubmit","Edit","_ref$additionalValida","_ref$initialValues","_useShowField","_useShowField$data","_useShowField$data2","_useShowField$data2$f","_useUpdateField","_len","args","_key","updateField","PageLoader","assoc","enableReinitialize","FieldsPane","isOpen","_ref$selectedField","selectedField","require","Menu","Dropdown","MenuItem","buildDefaultColumns","onDeleteClick","onEditClick","dataIndex","title","width","render","buttonStyle","MenuHorizontal","buttonProps","boolVal","renderMenuBarItems","items","isOwnerBased","selectedMenu","handleBlockClick","nameAliases","toLocaleLowerCase","MenuBar","Item","slugify","humanize","description","resource","renderStateFilterTabs","selectedState","fieldStatesTaxonomy","activeFieldsCount","inactiveFieldsCount","Tab","getResourceName","owners","selectedVal","_findBy","getDashBoardTitle","resourceName","isSingleResource","displayTitle","renderNoDataHelpText","url","Trans","i18nKey","components","a","Link","to","pathname","getDeletionConfirmationMessage","_ref6","affectedResourcesCount","pluralize","count","fetchConfigs","configsApi","useFetchConfigs","useFieldsDashboard","buildColumnData","showStateFilter","_useState","useState","_useState2","isPaneOpen","setIsPaneOpen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","isReorderPaneOpen","setIsReorderPaneOpen","_useState7","_useState8","setSelectedField","_useState9","_useState10","setSearchTerm","_useState11","pageIndex","DEFAULT_PAGE_INDEX","pageSize","_useState12","setPageProps","debouncedSearchTerm","useDebounce","history","useHistory","_getQueryParams","getQueryParams","_useFetchConfigs","enabled","_useFetchConfigs$data","_useFetchConfigs$data2","_useFetchConfigs$data3","_useFetchConfigs$data4","resourceTypes","isConfigsLoading","fieldParams","_useFetchFields","keepPreviousData","_useFetchFields$data","_useFetchFields$data2","_useFetchFields$data3","reorderable","isFieldsLoading","isFieldsFetching","isFetching","isFieldsFetched","isFetched","_useDestroyField","deleteField","isDeleting","handleDelete","handleClosePane","handleEditButtonClick","handleDeleteButtonClick","handleAlertClose","handleReorderPaneClose","defaultColumns","columnData","handleMetaClick","menuItems","handleURLWithDefaultValues","queryParams","_menuItems$","any","isScreenLoading","showCountSubheader","searchProps","e","isMenuBarNeeded","useMemo","headerDisplayTitle","stateFilterTabs","menuBarItems","DeleteAlert","resourceTypeName","_useFetchDependencies","_useFetchDependencies2","_useFetchDependencies3","Alert","submitButtonLabel","FieldsTable","totalCount","rowData","helpDocUrl","showNoDataScreen","TableWrapper","NoData","helpText","primaryButtonProps","Table","fixedHeight","allowRowClick","currentPageNumber","defaultPageSize","handlePageChange","TitleWithHelpLink","helpUrl","href","rel","Info","breadcrumbs","actionBlockProps","NeetoUIHeader","actionBlock","Menubar","NeetoUIMenuBar","showMenu","ID_PREFIX","ID_PREFIX$1","FieldBlock","systemFieldsCount","countBy","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","CSS","Transform","ref","Reorder","memo","ReorderPane","setFields","initialStateRef","useRef","_useReorderFields","reorderField","allFields","handleDragEnd","over","arrayMove","handleReorderSave","weight","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","verticalListSortingStrategy","Subheader","NeetoUISubHeader","leftActionBlock","FieldsDashboard","_ref$rowData","_ref$showOwnersInMenu","showOwnersInMenu","paneProps","_ref$buildColumnData","_ref2$defaultColumns","_ref$breadcrumbs","_ref$showStateFilter","_ref$fieldStatesTaxon","_ref$nameAliases","headerTitle","PLURAL","_useFieldsDashboard","headerProps","Container","validations","fieldValueUrl","fieldValueId","fieldValuesApi","useCreateFieldValue","useUpdateFieldValue","useDeleteFieldValue","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","cancelButtonLabel","BlockNavigation","blockNavigation","blockNavigationAlertProps","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","FieldValueInputWrapper","_ref$className","NeetoUIForm","scrollToErrorField","classnames","isFieldValueEmpty","fieldKind","fieldValueData","FieldValuesContainer","propFields","resourceId","_ref$showBorder","showBorder","_ref$disabled","fieldClassName","_ref$onMutationSucces","_ref$blockNavigation","_ref$blockNavigationA","queryOptions","fetchedFields","_useCreateFieldValue","createFieldValue","_useUpdateFieldValue","updateFieldValue","_useDeleteFieldValue","deleteFieldValue","head","getValues","Spinner","BlockNavigationAlert"],"mappings":"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AAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,C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"}
|