@mtes-mct/monitor-ui 4.0.3 → 4.0.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/cypress/utils/findElementBytext.ts","../../src/cypress/commands/clickButton.ts","../../src/cypress/commands/clickOutside.ts","../../src/cypress/utils/findElementBySelector.ts","../../src/cypress/utils/waitFor.ts","../../node_modules/ramda/es/internal/_isPlaceholder.js","../../node_modules/ramda/es/internal/_curry1.js","../../node_modules/ramda/es/internal/_curry2.js","../../node_modules/ramda/es/internal/_isArray.js","../../node_modules/ramda/es/internal/_isString.js","../../node_modules/ramda/es/internal/_has.js","../../node_modules/ramda/es/internal/_isArguments.js","../../node_modules/ramda/es/keys.js","../../node_modules/ramda/es/type.js","../../node_modules/ramda/es/internal/_arrayFromIterator.js","../../node_modules/ramda/es/internal/_includesWith.js","../../node_modules/ramda/es/internal/_functionName.js","../../node_modules/ramda/es/internal/_objectIs.js","../../node_modules/ramda/es/internal/_equals.js","../../node_modules/ramda/es/equals.js","../../node_modules/ramda/es/internal/_isObject.js","../../node_modules/ramda/es/internal/_isTypedArray.js","../../node_modules/ramda/es/empty.js","../../node_modules/ramda/es/isEmpty.js","../../src/cypress/commands/fill/checkCheckbox.ts","../../src/cypress/commands/fill/checkMultiCheckboxOptions.ts","../../src/cypress/commands/fill/checkMultiRadioOption.ts","../../src/cypress/commands/fill/fillTextarea.ts","../../src/cypress/commands/fill/fillTextInput.ts","../../src/cypress/commands/fill/pickMultiSelectOptions.ts","../../src/cypress/commands/fill/pickSelectOption.ts","../../src/cypress/commands/fill/index.ts","../../src/cypress/commands/forceClick.ts","../../src/cypress/commands/getDataCy.ts","../../src/cypress/index.ts"],"sourcesContent":["// I have no idea why I have to add this dirty hack of setting an external variable\n// instead of using a cleaner FP `.filter()`\n// but real experience made me think it greatly improves results stability.\n\nexport function findElementBytext(\n selector: string,\n text: string,\n {\n fallbackSelector,\n index = 0,\n inElement\n }: Partial<{\n fallbackSelector: string\n inElement: HTMLElement\n index: number\n }> = {}\n) {\n const trimmedText = text.trim()\n\n if (inElement) {\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n Cypress.$(inElement)\n .find(selector)\n // eslint-disable-next-line func-names\n .each(function (this: HTMLElement) {\n if (!foundElement && Cypress.$(this).text().trim() === trimmedText) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n cy.log(`⚠️ Using fallback selector: \"${fallbackSelector}\"`)\n\n const foundElementByFallbackSelector = Cypress.$(inElement).find(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n }\n\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line func-names, @typescript-eslint/no-unused-expressions\n Cypress.$(selector).each(function () {\n if (!foundElement && Cypress.$(this).text().trim() === trimmedText) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n // eslint-disable-next-line no-console\n console.warn(`Using fallback selector: \"${fallbackSelector}\".`)\n\n const foundElementByFallbackSelector = Cypress.$(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n}\n","import { findElementBytext } from '../utils/findElementBytext'\n\nconst RETRIES = 5\n\nexport function clickButton(\n label: string,\n {\n index = 0,\n withinSelector\n }: Partial<{\n index: number | undefined\n withinSelector: string | undefined\n }> = {},\n leftRetries: number = RETRIES\n): Cypress.Chainable<JQuery<HTMLButtonElement>> {\n const preSelector = withinSelector ? `${withinSelector} ` : ''\n\n const iconButtonElement = Cypress.$(`${preSelector}button[aria-label=\"${label}\"]`).get(index) as HTMLButtonElement\n const textButtonElement = findElementBytext(`${preSelector}button`, label, { index }) as HTMLButtonElement | null\n const menuItemElement = findElementBytext(`${preSelector}[role=\"menuitem\"]`, label, { index }) as HTMLElement | null\n\n if (iconButtonElement) {\n return cy.wrap(iconButtonElement).scrollIntoView().click({ force: true }).wait(250)\n }\n\n if (menuItemElement) {\n return cy\n .wrap(menuItemElement as any)\n .scrollIntoView()\n .click({ force: true })\n .wait(250)\n }\n\n if (textButtonElement) {\n return cy.wrap(textButtonElement).scrollIntoView().click({ force: true }).wait(250)\n }\n\n if (leftRetries > 0) {\n return cy.wait(250).then(() => {\n cy.log(`Retrying (${RETRIES - leftRetries + 1} / ${RETRIES})...`)\n\n return clickButton(label, { index, withinSelector }, leftRetries - 1)\n })\n }\n\n throw new Error(`Unable to find button with label \"${label}\".`)\n}\n","/**\n * @description\n * Useful to close modals.\n */\nexport function clickOutside(xPosition: number = 0, yPosition: number = 0) {\n cy.log(`Click outside at position: ${xPosition}, ${yPosition}`)\n\n cy.get('body').click(xPosition, yPosition)\n}\n","// I have no idea why I have to add this dirty hack of setting an external variable\n// instead of using a cleaner FP `.filter()`\n// but real experience made me think it greatly improves results stability.\n\nexport function findElementBySelector(\n selector: string,\n {\n fallbackSelector,\n index = 0,\n inElement\n }: Partial<{\n fallbackSelector: string\n inElement: HTMLElement\n index: number\n }> = {}\n) {\n if (inElement) {\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n Cypress.$(inElement)\n .find(selector)\n // eslint-disable-next-line func-names\n .each(function (this: HTMLElement) {\n if (!foundElement) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n cy.log(`⚠️ Using fallback selector: \"${fallbackSelector}\"`)\n\n const foundElementByFallbackSelector = Cypress.$(inElement).find(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n }\n\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line func-names, @typescript-eslint/no-unused-expressions\n Cypress.$(selector).each(function () {\n if (!foundElement) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n // eslint-disable-next-line no-console\n console.warn(`Using fallback selector: \"${fallbackSelector}\".`)\n\n const foundElementByFallbackSelector = Cypress.$(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n}\n","export function waitFor(inMs: number): Promise<void> {\n return new Promise(resolve => {\n setTimeout(resolve, inMs)\n })\n}\n","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values, R.toPairs\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparison of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","/**\n * Tests whether or not an object is a typed array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is a typed array, `false` otherwise.\n * @example\n *\n * _isTypedArray(new Uint8Array([])); //=> true\n * _isTypedArray(new Float32Array([])); //=> true\n * _isTypedArray([]); //=> false\n * _isTypedArray(null); //=> false\n * _isTypedArray({}); //=> false\n */\nexport default function _isTypedArray(val) {\n var type = Object.prototype.toString.call(val);\n return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]';\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _isString from \"./internal/_isString.js\";\nimport _isTypedArray from \"./internal/_isTypedArray.js\";\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`),\n * TypedArray (`Uint8Array []`, `Float32Array []`, etc), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n * R.empty(Uint8Array.from('123')); //=> Uint8Array []\n */\n\nvar empty =\n/*#__PURE__*/\n_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : _isTypedArray(x) ? x.constructor.from('') : void 0 // else\n ;\n});\n\nexport default empty;","import _curry1 from \"./internal/_curry1.js\";\nimport empty from \"./empty.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n * R.isEmpty(Uint8Array.from('')); //=> true\n */\n\nvar isEmpty =\n/*#__PURE__*/\n_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\n\nexport default isEmpty;","export function checkCheckbox(checkboxInputElement: HTMLInputElement, value: boolean) {\n if (value) {\n cy.wrap(checkboxInputElement).scrollIntoView().check({ force: true })\n } else {\n cy.wrap(checkboxInputElement).scrollIntoView().uncheck({ force: true })\n }\n}\n","export function checkMultiCheckboxOptions(fieldsetElement: HTMLElement, values: string[] | undefined) {\n cy.wrap(fieldsetElement).scrollIntoView().find('input[type=\"checkbox\"]').uncheck({ force: true })\n\n if (values) {\n values.forEach(value => {\n cy.wrap(fieldsetElement).find('label').contains(value).find('input[type=\"checkbox\"]').check({ force: true })\n })\n }\n\n return fieldsetElement\n}\n","export function checkMultiRadioOption(fieldsetElement: HTMLElement, value: string) {\n cy.wrap(fieldsetElement)\n .find('label')\n .contains(value)\n .find('input[type=\"radio\"]')\n .scrollIntoView()\n .check({ force: true })\n\n return fieldsetElement\n}\n","export function fillTextarea(textareaElement: HTMLTextAreaElement, value: string | undefined) {\n if (value) {\n cy.wrap(textareaElement).scrollIntoView().type(value, { delay: 1, force: true })\n } else {\n cy.wrap(textareaElement).scrollIntoView().clear()\n }\n}\n","export function fillTextInput(textInputElement: HTMLInputElement, value: string | undefined) {\n if (value) {\n cy.wrap(textInputElement).scrollIntoView().type(value)\n } else {\n cy.wrap(textInputElement).scrollIntoView().clear()\n }\n}\n","export function pickMultiSelectOptions(\n cypressMultiSelectInputElement: Cypress.Chainable<JQuery<HTMLElement>>,\n values: string[] | undefined\n) {\n cypressMultiSelectInputElement\n .parent()\n .parent()\n .parent()\n .parent()\n .parent()\n .then(([rsuiteMultiSelectWrapperElement]) => {\n if (!rsuiteMultiSelectWrapperElement) {\n throw new Error('This should never happen.')\n }\n\n const maybeClearButton = rsuiteMultiSelectWrapperElement.querySelector('.rs-picker-toggle-clean')\n if (maybeClearButton) {\n cy.wrap(maybeClearButton).scrollIntoView().click({ force: true }).wait(250)\n }\n\n if (!values) {\n return\n }\n\n cy.wrap(rsuiteMultiSelectWrapperElement).scrollIntoView()\n\n cy.wrap(rsuiteMultiSelectWrapperElement).get('.rs-picker-toggle-caret').click()\n\n cy.get('.rs-picker-picker-check-menu').then(([rsuiteMultiSelectMenu]) => {\n if (!rsuiteMultiSelectMenu) {\n throw new Error('This should never happen.')\n }\n\n const maybeSearchInput = rsuiteMultiSelectMenu.querySelector('.rs-picker-search-bar-input')\n values.forEach(value => {\n if (maybeSearchInput) {\n cy.wrap(maybeSearchInput).scrollIntoView().type(value)\n }\n\n cy.get('.rs-checkbox-checker').contains(value).scrollIntoView().click({ force: true })\n })\n\n const offsetLeft = rsuiteMultiSelectWrapperElement.offsetLeft\n ? rsuiteMultiSelectWrapperElement.offsetLeft\n : (() => {\n if (!rsuiteMultiSelectWrapperElement.offsetParent) {\n throw new Error('`rsuiteMultiSelectWrapperElement.offsetParent` is undefined.')\n }\n\n return (rsuiteMultiSelectWrapperElement.offsetParent as HTMLBodyElement).offsetLeft\n })()\n const offsetTop =\n rsuiteMultiSelectWrapperElement.offsetTop !== 0\n ? rsuiteMultiSelectWrapperElement.offsetTop\n : (() => {\n if (!rsuiteMultiSelectWrapperElement.offsetParent) {\n throw new Error('`rsuiteMultiSelectWrapperElement.offsetParent` is undefined.')\n }\n\n return (rsuiteMultiSelectWrapperElement.offsetParent as HTMLBodyElement).offsetTop\n })()\n\n // TODO Investigate that (this should be -1).\n cy.clickOutside(offsetLeft, offsetTop - 16)\n\n cy.wait(250)\n })\n })\n}\n","export function pickSelectOption(\n cypressSelectInputElement: Cypress.Chainable<JQuery<HTMLElement>>,\n value: string | undefined\n) {\n cypressSelectInputElement\n .parent()\n .parent()\n .parent()\n .parent()\n .parent()\n .scrollIntoView()\n .then(([rsuiteSelectWrapperElement]) => {\n if (!rsuiteSelectWrapperElement) {\n throw new Error('This should never happen.')\n }\n\n const maybeClearButton = rsuiteSelectWrapperElement.querySelector('.rs-picker-toggle-clean')\n if (maybeClearButton) {\n cy.wrap(maybeClearButton).scrollIntoView().click({ force: true })\n }\n\n if (!value) {\n return\n }\n\n cy.wrap(rsuiteSelectWrapperElement).scrollIntoView().get('.rs-picker-toggle-caret').click()\n\n cy.get('.rs-picker-select-menu').then(([rsuiteSelectMenu]) => {\n if (!rsuiteSelectMenu) {\n throw new Error('This should never happen.')\n }\n\n const maybeSearchInput = rsuiteSelectMenu.querySelector('.rs-picker-search-bar-input')\n if (maybeSearchInput) {\n cy.wrap(maybeSearchInput).scrollIntoView().type(value)\n }\n\n cy.get('.rs-picker-select-menu-item').contains(value).scrollIntoView().click({ force: true })\n })\n })\n\n return cypressSelectInputElement\n}\n","/* eslint-disable cypress/no-assigning-return-values */\n\nimport { findElementBySelector } from '../../utils/findElementBySelector'\nimport { waitFor } from '../../utils/waitFor'\nimport { isEmpty } from 'ramda'\n\nimport { checkCheckbox } from './checkCheckbox'\nimport { checkMultiCheckboxOptions } from './checkMultiCheckboxOptions'\nimport { checkMultiRadioOption } from './checkMultiRadioOption'\nimport { fillTextarea } from './fillTextarea'\nimport { fillTextInput } from './fillTextInput'\nimport { pickMultiSelectOptions } from './pickMultiSelectOptions'\nimport { pickSelectOption } from './pickSelectOption'\nimport { findElementBytext } from '../../utils/findElementBytext'\n\nconst RETRIES = 5\n\nexport function fill(\n label: string | undefined,\n value: boolean | number | string | string[] | undefined,\n leftRetries: number = RETRIES\n): void {\n // -------------------------------------------------------------------------\n // If this is a `<label />` element\n\n const labelElement = findElementBytext('label', label as string) as HTMLLabelElement | undefined\n\n if (labelElement) {\n // -------------------------------------------------------------------------\n // If the label has a `for` attribute\n\n if (!isEmpty(labelElement.htmlFor)) {\n const htmlforElement = findElementBySelector(`[id=\"${labelElement.htmlFor}\"]`)\n if (!htmlforElement) {\n throw new Error(\n `Could not find the element with [id=\"${labelElement.htmlFor}\"] targetted by label \"${label}\" (via its \\`for\\` attribute).`\n )\n }\n\n const cypressHtmlforElement = cy.get(`[id=\"${labelElement.htmlFor}\"]`)\n cypressHtmlforElement.then((() => {\n if (htmlforElement.classList.contains('rs-picker-toggle-textbox')) {\n const rsuitePickerElement =\n htmlforElement.parentElement &&\n htmlforElement.parentElement.parentElement &&\n htmlforElement.parentElement.parentElement.parentElement\n ? htmlforElement.parentElement.parentElement.parentElement.parentElement\n : undefined\n if (!rsuitePickerElement) {\n throw new Error('This should never happen.')\n }\n\n switch (true) {\n // Select\n case rsuitePickerElement.classList.contains('rs-picker-select'):\n pickSelectOption(cypressHtmlforElement, value !== undefined ? String(value) : value)\n break\n\n // Multi Select\n case rsuitePickerElement.classList.contains('rs-picker-tag'):\n pickMultiSelectOptions(\n cypressHtmlforElement,\n Array.isArray(value) && value.length > 0 ? value : undefined\n )\n break\n\n default:\n throw new Error(\n `\\`cy.fill()\\` can't handle Rsuite picker with class \"${rsuitePickerElement.className}\" elements.`\n )\n }\n\n return\n }\n\n switch (htmlforElement.tagName) {\n // Text/Number Input\n case 'INPUT':\n fillTextInput(htmlforElement as HTMLInputElement, value !== undefined ? String(value) : value)\n break\n\n // Textarea\n case 'TEXTAREA':\n fillTextarea(htmlforElement as HTMLTextAreaElement, value !== undefined ? String(value) : value)\n break\n\n default:\n throw new Error(`\\`cy.fill()\\` doesn't handle \"${htmlforElement.tagName}\" elements.`)\n }\n }) as any)\n\n return\n }\n\n // -------------------------------------------------------------------------\n // If the label doesn't have a `for` attribute\n\n // Checkbox Input\n const checkboxInputElement = labelElement.querySelector('input[type=\"checkbox\"]') as HTMLInputElement | null\n if (checkboxInputElement) {\n checkCheckbox(checkboxInputElement, Boolean(value))\n\n return\n }\n\n // Text Input\n const textInputElement = labelElement.querySelector('input[type=\"text\"]') as HTMLInputElement | null\n if (textInputElement) {\n fillTextInput(textInputElement, String(value))\n\n return\n }\n\n // Textarea\n const textareaElement = labelElement.querySelector('textarea')\n if (textareaElement) {\n fillTextarea(textareaElement, String(value))\n\n return\n }\n\n throw new Error(`Could find neither a checkbox, an input nor a textarea with the label \"${label}\".`)\n }\n\n // -------------------------------------------------------------------------\n // If this is a `<legend />` element\n\n const legendElement = findElementBytext('legend', label as string) as HTMLLegendElement | undefined\n\n if (legendElement) {\n const cypressLegendElement = cy.get('legend').contains(label as string)\n cypressLegendElement.then(async () => {\n await waitFor(500)\n\n const fieldsetElement = legendElement.parentElement\n if (!fieldsetElement || fieldsetElement.tagName !== 'FIELDSET') {\n throw new Error(`Could not find parent fieldset of legend element with text \"${label}\".`)\n }\n\n const isMultiCheckbox = Boolean(fieldsetElement.querySelector('input[type=\"checkbox\"]'))\n const isMultiRadio = Boolean(fieldsetElement.querySelector('input[type=\"radio\"]'))\n\n if (isMultiCheckbox) {\n checkMultiCheckboxOptions(fieldsetElement, Array.isArray(value) && value.length > 0 ? value : undefined)\n\n return\n }\n\n if (isMultiRadio) {\n checkMultiRadioOption(fieldsetElement, String(value))\n\n return\n }\n\n throw new Error(`\\`cy.fill()\\` can't handle the field with legend \"${label}\".`)\n })\n\n return\n }\n\n if (leftRetries > 0) {\n cy.wait(250).then(() => {\n cy.log(`Retrying (${RETRIES - leftRetries + 1} / ${RETRIES})...`)\n\n fill(label, value, leftRetries - 1)\n })\n\n return\n }\n\n throw new Error(`Could not find label or legend element with text \"${label}\".`)\n}\n","export function forceClick([subject]: Cypress.Chainable<Cypress.JQueryWithSelector>[]): Cypress.Chainable<\n JQuery<HTMLElement>\n> {\n if (!subject) {\n throw new Error(`Could not find subject.`)\n }\n\n return subject.click({ force: true })\n}\n","export function getDataCy(dataCy: string): Cypress.Chainable<JQuery<HTMLElement>> {\n return cy.get(`[data-cy=\"${dataCy}\"]`)\n}\n","import { clickButton } from './commands/clickButton'\nimport { clickOutside } from './commands/clickOutside'\nimport { fill } from './commands/fill'\nimport { forceClick } from './commands/forceClick'\nimport { getDataCy } from './commands/getDataCy'\n\nCypress.Commands.add('clickButton', clickButton)\n\nCypress.Commands.add(\n 'clickLink',\n (linkText: string): Cypress.Chainable<JQuery<HTMLAnchorElement>> => cy.get('a').contains(linkText).click()\n)\n\n/**\n * @description\n * Useful to close modals.\n */\nCypress.Commands.add('clickOutside', clickOutside)\n\n/**\n * @example\n * ```ts\n * cy.fill('Password', 'P422W0Rd')\n * ```\n */\nCypress.Commands.add('fill', fill)\n\n// Maybe because of https://github.com/cypress-io/cypress/issues/19564\nCypress.Commands.add('forceClick', { prevSubject: true }, forceClick)\n\nCypress.Commands.add('getDataCy', getDataCy)\n"],"names":["RETRIES","_objectIs"],"mappings":"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","x_google_ignoreList":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}
1
+ {"version":3,"file":"index.js","sources":["../../src/cypress/utils/findElementBytext.ts","../../src/cypress/commands/clickButton.ts","../../src/cypress/commands/clickOutside.ts","../../src/cypress/utils/findElementBySelector.ts","../../src/cypress/utils/waitFor.ts","../../node_modules/ramda/es/internal/_isPlaceholder.js","../../node_modules/ramda/es/internal/_curry1.js","../../node_modules/ramda/es/internal/_curry2.js","../../node_modules/ramda/es/internal/_isArray.js","../../node_modules/ramda/es/internal/_isString.js","../../node_modules/ramda/es/internal/_has.js","../../node_modules/ramda/es/internal/_isArguments.js","../../node_modules/ramda/es/keys.js","../../node_modules/ramda/es/type.js","../../node_modules/ramda/es/internal/_arrayFromIterator.js","../../node_modules/ramda/es/internal/_includesWith.js","../../node_modules/ramda/es/internal/_functionName.js","../../node_modules/ramda/es/internal/_objectIs.js","../../node_modules/ramda/es/internal/_equals.js","../../node_modules/ramda/es/equals.js","../../node_modules/ramda/es/internal/_isObject.js","../../node_modules/ramda/es/internal/_isTypedArray.js","../../node_modules/ramda/es/empty.js","../../node_modules/ramda/es/isEmpty.js","../../src/cypress/commands/fill/checkCheckbox.ts","../../src/cypress/commands/fill/checkMultiCheckboxOptions.ts","../../src/cypress/commands/fill/checkMultiRadioOption.ts","../../src/cypress/commands/fill/fillTextarea.ts","../../src/cypress/commands/fill/fillTextInput.ts","../../src/cypress/commands/fill/pickMultiSelectOptions.ts","../../src/cypress/commands/fill/pickSelectOption.ts","../../src/cypress/commands/fill/index.ts","../../src/cypress/commands/forceClick.ts","../../src/cypress/commands/getDataCy.ts","../../src/cypress/index.ts"],"sourcesContent":["// I have no idea why I have to add this dirty hack of setting an external variable\n// instead of using a cleaner FP `.filter()`\n// but real experience made me think it greatly improves results stability.\n\nexport function findElementBytext(\n selector: string,\n text: string,\n {\n fallbackSelector,\n index = 0,\n inElement\n }: Partial<{\n fallbackSelector: string\n inElement: HTMLElement | undefined\n index: number\n }> = {}\n) {\n const trimmedText = text.trim()\n\n if (inElement) {\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n Cypress.$(inElement)\n .find(selector)\n // eslint-disable-next-line func-names\n .each(function (this: HTMLElement) {\n if (!foundElement && Cypress.$(this).text().trim() === trimmedText) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n cy.log(`⚠️ Using fallback selector: \"${fallbackSelector}\"`)\n\n const foundElementByFallbackSelector = Cypress.$(inElement).find(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n }\n\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line func-names, @typescript-eslint/no-unused-expressions\n Cypress.$(selector).each(function () {\n if (!foundElement && Cypress.$(this).text().trim() === trimmedText) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n // eslint-disable-next-line no-console\n console.warn(`Using fallback selector: \"${fallbackSelector}\".`)\n\n const foundElementByFallbackSelector = Cypress.$(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n}\n","import { findElementBytext } from '../utils/findElementBytext'\n\nconst RETRIES = 5\n\nexport function clickButton(\n prevSubjectElements: HTMLElement[] | undefined,\n label: string,\n {\n index = 0,\n withinSelector\n }: Partial<{\n index: number | undefined\n withinSelector: string | undefined\n }> = {},\n leftRetries: number = RETRIES\n): Cypress.Chainable<JQuery<HTMLElement>> {\n const prevSubjectElement = prevSubjectElements ? prevSubjectElements[0] : undefined\n if (prevSubjectElements && !prevSubjectElements[0]) {\n throw new Error('`prevSubjectElements[0]` is undefined.')\n }\n\n const preSelector = withinSelector ? `${withinSelector} ` : ''\n\n const iconButtonElementByAriaLabel = prevSubjectElement\n ? Cypress.$(prevSubjectElement).find(`${preSelector}button[aria-label=\"${label}\"]`).get(index)\n : Cypress.$(`${preSelector}button[aria-label=\"${label}\"]`).get(index)\n const iconButtonElementByTitle = prevSubjectElement\n ? Cypress.$(prevSubjectElement).find(`${preSelector}button[aria-label=\"${label}\"]`).get(index)\n : Cypress.$(`${preSelector}button[title=\"${label}\"]`).get(index)\n const textButtonElement = findElementBytext(`${preSelector}button`, label, {\n index,\n inElement: prevSubjectElement\n }) as HTMLButtonElement | null\n const menuItemElement = findElementBytext(`${preSelector}[role=\"menuitem\"]`, label, {\n index,\n inElement: prevSubjectElement\n }) as HTMLElement | null\n\n if (iconButtonElementByAriaLabel) {\n return cy.wrap(iconButtonElementByAriaLabel).scrollIntoView().click({ force: true }).wait(250)\n }\n\n if (iconButtonElementByTitle) {\n return cy.wrap(iconButtonElementByTitle).scrollIntoView().click({ force: true }).wait(250)\n }\n\n if (menuItemElement) {\n return cy\n .wrap(menuItemElement as any)\n .scrollIntoView()\n .forceClick()\n .wait(250)\n }\n\n if (textButtonElement) {\n return cy.wrap(textButtonElement).scrollIntoView().forceClick().wait(250)\n }\n\n if (leftRetries > 0) {\n return cy.wait(250).then(() => {\n cy.log(`Retrying (${RETRIES - leftRetries + 1} / ${RETRIES})...`)\n\n return clickButton(prevSubjectElements, label, { index, withinSelector }, leftRetries - 1)\n })\n }\n\n throw new Error(`Unable to find button with label \"${label}\".`)\n}\n","/**\n * @description\n * Useful to close modals.\n */\nexport function clickOutside(xPosition: number = 0, yPosition: number = 0) {\n cy.log(`Click outside at position: ${xPosition}, ${yPosition}`)\n\n cy.get('body').click(xPosition, yPosition, { force: true })\n}\n","// I have no idea why I have to add this dirty hack of setting an external variable\n// instead of using a cleaner FP `.filter()`\n// but real experience made me think it greatly improves results stability.\n\nexport function findElementBySelector(\n selector: string,\n {\n fallbackSelector,\n index = 0,\n inElement\n }: Partial<{\n fallbackSelector: string\n inElement: HTMLElement\n index: number\n }> = {}\n) {\n if (inElement) {\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n Cypress.$(inElement)\n .find(selector)\n // eslint-disable-next-line func-names\n .each(function (this: HTMLElement) {\n if (!foundElement) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n cy.log(`⚠️ Using fallback selector: \"${fallbackSelector}\"`)\n\n const foundElementByFallbackSelector = Cypress.$(inElement).find(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n }\n\n let foundElement\n let foundElementIndex = 0\n // eslint-disable-next-line func-names, @typescript-eslint/no-unused-expressions\n Cypress.$(selector).each(function () {\n if (!foundElement) {\n if (foundElementIndex < index) {\n foundElementIndex += 1\n\n return\n }\n\n foundElement = this\n }\n })\n if (!foundElement && fallbackSelector) {\n // eslint-disable-next-line no-console\n console.warn(`Using fallback selector: \"${fallbackSelector}\".`)\n\n const foundElementByFallbackSelector = Cypress.$(fallbackSelector)\n\n return foundElementByFallbackSelector\n }\n\n return foundElement\n}\n","export function waitFor(inMs: number): Promise<void> {\n return new Promise(resolve => {\n setTimeout(resolve, inMs)\n })\n}\n","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values, R.toPairs\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparison of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","/**\n * Tests whether or not an object is a typed array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is a typed array, `false` otherwise.\n * @example\n *\n * _isTypedArray(new Uint8Array([])); //=> true\n * _isTypedArray(new Float32Array([])); //=> true\n * _isTypedArray([]); //=> false\n * _isTypedArray(null); //=> false\n * _isTypedArray({}); //=> false\n */\nexport default function _isTypedArray(val) {\n var type = Object.prototype.toString.call(val);\n return type === '[object Uint8ClampedArray]' || type === '[object Int8Array]' || type === '[object Uint8Array]' || type === '[object Int16Array]' || type === '[object Uint16Array]' || type === '[object Int32Array]' || type === '[object Uint32Array]' || type === '[object Float32Array]' || type === '[object Float64Array]' || type === '[object BigInt64Array]' || type === '[object BigUint64Array]';\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _isString from \"./internal/_isString.js\";\nimport _isTypedArray from \"./internal/_isTypedArray.js\";\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`),\n * TypedArray (`Uint8Array []`, `Float32Array []`, etc), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n * R.empty(Uint8Array.from('123')); //=> Uint8Array []\n */\n\nvar empty =\n/*#__PURE__*/\n_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : _isTypedArray(x) ? x.constructor.from('') : void 0 // else\n ;\n});\n\nexport default empty;","import _curry1 from \"./internal/_curry1.js\";\nimport empty from \"./empty.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n * R.isEmpty(Uint8Array.from('')); //=> true\n */\n\nvar isEmpty =\n/*#__PURE__*/\n_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\n\nexport default isEmpty;","export function checkCheckbox(checkboxInputElement: HTMLInputElement, value: boolean) {\n if (value) {\n cy.wrap(checkboxInputElement).scrollIntoView().check({ force: true })\n } else {\n cy.wrap(checkboxInputElement).scrollIntoView().uncheck({ force: true })\n }\n}\n","const RETRIES = 5\n\nexport function checkMultiCheckboxOptions(\n fieldsetElement: HTMLElement,\n values: string[] | undefined,\n leftRetries: number = RETRIES\n) {\n cy.wrap(fieldsetElement).scrollIntoView()\n\n cy.wrap(fieldsetElement).find('input[type=\"checkbox\"]').uncheck({ force: true }).wait(250)\n\n if (fieldsetElement.querySelector('[aria-checked=\"true\"]') && leftRetries > 0) {\n cy.wait(250).then(() => {\n cy.log(`Retrying (${RETRIES - leftRetries + 1} / ${RETRIES})...`)\n\n checkMultiCheckboxOptions(fieldsetElement, values, leftRetries - 1)\n })\n\n return\n }\n\n if (values) {\n values.forEach(value => {\n cy.wrap(fieldsetElement).find('label').contains(value).find('input[type=\"checkbox\"]').check({ force: true })\n })\n }\n}\n","export function checkMultiRadioOption(fieldsetElement: HTMLElement, value: string) {\n cy.wrap(fieldsetElement)\n .find('label')\n .contains(value)\n .find('input[type=\"radio\"]')\n .scrollIntoView()\n .check({ force: true })\n\n return fieldsetElement\n}\n","export function fillTextarea(textareaElement: HTMLTextAreaElement, value: string | undefined) {\n if (value) {\n cy.wrap(textareaElement).scrollIntoView().type(value, { delay: 1, force: true })\n } else {\n cy.wrap(textareaElement).scrollIntoView().clear()\n }\n}\n","export function fillTextInput(textInputElement: HTMLInputElement, value: string | undefined) {\n if (value) {\n cy.wrap(textInputElement).scrollIntoView().type(value, { force: true })\n } else {\n cy.wrap(textInputElement).scrollIntoView().clear()\n }\n}\n","export function pickMultiSelectOptions(\n cypressMultiSelectInputElement: Cypress.Chainable<JQuery<HTMLElement>>,\n values: string[] | undefined\n) {\n cypressMultiSelectInputElement.parents('.Field-MultiSelect').then(([fieldElement]) => {\n if (!fieldElement) {\n throw new Error('`fieldElement` is undefined.')\n }\n\n cy.wrap(fieldElement).scrollIntoView()\n\n const maybeCleanButton = fieldElement.querySelector('.rs-picker-toggle-clean')\n if (maybeCleanButton) {\n cy.wrap(fieldElement).find('.rs-picker-toggle-clean').forceClick().wait(250)\n }\n\n if (!values) {\n return\n }\n\n cy.wrap(fieldElement).find('.rs-picker-toggle-caret').forceClick()\n\n cy.get('.rs-picker-picker-check-menu').then(([multiSelectMenuElement]) => {\n if (!multiSelectMenuElement) {\n throw new Error('`multiSelectMenuElement` is undefined.')\n }\n\n const maybeSearchInput = multiSelectMenuElement.querySelector('.rs-picker-search-bar-input')\n values.forEach(value => {\n if (maybeSearchInput) {\n cy.get('.rs-picker-picker-check-menu').find('.rs-picker-search-bar-input').type(value)\n }\n\n cy.get('.rs-picker-picker-check-menu')\n .find('.rs-checkbox-checker')\n .contains(value)\n .scrollIntoView()\n .forceClick()\n })\n\n const offsetLeft = fieldElement.offsetLeft\n ? fieldElement.offsetLeft\n : (() => {\n if (!fieldElement.offsetParent) {\n throw new Error('`fieldElement.offsetParent` is undefined.')\n }\n\n return (fieldElement.offsetParent as HTMLBodyElement).offsetLeft\n })()\n const offsetTop =\n fieldElement.offsetTop !== 0\n ? fieldElement.offsetTop\n : (() => {\n if (!fieldElement.offsetParent) {\n throw new Error('`fieldElement.offsetParent` is undefined.')\n }\n\n return (fieldElement.offsetParent as HTMLBodyElement).offsetTop\n })()\n\n // TODO Investigate that (this should be -1).\n cy.clickOutside(offsetLeft, offsetTop - 16)\n\n cy.wait(250)\n })\n })\n}\n","export function pickSelectOption(\n cypressSelectInputElement: Cypress.Chainable<JQuery<HTMLElement>>,\n value: string | undefined\n) {\n cypressSelectInputElement\n .parents('.Field-Select')\n .scrollIntoView()\n .then(([fieldElement]) => {\n if (!fieldElement) {\n throw new Error('`fieldElement` is undefined.')\n }\n\n cy.wrap(fieldElement).scrollIntoView()\n\n const maybeCleanButton = fieldElement.querySelector('.rs-picker-toggle-clean')\n if (maybeCleanButton) {\n cy.wrap(fieldElement).find('.rs-picker-toggle-clean').scrollIntoView().forceClick().wait(250)\n }\n\n if (!value) {\n return\n }\n\n cy.wrap(fieldElement).find('.rs-picker-toggle-caret').click()\n\n cy.get('.rs-picker-select-menu').then(([selectMenuElement]) => {\n if (!selectMenuElement) {\n throw new Error('`selectMenuElement` is undefined.')\n }\n\n const maybeSearchInput = selectMenuElement.querySelector('.rs-picker-search-bar-input')\n if (maybeSearchInput) {\n cy.wrap(selectMenuElement).find('.rs-picker-search-bar-input').type(value)\n }\n\n cy.wrap(selectMenuElement)\n .get('.rs-picker-select-menu-item')\n .contains(value)\n .scrollIntoView()\n .click({ force: true })\n })\n })\n}\n","/* eslint-disable cypress/no-assigning-return-values */\n\nimport { findElementBySelector } from '../../utils/findElementBySelector'\nimport { waitFor } from '../../utils/waitFor'\nimport { isEmpty } from 'ramda'\n\nimport { checkCheckbox } from './checkCheckbox'\nimport { checkMultiCheckboxOptions } from './checkMultiCheckboxOptions'\nimport { checkMultiRadioOption } from './checkMultiRadioOption'\nimport { fillTextarea } from './fillTextarea'\nimport { fillTextInput } from './fillTextInput'\nimport { pickMultiSelectOptions } from './pickMultiSelectOptions'\nimport { pickSelectOption } from './pickSelectOption'\nimport { findElementBytext } from '../../utils/findElementBytext'\n\nconst RETRIES = 5\n\nexport function fill(\n label: string | undefined,\n value: boolean | number | string | string[] | undefined,\n leftRetries: number = RETRIES\n): void {\n // -------------------------------------------------------------------------\n // If this is a `<label />` element\n\n const labelElement = findElementBytext('label', label as string) as HTMLLabelElement | undefined\n\n if (labelElement) {\n // -------------------------------------------------------------------------\n // If the label has a `for` attribute\n\n if (!isEmpty(labelElement.htmlFor)) {\n const htmlforElement = findElementBySelector(`[id=\"${labelElement.htmlFor}\"]`)\n if (!htmlforElement) {\n throw new Error(\n `Could not find the element with [id=\"${labelElement.htmlFor}\"] targetted by label \"${label}\" (via its \\`for\\` attribute).`\n )\n }\n\n const cypressHtmlforElement = cy.get(`[id=\"${labelElement.htmlFor}\"]`)\n cypressHtmlforElement.then((() => {\n if (htmlforElement.classList.contains('rs-picker-toggle-textbox')) {\n const rsuitePickerElement =\n htmlforElement.parentElement &&\n htmlforElement.parentElement.parentElement &&\n htmlforElement.parentElement.parentElement.parentElement\n ? htmlforElement.parentElement.parentElement.parentElement.parentElement\n : undefined\n if (!rsuitePickerElement) {\n throw new Error('This should never happen.')\n }\n\n switch (true) {\n // Select\n case rsuitePickerElement.classList.contains('rs-picker-select'):\n pickSelectOption(cypressHtmlforElement, value !== undefined ? String(value) : value)\n break\n\n // Multi Select\n case rsuitePickerElement.classList.contains('rs-picker-tag'):\n pickMultiSelectOptions(\n cypressHtmlforElement,\n Array.isArray(value) && value.length > 0 ? value : undefined\n )\n break\n\n default:\n throw new Error(\n `\\`cy.fill()\\` can't handle Rsuite picker with class \"${rsuitePickerElement.className}\" elements.`\n )\n }\n\n return\n }\n\n switch (htmlforElement.tagName) {\n // Text/Number Input\n case 'INPUT':\n fillTextInput(htmlforElement as HTMLInputElement, value !== undefined ? String(value) : value)\n break\n\n // Textarea\n case 'TEXTAREA':\n fillTextarea(htmlforElement as HTMLTextAreaElement, value !== undefined ? String(value) : value)\n break\n\n default:\n throw new Error(`\\`cy.fill()\\` doesn't handle \"${htmlforElement.tagName}\" elements.`)\n }\n }) as any)\n\n return\n }\n\n // -------------------------------------------------------------------------\n // If the label doesn't have a `for` attribute\n\n // Checkbox Input\n const checkboxInputElement = labelElement.querySelector('input[type=\"checkbox\"]') as HTMLInputElement | null\n if (checkboxInputElement) {\n checkCheckbox(checkboxInputElement, Boolean(value))\n\n return\n }\n\n // Text Input\n const textInputElement = labelElement.querySelector('input[type=\"text\"]') as HTMLInputElement | null\n if (textInputElement) {\n fillTextInput(textInputElement, String(value))\n\n return\n }\n\n // Textarea\n const textareaElement = labelElement.querySelector('textarea')\n if (textareaElement) {\n fillTextarea(textareaElement, String(value))\n\n return\n }\n\n throw new Error(`Could find neither a checkbox, an input nor a textarea with the label \"${label}\".`)\n }\n\n // -------------------------------------------------------------------------\n // If this is a `<legend />` element\n\n const legendElement = findElementBytext('legend', label as string) as HTMLLegendElement | undefined\n\n if (legendElement) {\n const cypressLegendElement = cy.get('legend').contains(label as string)\n cypressLegendElement.then(async () => {\n await waitFor(500)\n\n const fieldsetElement = legendElement.parentElement\n if (!fieldsetElement || fieldsetElement.tagName !== 'FIELDSET') {\n throw new Error(`Could not find parent fieldset of legend element with text \"${label}\".`)\n }\n\n const isMultiCheckbox = Boolean(fieldsetElement.querySelector('input[type=\"checkbox\"]'))\n const isMultiRadio = Boolean(fieldsetElement.querySelector('input[type=\"radio\"]'))\n\n if (isMultiCheckbox) {\n checkMultiCheckboxOptions(fieldsetElement, Array.isArray(value) && value.length > 0 ? value : undefined)\n\n return\n }\n\n if (isMultiRadio) {\n checkMultiRadioOption(fieldsetElement, String(value))\n\n return\n }\n\n throw new Error(`\\`cy.fill()\\` can't handle the field with legend \"${label}\".`)\n })\n\n return\n }\n\n if (leftRetries > 0) {\n cy.wait(250).then(() => {\n cy.log(`Retrying (${RETRIES - leftRetries + 1} / ${RETRIES})...`)\n\n fill(label, value, leftRetries - 1)\n })\n\n return\n }\n\n throw new Error(`Could not find label or legend element with text \"${label}\".`)\n}\n","export function forceClick([subject]: Cypress.Chainable<Cypress.JQueryWithSelector>[]): Cypress.Chainable<\n JQuery<HTMLElement>\n> {\n if (!subject) {\n throw new Error(`Could not find subject.`)\n }\n\n console.log(subject)\n\n try {\n return subject.click({ force: true })\n } catch (_) {\n return cy.wrap(subject as any).click({ force: true })\n }\n}\n","export function getDataCy(dataCy: string): Cypress.Chainable<JQuery<HTMLElement>> {\n return cy.get(`[data-cy=\"${dataCy}\"]`)\n}\n","import { clickButton } from './commands/clickButton'\nimport { clickOutside } from './commands/clickOutside'\nimport { fill } from './commands/fill'\nimport { forceClick } from './commands/forceClick'\nimport { getDataCy } from './commands/getDataCy'\n\nCypress.Commands.add('clickButton', { prevSubject: 'optional' } as any, clickButton as any)\n\nCypress.Commands.add(\n 'clickLink',\n (linkText: string): Cypress.Chainable<JQuery<HTMLAnchorElement>> => cy.get('a').contains(linkText).click()\n)\n\n/**\n * @description\n * Useful to close modals.\n */\nCypress.Commands.add('clickOutside', clickOutside)\n\n/**\n * @example\n * ```ts\n * cy.fill('Password', 'P422W0Rd')\n * ```\n */\nCypress.Commands.add('fill', fill)\n\n// Maybe because of https://github.com/cypress-io/cypress/issues/19564\nCypress.Commands.add('forceClick', { prevSubject: true }, forceClick)\n\nCypress.Commands.add('getDataCy', getDataCy)\n"],"names":["RETRIES","_objectIs"],"mappings":"AAAA;AACA;AACA;SAEgB,iBAAiB,CAC/B,QAAgB,EAChB,IAAY,EACZ,EACE,gBAAgB,EAChB,KAAK,GAAG,CAAC,EACT,SAAS,KAKN,EAAE,EAAA;AAEP,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;AAE/B,IAAA,IAAI,SAAS,EAAE;AACb,QAAA,IAAI,YAAY,CAAA;QAChB,IAAI,iBAAiB,GAAG,CAAC,CAAA;;AAEzB,QAAA,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,IAAI,CAAC,QAAQ,CAAC;;AAEd,aAAA,IAAI,CAAC,YAAA;AACJ,YAAA,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE;gBAClE,IAAI,iBAAiB,GAAG,KAAK,EAAE;oBAC7B,iBAAiB,IAAI,CAAC,CAAA;oBAEtB,OAAM;AACP,iBAAA;gBAED,YAAY,GAAG,IAAI,CAAA;AACpB,aAAA;AACH,SAAC,CAAC,CAAA;AACJ,QAAA,IAAI,CAAC,YAAY,IAAI,gBAAgB,EAAE;AACrC,YAAA,EAAE,CAAC,GAAG,CAAC,gCAAgC,gBAAgB,CAAA,CAAA,CAAG,CAAC,CAAA;AAE3D,YAAA,MAAM,8BAA8B,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAElF,YAAA,OAAO,8BAA8B,CAAA;AACtC,SAAA;AAED,QAAA,OAAO,YAAY,CAAA;AACpB,KAAA;AAED,IAAA,IAAI,YAAY,CAAA;IAChB,IAAI,iBAAiB,GAAG,CAAC,CAAA;;AAEzB,IAAA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAA;AACvB,QAAA,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,WAAW,EAAE;YAClE,IAAI,iBAAiB,GAAG,KAAK,EAAE;gBAC7B,iBAAiB,IAAI,CAAC,CAAA;gBAEtB,OAAM;AACP,aAAA;YAED,YAAY,GAAG,IAAI,CAAA;AACpB,SAAA;AACH,KAAC,CAAC,CAAA;AACF,IAAA,IAAI,CAAC,YAAY,IAAI,gBAAgB,EAAE;;AAErC,QAAA,OAAO,CAAC,IAAI,CAAC,6BAA6B,gBAAgB,CAAA,EAAA,CAAI,CAAC,CAAA;QAE/D,MAAM,8BAA8B,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;AAElE,QAAA,OAAO,8BAA8B,CAAA;AACtC,KAAA;AAED,IAAA,OAAO,YAAY,CAAA;AACrB;;ACtEA,MAAMA,SAAO,GAAG,CAAC,CAAA;SAED,WAAW,CACzB,mBAA8C,EAC9C,KAAa,EACb,EACE,KAAK,GAAG,CAAC,EACT,cAAc,KAIX,EAAE,EACP,cAAsBA,SAAO,EAAA;AAE7B,IAAA,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;AACnF,IAAA,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAClD,QAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;AAC1D,KAAA;AAED,IAAA,MAAM,WAAW,GAAG,cAAc,GAAG,CAAG,EAAA,cAAc,CAAG,CAAA,CAAA,GAAG,EAAE,CAAA;IAE9D,MAAM,4BAA4B,GAAG,kBAAkB;UACnD,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA,mBAAA,EAAsB,KAAK,CAAI,EAAA,CAAA,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9F,UAAE,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAA,mBAAA,EAAsB,KAAK,CAAA,EAAA,CAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvE,MAAM,wBAAwB,GAAG,kBAAkB;UAC/C,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA,mBAAA,EAAsB,KAAK,CAAI,EAAA,CAAA,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;AAC9F,UAAE,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAA,cAAA,EAAiB,KAAK,CAAA,EAAA,CAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAClE,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,WAAW,CAAA,MAAA,CAAQ,EAAE,KAAK,EAAE;QACzE,KAAK;AACL,QAAA,SAAS,EAAE,kBAAkB;AAC9B,KAAA,CAA6B,CAAA;IAC9B,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,WAAW,CAAA,iBAAA,CAAmB,EAAE,KAAK,EAAE;QAClF,KAAK;AACL,QAAA,SAAS,EAAE,kBAAkB;AAC9B,KAAA,CAAuB,CAAA;AAExB,IAAA,IAAI,4BAA4B,EAAE;QAChC,OAAO,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC/F,KAAA;AAED,IAAA,IAAI,wBAAwB,EAAE;QAC5B,OAAO,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3F,KAAA;AAED,IAAA,IAAI,eAAe,EAAE;AACnB,QAAA,OAAO,EAAE;aACN,IAAI,CAAC,eAAsB,CAAC;AAC5B,aAAA,cAAc,EAAE;AAChB,aAAA,UAAU,EAAE;aACZ,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,KAAA;AAED,IAAA,IAAI,iBAAiB,EAAE;AACrB,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1E,KAAA;IAED,IAAI,WAAW,GAAG,CAAC,EAAE;QACnB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAK;AAC5B,YAAA,EAAE,CAAC,GAAG,CAAC,CAAA,UAAA,EAAaA,SAAO,GAAG,WAAW,GAAG,CAAC,CAAA,GAAA,EAAMA,SAAO,CAAA,IAAA,CAAM,CAAC,CAAA;AAEjE,YAAA,OAAO,WAAW,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;AAC5F,SAAC,CAAC,CAAA;AACH,KAAA;AAED,IAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,KAAK,CAAA,EAAA,CAAI,CAAC,CAAA;AACjE;;ACnEA;;;AAGG;SACa,YAAY,CAAC,YAAoB,CAAC,EAAE,YAAoB,CAAC,EAAA;IACvE,EAAE,CAAC,GAAG,CAAC,CAAA,2BAAA,EAA8B,SAAS,CAAK,EAAA,EAAA,SAAS,CAAE,CAAA,CAAC,CAAA;AAE/D,IAAA,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAC7D;;ACRA;AACA;AACA;AAEgB,SAAA,qBAAqB,CACnC,QAAgB,EAChB,EACE,gBAAgB,EAChB,KAAK,GAAG,CAAC,EACT,SAAS,KAKN,EAAE,EAAA;AAEP,IAAA,IAAI,SAAS,EAAE;AACb,QAAA,IAAI,YAAY,CAAA;QAChB,IAAI,iBAAiB,GAAG,CAAC,CAAA;;AAEzB,QAAA,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;aACjB,IAAI,CAAC,QAAQ,CAAC;;AAEd,aAAA,IAAI,CAAC,YAAA;YACJ,IAAI,CAAC,YAAY,EAAE;gBACjB,IAAI,iBAAiB,GAAG,KAAK,EAAE;oBAC7B,iBAAiB,IAAI,CAAC,CAAA;oBAEtB,OAAM;AACP,iBAAA;gBAED,YAAY,GAAG,IAAI,CAAA;AACpB,aAAA;AACH,SAAC,CAAC,CAAA;AACJ,QAAA,IAAI,CAAC,YAAY,IAAI,gBAAgB,EAAE;AACrC,YAAA,EAAE,CAAC,GAAG,CAAC,gCAAgC,gBAAgB,CAAA,CAAA,CAAG,CAAC,CAAA;AAE3D,YAAA,MAAM,8BAA8B,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAElF,YAAA,OAAO,8BAA8B,CAAA;AACtC,SAAA;AAED,QAAA,OAAO,YAAY,CAAA;AACpB,KAAA;AAED,IAAA,IAAI,YAAY,CAAA;IAChB,IAAI,iBAAiB,GAAG,CAAC,CAAA;;AAEzB,IAAA,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAA;QACvB,IAAI,CAAC,YAAY,EAAE;YACjB,IAAI,iBAAiB,GAAG,KAAK,EAAE;gBAC7B,iBAAiB,IAAI,CAAC,CAAA;gBAEtB,OAAM;AACP,aAAA;YAED,YAAY,GAAG,IAAI,CAAA;AACpB,SAAA;AACH,KAAC,CAAC,CAAA;AACF,IAAA,IAAI,CAAC,YAAY,IAAI,gBAAgB,EAAE;;AAErC,QAAA,OAAO,CAAC,IAAI,CAAC,6BAA6B,gBAAgB,CAAA,EAAA,CAAI,CAAC,CAAA;QAE/D,MAAM,8BAA8B,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;AAElE,QAAA,OAAO,8BAA8B,CAAA;AACtC,KAAA;AAED,IAAA,OAAO,YAAY,CAAA;AACrB;;ACrEM,SAAU,OAAO,CAAC,IAAY,EAAA;AAClC,IAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAG;AAC3B,QAAA,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAC3B,KAAC,CAAC,CAAA;AACJ;;ACJe,SAAS,cAAc,CAAC,CAAC,EAAE;AAC1C,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC;AACtF;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,OAAO,CAAC,EAAE,EAAE;AACpC,EAAE,OAAO,SAAS,EAAE,CAAC,CAAC,EAAE;AACxB,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;AACrD,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK,MAAM;AACX,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvC,KAAK;AACL,GAAG,CAAC;AACJ;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,OAAO,CAAC,EAAE,EAAE;AACpC,EAAE,OAAO,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;AAC3B,IAAI,QAAQ,SAAS,CAAC,MAAM;AAC5B,MAAM,KAAK,CAAC;AACZ,QAAQ,OAAO,EAAE,CAAC;AAClB;AACA,MAAM,KAAK,CAAC;AACZ,QAAQ,OAAO,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,EAAE;AAC9D,UAAU,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,SAAS,CAAC,CAAC;AACX;AACA,MAAM;AACN,QAAQ,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,EAAE;AACvG,UAAU,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3B,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,EAAE;AACvD,UAAU,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,KAAK;AACL,GAAG,CAAC;AACJ;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,KAAK,CAAC,OAAO,IAAI,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvD,EAAE,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC;AACpG,CAAC;;ACdc,SAAS,SAAS,CAAC,CAAC,EAAE;AACrC,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC;AACjE;;ACFe,SAAS,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACxC,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzD;;ACDA,IAAI,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AACzC;AACA,IAAI,YAAY;AAChB;AACA,YAAY;AACZ,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,oBAAoB,GAAG,SAAS,YAAY,CAAC,CAAC,EAAE;AACtF,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC;AACrD,GAAG,GAAG,SAAS,YAAY,CAAC,CAAC,EAAE;AAC/B,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC7B,GAAG,CAAC;AACJ,CAAC,EAAE;;ACPH,IAAI,UAAU,GAAG;AACjB;AACA;AACA,EAAE,QAAQ,EAAE,IAAI;AAChB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;AACnC,IAAI,kBAAkB,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC7I;AACA,IAAI,cAAc;AAClB;AACA,YAAY;AAEZ;AACA,EAAE,OAAO,SAAS,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC,EAAE,CAAC;AACJ;AACA,IAAI,QAAQ,GAAG,SAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7C,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AACd;AACA,EAAE,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,GAAG,IAAI,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,cAAc;AAC/D;AACA,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE;AAC3B,EAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC;AACF;AACA,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE;AAC3B,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;AAC3B,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH;AACA,EAAE,IAAI,IAAI,EAAE,IAAI,CAAC;AACjB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACd;AACA,EAAE,IAAI,eAAe,GAAG,cAAc,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;AAC5D;AACA,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE;AACpB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE;AACpE,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAC3B,KAAK;AACL,GAAG;AACH;AACA,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,IAAI,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC;AACA,IAAI,OAAO,IAAI,IAAI,CAAC,EAAE;AACtB,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACtC;AACA,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AAClD,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAC7B,OAAO;AACP;AACA,MAAM,IAAI,IAAI,CAAC,CAAC;AAChB,KAAK;AACL,GAAG;AACH;AACA,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;;ACxFF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI;AACR;AACA,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE;AAC3B,EAAE,OAAO,GAAG,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,KAAK,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpH,CAAC,CAAC;;AC/Ba,SAAS,kBAAkB,CAAC,IAAI,EAAE;AACjD,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;AAChB,EAAE,IAAI,IAAI,CAAC;AACX;AACA,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;AACrC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;ACTe,SAAS,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;AACrD,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;AACd,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AACxB;AACA,EAAE,OAAO,GAAG,GAAG,GAAG,EAAE;AACpB,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL;AACA,IAAI,GAAG,IAAI,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,OAAO,KAAK,CAAC;AACf;;ACbe,SAAS,aAAa,CAAC,CAAC,EAAE;AACzC;AACA,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACjD,EAAE,OAAO,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC;;ACJA;AACA,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE;AACzB;AACA,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACf;AACA;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtC,GAAG,MAAM;AACT;AACA,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,GAAG;AACH,CAAC;AACD;AACA,kBAAe,OAAO,MAAM,CAAC,EAAE,KAAK,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,SAAS;;ACNtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;AAClE,EAAE,IAAI,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACxC;AACA,EAAE,IAAI,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACxC;AACA,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC3D,GAAG;AACH;AACA;AACA,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE;AAC5C,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACxC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACX,CAAC;AACD;AACe,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;AACtD,EAAE,IAAIC,WAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AACvB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB;AACA,EAAE,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;AACzB,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,CAAC,qBAAqB,CAAC,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,qBAAqB,CAAC,KAAK,UAAU,EAAE;AACxG,IAAI,OAAO,OAAO,CAAC,CAAC,qBAAqB,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,qBAAqB,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1K,GAAG;AACH;AACA,EAAE,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE;AACxE,IAAI,OAAO,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1G,GAAG;AACH;AACA,EAAE,QAAQ,KAAK;AACf,IAAI,KAAK,WAAW,CAAC;AACrB,IAAI,KAAK,OAAO,CAAC;AACjB,IAAI,KAAK,QAAQ;AACjB,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;AAC7F,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC;AACvB,OAAO;AACP;AACA,MAAM,MAAM;AACZ;AACA,IAAI,KAAK,SAAS,CAAC;AACnB,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,QAAQ;AACjB,MAAM,IAAI,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAIA,WAAS,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;AAC3E,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,MAAM;AACZ;AACA,IAAI,KAAK,MAAM;AACf,MAAM,IAAI,CAACA,WAAS,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;AAChD,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,MAAM;AACZ;AACA,IAAI,KAAK,OAAO;AAChB,MAAM,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;AAC1D;AACA,IAAI,KAAK,QAAQ;AACjB,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE;AACjL,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,MAAM;AACZ,GAAG;AACH;AACA,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B;AACA,EAAE,OAAO,GAAG,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC3B,MAAM,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,GAAG,IAAI,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,QAAQ,KAAK;AACf,IAAI,KAAK,KAAK;AACd,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;AAC7B,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,OAAO,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG;AACA,IAAI,KAAK,KAAK;AACd,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;AAC7B,QAAQ,OAAO,KAAK,CAAC;AACrB,OAAO;AACP;AACA,MAAM,OAAO,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChG;AACA,IAAI,KAAK,WAAW,CAAC;AACrB,IAAI,KAAK,OAAO,CAAC;AACjB,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,SAAS,CAAC;AACnB,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,MAAM,CAAC;AAChB,IAAI,KAAK,OAAO,CAAC;AACjB,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,WAAW,CAAC;AACrB,IAAI,KAAK,YAAY,CAAC;AACtB,IAAI,KAAK,mBAAmB,CAAC;AAC7B,IAAI,KAAK,YAAY,CAAC;AACtB,IAAI,KAAK,aAAa,CAAC;AACvB,IAAI,KAAK,YAAY,CAAC;AACtB,IAAI,KAAK,aAAa,CAAC;AACvB,IAAI,KAAK,cAAc,CAAC;AACxB,IAAI,KAAK,cAAc,CAAC;AACxB,IAAI,KAAK,aAAa;AACtB,MAAM,MAAM;AACZ;AACA,IAAI;AACJ;AACA,MAAM,OAAO,KAAK,CAAC;AACnB,GAAG;AACH;AACA,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB;AACA,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;AACvC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,EAAE,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACzB;AACA,EAAE,OAAO,GAAG,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB;AACA,IAAI,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,EAAE;AACpF,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,GAAG,IAAI,CAAC,CAAC;AACb,GAAG;AACH;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;AC/JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM;AACV;AACA,OAAO,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;AAC9B,EAAE,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC;;AChCa,SAAS,SAAS,CAAC,CAAC,EAAE;AACrC,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC;AACjE;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,aAAa,CAAC,GAAG,EAAE;AAC3C,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,EAAE,OAAO,IAAI,KAAK,4BAA4B,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,uBAAuB,IAAI,IAAI,KAAK,uBAAuB,IAAI,IAAI,KAAK,wBAAwB,IAAI,IAAI,KAAK,yBAAyB,CAAC;AAC/Y;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK;AACT;AACA,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE;AAC1B,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,KAAK,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY;AACxe,IAAI,OAAO,SAAS,CAAC;AACrB,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;AAC1D,GAAG;AACH,CAAC,CAAC;;ACpCF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA,OAAO,CAAC,SAAS,OAAO,CAAC,CAAC,EAAE;AAC5B,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;;AC9Bc,SAAA,aAAa,CAAC,oBAAsC,EAAE,KAAc,EAAA;AAClF,IAAA,IAAI,KAAK,EAAE;AACT,QAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACtE,KAAA;AAAM,SAAA;AACL,QAAA,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACxE,KAAA;AACH;;ACNA,MAAMD,SAAO,GAAG,CAAC,CAAA;AAEX,SAAU,yBAAyB,CACvC,eAA4B,EAC5B,MAA4B,EAC5B,cAAsBA,SAAO,EAAA;IAE7B,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAA;IAEzC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE1F,IAAI,eAAe,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE;QAC7E,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAK;AACrB,YAAA,EAAE,CAAC,GAAG,CAAC,CAAA,UAAA,EAAaA,SAAO,GAAG,WAAW,GAAG,CAAC,CAAA,GAAA,EAAMA,SAAO,CAAA,IAAA,CAAM,CAAC,CAAA;YAEjE,yBAAyB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;AACrE,SAAC,CAAC,CAAA;QAEF,OAAM;AACP,KAAA;AAED,IAAA,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;AACrB,YAAA,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9G,SAAC,CAAC,CAAA;AACH,KAAA;AACH;;AC1BgB,SAAA,qBAAqB,CAAC,eAA4B,EAAE,KAAa,EAAA;AAC/E,IAAA,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;SACrB,IAAI,CAAC,OAAO,CAAC;SACb,QAAQ,CAAC,KAAK,CAAC;SACf,IAAI,CAAC,qBAAqB,CAAC;AAC3B,SAAA,cAAc,EAAE;AAChB,SAAA,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAEzB,IAAA,OAAO,eAAe,CAAA;AACxB;;ACTgB,SAAA,YAAY,CAAC,eAAoC,EAAE,KAAyB,EAAA;AAC1F,IAAA,IAAI,KAAK,EAAE;QACT,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACjF,KAAA;AAAM,SAAA;QACL,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAA;AAClD,KAAA;AACH;;ACNgB,SAAA,aAAa,CAAC,gBAAkC,EAAE,KAAyB,EAAA;AACzF,IAAA,IAAI,KAAK,EAAE;AACT,QAAA,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACxE,KAAA;AAAM,SAAA;QACL,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAA;AACnD,KAAA;AACH;;ACNgB,SAAA,sBAAsB,CACpC,8BAAsE,EACtE,MAA4B,EAAA;AAE5B,IAAA,8BAA8B,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAI;QACnF,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AAChD,SAAA;QAED,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAA;QAEtC,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAA;AAC9E,QAAA,IAAI,gBAAgB,EAAE;AACpB,YAAA,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7E,SAAA;QAED,IAAI,CAAC,MAAM,EAAE;YACX,OAAM;AACP,SAAA;AAED,QAAA,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,UAAU,EAAE,CAAA;AAElE,QAAA,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAI;YACvE,IAAI,CAAC,sBAAsB,EAAE;AAC3B,gBAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;AAC1D,aAAA;YAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAA;AAC5F,YAAA,MAAM,CAAC,OAAO,CAAC,KAAK,IAAG;AACrB,gBAAA,IAAI,gBAAgB,EAAE;AACpB,oBAAA,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACvF,iBAAA;AAED,gBAAA,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC;qBACnC,IAAI,CAAC,sBAAsB,CAAC;qBAC5B,QAAQ,CAAC,KAAK,CAAC;AACf,qBAAA,cAAc,EAAE;AAChB,qBAAA,UAAU,EAAE,CAAA;AACjB,aAAC,CAAC,CAAA;AAEF,YAAA,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU;kBACtC,YAAY,CAAC,UAAU;kBACvB,CAAC,MAAK;AACJ,oBAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAC9B,wBAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC7D,qBAAA;AAED,oBAAA,OAAQ,YAAY,CAAC,YAAgC,CAAC,UAAU,CAAA;iBACjE,GAAG,CAAA;AACR,YAAA,MAAM,SAAS,GACb,YAAY,CAAC,SAAS,KAAK,CAAC;kBACxB,YAAY,CAAC,SAAS;kBACtB,CAAC,MAAK;AACJ,oBAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAC9B,wBAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAC7D,qBAAA;AAED,oBAAA,OAAQ,YAAY,CAAC,YAAgC,CAAC,SAAS,CAAA;iBAChE,GAAG,CAAA;;YAGV,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,GAAG,EAAE,CAAC,CAAA;AAE3C,YAAA,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,SAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AACJ;;AClEgB,SAAA,gBAAgB,CAC9B,yBAAiE,EACjE,KAAyB,EAAA;IAEzB,yBAAyB;SACtB,OAAO,CAAC,eAAe,CAAC;AACxB,SAAA,cAAc,EAAE;AAChB,SAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAI;QACvB,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AAChD,SAAA;QAED,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAA;QAEtC,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAA;AAC9E,QAAA,IAAI,gBAAgB,EAAE;YACpB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9F,SAAA;QAED,IAAI,CAAC,KAAK,EAAE;YACV,OAAM;AACP,SAAA;AAED,QAAA,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAA;AAE7D,QAAA,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAI;YAC5D,IAAI,CAAC,iBAAiB,EAAE;AACtB,gBAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;AACrD,aAAA;YAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAA;AACvF,YAAA,IAAI,gBAAgB,EAAE;AACpB,gBAAA,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3E,aAAA;AAED,YAAA,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;iBACvB,GAAG,CAAC,6BAA6B,CAAC;iBAClC,QAAQ,CAAC,KAAK,CAAC;AACf,iBAAA,cAAc,EAAE;AAChB,iBAAA,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3B,SAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AACN;;AC1CA;AAeA,MAAM,OAAO,GAAG,CAAC,CAAA;AAEX,SAAU,IAAI,CAClB,KAAyB,EACzB,KAAuD,EACvD,cAAsB,OAAO,EAAA;;;IAK7B,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAe,CAAiC,CAAA;AAEhG,IAAA,IAAI,YAAY,EAAE;;;AAIhB,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAClC,MAAM,cAAc,GAAG,qBAAqB,CAAC,CAAA,KAAA,EAAQ,YAAY,CAAC,OAAO,CAAI,EAAA,CAAA,CAAC,CAAA;YAC9E,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,IAAI,KAAK,CACb,CAAwC,qCAAA,EAAA,YAAY,CAAC,OAAO,CAA0B,uBAAA,EAAA,KAAK,CAAgC,8BAAA,CAAA,CAC5H,CAAA;AACF,aAAA;AAED,YAAA,MAAM,qBAAqB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAQ,KAAA,EAAA,YAAY,CAAC,OAAO,CAAI,EAAA,CAAA,CAAC,CAAA;AACtE,YAAA,qBAAqB,CAAC,IAAI,EAAE,MAAK;gBAC/B,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;AACjE,oBAAA,MAAM,mBAAmB,GACvB,cAAc,CAAC,aAAa;wBAC5B,cAAc,CAAC,aAAa,CAAC,aAAa;AAC1C,wBAAA,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;0BACpD,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;0BACtE,SAAS,CAAA;oBACf,IAAI,CAAC,mBAAmB,EAAE;AACxB,wBAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAC7C,qBAAA;AAED,oBAAA,QAAQ,IAAI;;AAEV,wBAAA,KAAK,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;AAC7D,4BAAA,gBAAgB,CAAC,qBAAqB,EAAE,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAA;4BACpF,MAAK;;AAGP,wBAAA,KAAK,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;4BAC1D,sBAAsB,CACpB,qBAAqB,EACrB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CAC7D,CAAA;4BACD,MAAK;AAEP,wBAAA;4BACE,MAAM,IAAI,KAAK,CACb,CAAA,qDAAA,EAAwD,mBAAmB,CAAC,SAAS,CAAa,WAAA,CAAA,CACnG,CAAA;AACJ,qBAAA;oBAED,OAAM;AACP,iBAAA;gBAED,QAAQ,cAAc,CAAC,OAAO;;AAE5B,oBAAA,KAAK,OAAO;AACV,wBAAA,aAAa,CAAC,cAAkC,EAAE,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAA;wBAC9F,MAAK;;AAGP,oBAAA,KAAK,UAAU;AACb,wBAAA,YAAY,CAAC,cAAqC,EAAE,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAA;wBAChG,MAAK;AAEP,oBAAA;wBACE,MAAM,IAAI,KAAK,CAAC,CAAA,8BAAA,EAAiC,cAAc,CAAC,OAAO,CAAa,WAAA,CAAA,CAAC,CAAA;AACxF,iBAAA;aACF,EAAS,CAAA;YAEV,OAAM;AACP,SAAA;;;;QAMD,MAAM,oBAAoB,GAAG,YAAY,CAAC,aAAa,CAAC,wBAAwB,CAA4B,CAAA;AAC5G,QAAA,IAAI,oBAAoB,EAAE;YACxB,aAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;YAEnD,OAAM;AACP,SAAA;;QAGD,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAA4B,CAAA;AACpG,QAAA,IAAI,gBAAgB,EAAE;YACpB,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAE9C,OAAM;AACP,SAAA;;QAGD,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;AAC9D,QAAA,IAAI,eAAe,EAAE;YACnB,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAE5C,OAAM;AACP,SAAA;AAED,QAAA,MAAM,IAAI,KAAK,CAAC,0EAA0E,KAAK,CAAA,EAAA,CAAI,CAAC,CAAA;AACrG,KAAA;;;IAKD,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAe,CAAkC,CAAA;AAEnG,IAAA,IAAI,aAAa,EAAE;AACjB,QAAA,MAAM,oBAAoB,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAA;AACvE,QAAA,oBAAoB,CAAC,IAAI,CAAC,YAAW;AACnC,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;AAElB,YAAA,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAA;YACnD,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,OAAO,KAAK,UAAU,EAAE;AAC9D,gBAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,KAAK,CAAA,EAAA,CAAI,CAAC,CAAA;AAC1F,aAAA;YAED,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAA;YACxF,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAElF,YAAA,IAAI,eAAe,EAAE;gBACnB,yBAAyB,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,CAAA;gBAExG,OAAM;AACP,aAAA;AAED,YAAA,IAAI,YAAY,EAAE;gBAChB,qBAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAErD,OAAM;AACP,aAAA;AAED,YAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,KAAK,CAAA,EAAA,CAAI,CAAC,CAAA;AACjF,SAAC,CAAC,CAAA;QAEF,OAAM;AACP,KAAA;IAED,IAAI,WAAW,GAAG,CAAC,EAAE;QACnB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAK;AACrB,YAAA,EAAE,CAAC,GAAG,CAAC,CAAA,UAAA,EAAa,OAAO,GAAG,WAAW,GAAG,CAAC,CAAA,GAAA,EAAM,OAAO,CAAA,IAAA,CAAM,CAAC,CAAA;YAEjE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;AACrC,SAAC,CAAC,CAAA;QAEF,OAAM;AACP,KAAA;AAED,IAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,KAAK,CAAA,EAAA,CAAI,CAAC,CAAA;AACjF;;AC3KgB,SAAA,UAAU,CAAC,CAAC,OAAO,CAAkD,EAAA;IAGnF,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,CAAA,uBAAA,CAAyB,CAAC,CAAA;AAC3C,KAAA;AAED,IAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAEpB,IAAI;QACF,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACtC,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,OAAc,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACtD,KAAA;AACH;;ACdM,SAAU,SAAS,CAAC,MAAc,EAAA;IACtC,OAAO,EAAE,CAAC,GAAG,CAAC,aAAa,MAAM,CAAA,EAAA,CAAI,CAAC,CAAA;AACxC;;ACIA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,UAAU,EAAS,EAAE,WAAkB,CAAC,CAAA;AAE3F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,WAAW,EACX,CAAC,QAAgB,KAAmD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAC3G,CAAA;AAED;;;AAGG;AACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;AAElD;;;;;AAKG;AACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAElC;AACA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,CAAA;AAErE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC","x_google_ignoreList":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]}
@@ -1,5 +1,5 @@
1
1
  export declare function findElementBytext(selector: string, text: string, { fallbackSelector, index, inElement }?: Partial<{
2
2
  fallbackSelector: string;
3
- inElement: HTMLElement;
3
+ inElement: HTMLElement | undefined;
4
4
  index: number;
5
5
  }>): any;
@@ -12,4 +12,4 @@ export type CoordinatesInputProps = FieldsetProps & {
12
12
  label: string;
13
13
  onChange?: ((nextCoordinates: Coordinates | undefined, coordinates: Coordinates | undefined) => Promisable<void>) | undefined;
14
14
  };
15
- export declare function CoordinatesInput({ coordinatesFormat, defaultValue, error, isLabelHidden, isLight, label, onChange, ...nativeProps }: CoordinatesInputProps): JSX.Element;
15
+ export declare function CoordinatesInput({ className, coordinatesFormat, defaultValue, error, isLabelHidden, isLight, label, onChange, ...nativeProps }: CoordinatesInputProps): JSX.Element;
package/index.js CHANGED
@@ -2824,7 +2824,7 @@ var classnames = {
2824
2824
  var classNames = classnamesExports;
2825
2825
 
2826
2826
  const Field$2 = styled.div.attrs(props => ({
2827
- className: classNames('Field', props.className)
2827
+ className: classNames('Element-Field', props.className)
2828
2828
  })) `
2829
2829
  align-items: flex-start;
2830
2830
  display: flex;
@@ -20832,7 +20832,7 @@ function Search({ baseContainer, defaultValue, error, isLabelHidden, isLight = f
20832
20832
  useEffect(() => {
20833
20833
  forceUpdate();
20834
20834
  }, [forceUpdate]);
20835
- return (jsxs(Field$2, { children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsxs(Box$c, { ref: boxRef, isLight: isLight, onClick: open, children: [boxRef.current && (jsx(StyledAutoComplete, { "$isLight": isLight, container: boxRef.current, data: controlledOptions, defaultValue: controlledValueAsLabel, id: originalProps.name, onChange: handleChange, onSelect: handleSelect, open: isOpen, renderMenuItem: (itemLabel, item) => MenuItem ? jsx(MenuItem, { item: item.value }) : itemLabel, value: inputValue, ...originalProps }, key)), inputValue && (jsxs(Fragment, { children: [jsx(StyledCloseButton, { accent: Accent.TERTIARY, color: THEME.color.slateGray, Icon: Close, isSearchIconHidden: isSearchIconHidden, onClick: clean, size: Size.SMALL }), !isSearchIconHidden && jsx(Separator, { children: "|" })] })), !isSearchIconHidden && (jsx(StyledSearchButton, { accent: Accent.TERTIARY, color: THEME.color.slateGray, Icon: Search$1, size: Size.NORMAL }))] }), hasError && jsx(FieldError, { children: controlledError })] }));
20835
+ return (jsxs(Field$2, { className: "Field-Search", children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsxs(Box$c, { ref: boxRef, isLight: isLight, onClick: open, children: [boxRef.current && (jsx(StyledAutoComplete, { "$isLight": isLight, container: boxRef.current, data: controlledOptions, defaultValue: controlledValueAsLabel, id: originalProps.name, onChange: handleChange, onSelect: handleSelect, open: isOpen, renderMenuItem: (itemLabel, item) => MenuItem ? jsx(MenuItem, { item: item.value }) : itemLabel, value: inputValue, ...originalProps }, key)), inputValue && (jsxs(Fragment, { children: [jsx(StyledCloseButton, { accent: Accent.TERTIARY, color: THEME.color.slateGray, Icon: Close, isSearchIconHidden: isSearchIconHidden, onClick: clean, size: Size.SMALL }), !isSearchIconHidden && jsx(Separator, { children: "|" })] })), !isSearchIconHidden && (jsx(StyledSearchButton, { accent: Accent.TERTIARY, color: THEME.color.slateGray, Icon: Search$1, size: Size.NORMAL }))] }), hasError && jsx(FieldError, { children: controlledError })] }));
20836
20836
  }
20837
20837
  const StyledCloseButton = styled(IconButton) `
20838
20838
  cursor: pointer;
@@ -20922,7 +20922,7 @@ function Checkbox({ checked = false, error, isUndefinedWhenDisabled = false, lab
20922
20922
  }
20923
20923
  }, [forceUpdate, onChange]);
20924
20924
  useFieldUndefineEffect(isUndefinedWhenDisabled && originalProps.disabled, onChange);
20925
- return (jsxs(Field$2, { children: [jsx(StyledCheckbox, { checked: controlledChecked, id: originalProps.name, onChange: handleChange, ...originalProps, children: label }, key), hasError && jsx(FieldError, { children: controlledError })] }, key));
20925
+ return (jsxs(Field$2, { className: "Field-Checkbox", children: [jsx(StyledCheckbox, { checked: controlledChecked, id: originalProps.name, onChange: handleChange, ...originalProps, children: label }, key), hasError && jsx(FieldError, { children: controlledError })] }, key));
20926
20926
  }
20927
20927
  const StyledCheckbox = styled(Checkbox$1) `
20928
20928
  > .rs-checkbox-checker {
@@ -21685,7 +21685,7 @@ const InputGroup = styled.div `
21685
21685
  }
21686
21686
  `;
21687
21687
 
21688
- function DatePicker({ baseContainer, defaultValue, disabled = false, error, isCompact = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
21688
+ function DatePicker({ baseContainer, className, defaultValue, disabled = false, error, isCompact = false, isHistorical = false, isLabelHidden = false, isLight = false, isStringDate = false, label, minutesRange = 15, onChange, withTime = false, ...nativeProps }) {
21689
21689
  const boxRef = useRef();
21690
21690
  const dateInputRef = useRef();
21691
21691
  const timeInputRef = useRef();
@@ -21781,7 +21781,7 @@ function DatePicker({ baseContainer, defaultValue, disabled = false, error, isCo
21781
21781
  }, [forceUpdate]);
21782
21782
  useFieldUndefineEffect(disabled, onChange, handleDisable);
21783
21783
  useClickOutsideEffect(boxRef, closeCalendarPicker, baseContainer);
21784
- return (jsxs(Fieldset, { disabled: disabled, isLegendHidden: isLabelHidden, legend: label, ...nativeProps, children: [jsxs(Box$7, { ref: boxRef, children: [jsx(Field$1, { children: jsx(DateInput, { ref: dateInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedDateTupleRef.current, disabled: disabled, isCompact: isCompact, isForcedFocused: isCalendarPickerOpenRef.current, isLight: isLight, onChange: handleDateInputChange, onClick: openCalendarPicker, onNext: handleDateInputNext }) }), withTime && (jsx(Field$1, { "$isTimeField": true, children: jsx(TimeInput, { ref: timeInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedTimeTupleRef.current, disabled: disabled, isCompact: isCompact, isLight: isLight, minutesRange: minutesRange, onBack: () => dateInputRef.current.focus(true), onChange: handleTimeInputFilled, onFocus: closeCalendarPicker, onPrevious: () => dateInputRef.current.focus(true) }) }))] }), hasError && jsx(FieldError, { children: controlledError }), jsx(CalendarPicker, { defaultValue: rangeCalendarPickerDefaultValue, isHistorical: isHistorical, isOpen: isCalendarPickerOpenRef.current, onChange: handleCalendarPickerChange })] }));
21784
+ return (jsxs(Fieldset, { className: classNames('Field-DatePicker', className), disabled: disabled, isLegendHidden: isLabelHidden, legend: label, ...nativeProps, children: [jsxs(Box$7, { ref: boxRef, children: [jsx(Field$1, { children: jsx(DateInput, { ref: dateInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedDateTupleRef.current, disabled: disabled, isCompact: isCompact, isForcedFocused: isCalendarPickerOpenRef.current, isLight: isLight, onChange: handleDateInputChange, onClick: openCalendarPicker, onNext: handleDateInputNext }) }), withTime && (jsx(Field$1, { "$isTimeField": true, children: jsx(TimeInput, { ref: timeInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedTimeTupleRef.current, disabled: disabled, isCompact: isCompact, isLight: isLight, minutesRange: minutesRange, onBack: () => dateInputRef.current.focus(true), onChange: handleTimeInputFilled, onFocus: closeCalendarPicker, onPrevious: () => dateInputRef.current.focus(true) }) }))] }), hasError && jsx(FieldError, { children: controlledError }), jsx(CalendarPicker, { defaultValue: rangeCalendarPickerDefaultValue, isHistorical: isHistorical, isOpen: isCalendarPickerOpenRef.current, onChange: handleCalendarPickerChange })] }));
21785
21785
  }
21786
21786
  const Box$7 = styled.div `
21787
21787
  * {
@@ -22164,7 +22164,7 @@ function DateRangePicker({ baseContainer, defaultValue, disabled = false, error,
22164
22164
  }, [forceUpdate]);
22165
22165
  useFieldUndefineEffect(disabled, onChange, handleDisable);
22166
22166
  useClickOutsideEffect([endDateInputRef, startDateInputRef], closeRangeCalendarPicker, baseContainer);
22167
- return (jsxs(Fieldset, { disabled: disabled, isLegendHidden: isLabelHidden, legend: label, ...nativeProps, children: [jsxs(Box$5, { isDisabled: disabled, children: [jsx(Field, { children: jsx(DateInput, { ref: startDateInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedStartDateTupleRef.current, disabled: disabled, isCompact: isCompact, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, isStartDate: true, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.START, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onNext: handleStartDateInputNext }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: startTimeInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedStartTimeTupleRef.current, disabled: disabled, isCompact: isCompact, isLight: isLight, isStartDate: true, minutesRange: minutesRange, onBack: () => startDateInputRef.current.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.START, nextTimeTuple), onFocus: closeRangeCalendarPicker, onNext: () => endDateInputRef.current.focus(), onPrevious: () => startDateInputRef.current.focus(true) }) })), jsx(Field, { isEndDateField: true, children: jsx(DateInput, { ref: endDateInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedEndDateTupleRef.current, disabled: disabled, isCompact: isCompact, isEndDate: true, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, onBack: handleEndDateInputPrevious, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.END, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onNext: handleEndDateInputNext, onPrevious: handleEndDateInputPrevious }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: endTimeInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedEndTimeTupleRef.current, disabled: disabled, isCompact: isCompact, isEndDate: true, isLight: isLight, minutesRange: minutesRange, onBack: () => endDateInputRef.current.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.END, nextTimeTuple), onFocus: closeRangeCalendarPicker, onPrevious: () => endDateInputRef.current.focus(true) }) }))] }), hasError && jsx(FieldError, { children: controlledError }), jsx(RangeCalendarPicker, { defaultValue: rangeCalendarPickerDefaultValue, isHistorical: isHistorical, isOpen: isRangeCalendarPickerOpenRef.current, onChange: handleRangeCalendarPickerChange })] }));
22167
+ return (jsxs(Fieldset, { className: "Field-DateRangePicker", disabled: disabled, isLegendHidden: isLabelHidden, legend: label, ...nativeProps, children: [jsxs(Box$5, { isDisabled: disabled, children: [jsx(Field, { children: jsx(DateInput, { ref: startDateInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedStartDateTupleRef.current, disabled: disabled, isCompact: isCompact, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, isStartDate: true, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.START, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onNext: handleStartDateInputNext }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: startTimeInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedStartTimeTupleRef.current, disabled: disabled, isCompact: isCompact, isLight: isLight, isStartDate: true, minutesRange: minutesRange, onBack: () => startDateInputRef.current.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.START, nextTimeTuple), onFocus: closeRangeCalendarPicker, onNext: () => endDateInputRef.current.focus(), onPrevious: () => startDateInputRef.current.focus(true) }) })), jsx(Field, { isEndDateField: true, children: jsx(DateInput, { ref: endDateInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedEndDateTupleRef.current, disabled: disabled, isCompact: isCompact, isEndDate: true, isForcedFocused: isRangeCalendarPickerOpenRef.current, isLight: isLight, onBack: handleEndDateInputPrevious, onChange: (nextDateTuple, isFilled) => handleDateInputChange(DateRangePosition.END, nextDateTuple, isFilled), onClick: openRangeCalendarPicker, onNext: handleEndDateInputNext, onPrevious: handleEndDateInputPrevious }) }), withTime && (jsx(Field, { isTimeField: true, children: jsx(TimeInput, { ref: endTimeInputRef, baseContainer: baseContainer || undefined, defaultValue: selectedLocalizedEndTimeTupleRef.current, disabled: disabled, isCompact: isCompact, isEndDate: true, isLight: isLight, minutesRange: minutesRange, onBack: () => endDateInputRef.current.focus(true), onChange: nextTimeTuple => handleTimeInputFilled(DateRangePosition.END, nextTimeTuple), onFocus: closeRangeCalendarPicker, onPrevious: () => endDateInputRef.current.focus(true) }) }))] }), hasError && jsx(FieldError, { children: controlledError }), jsx(RangeCalendarPicker, { defaultValue: rangeCalendarPickerDefaultValue, isHistorical: isHistorical, isOpen: isRangeCalendarPickerOpenRef.current, onChange: handleRangeCalendarPickerChange })] }));
22168
22168
  }
22169
22169
  const Box$5 = styled.div `
22170
22170
  * {
@@ -22220,7 +22220,7 @@ function MultiCheckbox({ value = [], disabled = false, error, isInline = false,
22220
22220
  }
22221
22221
  }, [controlledValue, onChange]);
22222
22222
  useFieldUndefineEffect(isUndefinedWhenDisabled && disabled, onChange);
22223
- return (jsxs(Fieldset, { disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, children: [jsx(ChecboxesBox, { "$hasError": hasError, "$isInline": isInline, children: options.map((option, index) => (jsx(Checkbox, { checked: includes(option.value, controlledValue || []), disabled: disabled, label: option.label, name: `${name}${index}`, onChange: (isChecked) => handleChange(option.value, isChecked) }, JSON.stringify(option.value)))) }), hasError && jsx(FieldError, { children: controlledError })] }));
22223
+ return (jsxs(Fieldset, { className: "Field-MultiCheckbox", disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, children: [jsx(ChecboxesBox, { "$hasError": hasError, "$isInline": isInline, children: options.map((option, index) => (jsx(Checkbox, { checked: includes(option.value, controlledValue || []), disabled: disabled, label: option.label, name: `${name}${index}`, onChange: (isChecked) => handleChange(option.value, isChecked) }, JSON.stringify(option.value)))) }), hasError && jsx(FieldError, { children: controlledError })] }));
22224
22224
  }
22225
22225
  const ChecboxesBox = styled.div `
22226
22226
  color: ${p => p.theme.color.gunMetal};
@@ -22340,7 +22340,7 @@ function MultiSelect({ baseContainer, disabled = false, error, isLabelHidden = f
22340
22340
  useEffect(() => {
22341
22341
  forceUpdate();
22342
22342
  }, [forceUpdate]);
22343
- return (jsxs(Field$2, { children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box$4, { ref: boxRef, "$hasError": hasError, "$isActive": isOpen, "$isLight": isLight, onClick: toggle, children: boxRef.current && (jsx(TagPicker, { container: boxRef.current, data: data, disabled: disabled, id: originalProps.name,
22343
+ return (jsxs(Field$2, { className: "Field-MultiSelect", children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box$4, { ref: boxRef, "$hasError": hasError, "$isActive": isOpen, "$isLight": isLight, onClick: toggle, children: boxRef.current && (jsx(TagPicker, { container: boxRef.current, data: data, disabled: disabled, id: originalProps.name,
22344
22344
  // Since we customized `ItemDataType` type by adding `optionValue`, we have an optional vs required conflict
22345
22345
  onChange: handleChange, onClick: toggle, open: isOpen, renderMenuItem: renderMenuItem, searchable: searchable, value: controlledRsuiteValue, ...originalProps }, key)) }), hasError && jsx(FieldError, { children: controlledError })] }));
22346
22346
  }
@@ -22478,7 +22478,7 @@ function MultiRadio({ disabled = false, error, isInline = false, isLabelHidden =
22478
22478
  controlledOnChange(nextCheckedOptionValue);
22479
22479
  }, [controlledOnChange]);
22480
22480
  useFieldUndefineEffect(isUndefinedWhenDisabled && disabled, onChange);
22481
- return (jsxs(Fieldset, { disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, children: [jsx(CheckboxesBox, { "$isInline": isInline, children: options.map(option => (jsx(Radio, { checked: equals(option.value, controlledValue), disabled: disabled, name: name, onChange: (_, isChecked) => handleChange(option.value, isChecked), children: option.label }, JSON.stringify(option.value)))) }), hasError && jsx(FieldError, { children: controlledError })] }, key));
22481
+ return (jsxs(Fieldset, { className: "Field-MultiRadio", disabled: disabled, hasError: hasError, isLegendHidden: isLabelHidden, isLight: isLight, legend: label, children: [jsx(CheckboxesBox, { "$isInline": isInline, children: options.map(option => (jsx(Radio, { checked: equals(option.value, controlledValue), disabled: disabled, name: name, onChange: (_, isChecked) => handleChange(option.value, isChecked), children: option.label }, JSON.stringify(option.value)))) }), hasError && jsx(FieldError, { children: controlledError })] }, key));
22482
22482
  }
22483
22483
  const CheckboxesBox = styled.div `
22484
22484
  color: ${p => p.theme.color.gunMetal};
@@ -22557,7 +22557,7 @@ function MultiZoneEditor({ addButtonLabel, defaultValue = [], disabled = false,
22557
22557
  setZones(defaultValue);
22558
22558
  }, [defaultValue]);
22559
22559
  useFieldUndefineEffect(disabled, onChange, handleDisable);
22560
- return (jsxs(Fieldset, { disabled: disabled, isLegendHidden: isLabelHidden, legend: label, children: [jsx(Button, { accent: Accent.SECONDARY, disabled: disabled, Icon: Plus, isFullWidth: true, onClick: addZone, children: addButtonLabel }), jsx(Fragment, { children: zones.map((zone, index) => (
22560
+ return (jsxs(Fieldset, { className: "Field-MultiZoneEditor", disabled: disabled, isLegendHidden: isLabelHidden, legend: label, children: [jsx(Button, { accent: Accent.SECONDARY, disabled: disabled, Icon: Plus, isFullWidth: true, onClick: addZone, children: addButtonLabel }), jsx(Fragment, { children: zones.map((zone, index) => (
22561
22561
  // eslint-disable-next-line react/no-array-index-key
22562
22562
  jsxs(Row, { children: [jsxs(ZoneBox, { "$isLight": isLight, children: [zone[labelPropName], jsxs(Link, { onClick: () => centerZone(zone), children: [jsx(SelectRectangle, {}), jsx("span", { children: "Centrer sur la carte" })] })] }), jsx(IconButton, { accent: Accent.SECONDARY, Icon: Edit, onClick: () => editZone(index, zone) }), jsx(IconButton, { accent: Accent.SECONDARY, "aria-label": "Supprimer cette zone", Icon: Delete, onClick: () => deleteZone(index) })] }, `zone-${index}`))) }), hasError && jsx(FieldError, { children: controlledError })] }));
22563
22563
  }
@@ -22594,7 +22594,7 @@ function NumberInput({ error, isLabelHidden = false, isLight = false, isUndefine
22594
22594
  const controlledValue = useMemo(() => (!isUndefinedWhenDisabled || !originalProps.disabled ? value : undefined), [isUndefinedWhenDisabled, originalProps.disabled, value]);
22595
22595
  const controlledError = useMemo(() => normalizeString(error), [error]);
22596
22596
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
22597
- const key = useKey([controlledValue, originalProps.disabled, originalProps.name]);
22597
+ const key = useKey([originalProps.disabled, originalProps.name]);
22598
22598
  const handleChange = useCallback((nextValue) => {
22599
22599
  if (!onChange) {
22600
22600
  return;
@@ -22605,7 +22605,7 @@ function NumberInput({ error, isLabelHidden = false, isLight = false, isUndefine
22605
22605
  onChange(normalizedNextValue);
22606
22606
  }, [onChange]);
22607
22607
  useFieldUndefineEffect(isUndefinedWhenDisabled && originalProps.disabled, onChange);
22608
- return (jsxs(Field$2, { children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput$2, { "$hasError": hasError, "$isLight": isLight, id: originalProps.name, onChange: handleChange, type: "number", value: controlledValue, ...originalProps }, key), hasError && jsx(FieldError, { children: controlledError })] }));
22608
+ return (jsxs(Field$2, { className: "Field-NumberInput", children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput$2, { "$hasError": hasError, "$isLight": isLight, id: originalProps.name, onChange: handleChange, type: "number", value: controlledValue, ...originalProps }, key), hasError && jsx(FieldError, { children: controlledError })] }));
22609
22609
  }
22610
22610
  const StyledInput$2 = styled(Input) `
22611
22611
  background-color: ${p => (p.$isLight ? p.theme.color.white : p.theme.color.gainsboro)};
@@ -32721,7 +32721,7 @@ const Box$1 = styled.div `
32721
32721
 
32722
32722
  const noop = () => { };
32723
32723
 
32724
- function CoordinatesInput({ coordinatesFormat, defaultValue, error, isLabelHidden = false, isLight = false, label, onChange = noop, ...nativeProps }) {
32724
+ function CoordinatesInput({ className, coordinatesFormat, defaultValue, error, isLabelHidden = false, isLight = false, label, onChange = noop, ...nativeProps }) {
32725
32725
  const controlledError = useMemo(() => normalizeString(error), [error]);
32726
32726
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
32727
32727
  const getCoordinatesInput = useCallback(() => {
@@ -32738,7 +32738,7 @@ function CoordinatesInput({ coordinatesFormat, defaultValue, error, isLabelHidde
32738
32738
  }, [defaultValue, nativeProps.disabled, onChange, coordinatesFormat]);
32739
32739
  // TODO We must add a `handleDisable()` callback here to effectively empty the inputs when disabling this field.
32740
32740
  useFieldUndefineEffect(nativeProps.disabled, onChange /* , handleDisable */);
32741
- return (jsxs(StyledFieldset, { isLegendHidden: isLabelHidden, isLight: isLight, legend: label, ...nativeProps, children: [getCoordinatesInput(), hasError && jsx(FieldError, { children: controlledError })] }));
32741
+ return (jsxs(StyledFieldset, { className: classNames('Field-CoordinatesInput', className), isLegendHidden: isLabelHidden, isLight: isLight, legend: label, ...nativeProps, children: [getCoordinatesInput(), hasError && jsx(FieldError, { children: controlledError })] }));
32742
32742
  }
32743
32743
  const StyledFieldset = styled(Fieldset) `
32744
32744
  input {
@@ -32795,7 +32795,7 @@ function Select({ baseContainer, disabled = false, error, isLabelHidden = false,
32795
32795
  useEffect(() => {
32796
32796
  forceUpdate();
32797
32797
  }, [forceUpdate]);
32798
- return (jsxs(Field$2, { children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box, { ref: boxRef, onClick: toggle, children: boxRef.current && (jsx(StyledSelectPicker, { "$isLight": isLight, container: boxRef.current, data: data, disabled: disabled, id: originalProps.name, onClean: handleClean,
32798
+ return (jsxs(Field$2, { className: "Field-Select", children: [jsx(Label, { disabled: disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(Box, { ref: boxRef, onClick: toggle, children: boxRef.current && (jsx(StyledSelectPicker, { "$isLight": isLight, container: boxRef.current, data: data, disabled: disabled, id: originalProps.name, onClean: handleClean,
32799
32799
  // Since we customized `ItemDataType` type by adding `optionValue`, we have an optional vs required conflict
32800
32800
  onSelect: handleSelect, open: isOpen, renderMenuItem: renderMenuItem, searchable: searchable, value: controlledRsuiteValue, ...originalProps }, key)) }), hasError && jsx(FieldError, { children: controlledError })] }));
32801
32801
  }
@@ -32885,17 +32885,17 @@ function Textarea({ error, isLabelHidden = false, isLight = false, isUndefinedWh
32885
32885
  const controlledValue = useMemo(() => (!isUndefinedWhenDisabled || !originalProps.disabled ? value : undefined), [isUndefinedWhenDisabled, originalProps.disabled, value]);
32886
32886
  const controlledError = useMemo(() => normalizeString(error), [error]);
32887
32887
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
32888
- const key = useKey([controlledValue, originalProps.disabled, originalProps.name]);
32888
+ const key = useKey([originalProps.disabled, originalProps.name]);
32889
32889
  const handleChange = useCallback(() => {
32890
32890
  if (!onChange) {
32891
32891
  return;
32892
32892
  }
32893
- const nextValue = inputRef.current.value.trim();
32894
- const normalizedNextValue = nextValue.length ? nextValue : undefined;
32893
+ const nextValue = inputRef.current.value;
32894
+ const normalizedNextValue = nextValue.trim().length ? nextValue : undefined;
32895
32895
  onChange(normalizedNextValue);
32896
32896
  }, [onChange]);
32897
32897
  useFieldUndefineEffect(isUndefinedWhenDisabled && originalProps.disabled, onChange);
32898
- return (jsxs(Field$2, { children: [jsx(Label, { disabled: originalProps.disabled, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput$1, { ref: inputRef, "$isLight": isLight, as: "textarea", id: originalProps.name, onChange: handleChange, rows: rows, value: controlledValue, ...originalProps }, key), hasError && jsx(FieldError, { children: controlledError })] }));
32898
+ return (jsxs(Field$2, { className: "Field-Textarea", children: [jsx(Label, { disabled: originalProps.disabled, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput$1, { ref: inputRef, "$isLight": isLight, as: "textarea", id: originalProps.name, onChange: handleChange, rows: rows, value: controlledValue, ...originalProps }, key), hasError && jsx(FieldError, { children: controlledError })] }));
32899
32899
  }
32900
32900
  const StyledInput$1 = styled(Input) `
32901
32901
  background-color: ${p => (p.$isLight ? p.theme.color.white : p.theme.color.gainsboro)};
@@ -32913,7 +32913,7 @@ function TextInput({ error, isLabelHidden = false, isLight = false, isUndefinedW
32913
32913
  const controlledValue = useMemo(() => (!isUndefinedWhenDisabled || !originalProps.disabled ? value : undefined), [isUndefinedWhenDisabled, originalProps.disabled, value]);
32914
32914
  const controlledError = useMemo(() => normalizeString(error), [error]);
32915
32915
  const hasError = useMemo(() => Boolean(controlledError), [controlledError]);
32916
- const key = useKey([controlledValue, originalProps.disabled, originalProps.name]);
32916
+ const key = useKey([originalProps.disabled, originalProps.name]);
32917
32917
  const handleChange = useCallback((nextValue) => {
32918
32918
  if (!onChange) {
32919
32919
  return;
@@ -32922,7 +32922,7 @@ function TextInput({ error, isLabelHidden = false, isLight = false, isUndefinedW
32922
32922
  onChange(normalizedNextValue);
32923
32923
  }, [onChange]);
32924
32924
  useFieldUndefineEffect(isUndefinedWhenDisabled && originalProps.disabled, onChange);
32925
- return (jsxs(Field$2, { children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput, { "$hasError": hasError, "$isLight": isLight, id: originalProps.name, onChange: handleChange, type: "text", value: controlledValue, ...originalProps }, key), hasError && jsx(FieldError, { children: controlledError })] }));
32925
+ return (jsxs(Field$2, { className: "Field-TextInput", children: [jsx(Label, { disabled: originalProps.disabled, hasError: hasError, htmlFor: originalProps.name, isHidden: isLabelHidden, children: label }), jsx(StyledInput, { "$hasError": hasError, "$isLight": isLight, id: originalProps.name, onChange: handleChange, type: "text", value: controlledValue, ...originalProps }, key), hasError && jsx(FieldError, { children: controlledError })] }));
32926
32926
  }
32927
32927
  const StyledInput = styled(Input) `
32928
32928
  background-color: ${p => (p.$isLight ? p.theme.color.white : p.theme.color.gainsboro)};