dom-testing-library
Advanced tools
Comparing version 3.14.1 to 3.15.0
"use strict"; | ||
var _ = require("../"); | ||
var _matches = require("../matches"); | ||
// unit tests for text match utils | ||
const node = null; | ||
const normalizer = str => str; | ||
test('matchers accept strings', () => { | ||
expect((0, _.matches)('ABC', node, 'ABC')).toBe(true); | ||
expect((0, _.fuzzyMatches)('ABC', node, 'ABC')).toBe(true); | ||
expect((0, _matches.matches)('ABC', node, 'ABC', normalizer)).toBe(true); | ||
expect((0, _matches.fuzzyMatches)('ABC', node, 'ABC', normalizer)).toBe(true); | ||
}); | ||
test('matchers accept regex', () => { | ||
expect((0, _.matches)('ABC', node, /ABC/)).toBe(true); | ||
expect((0, _.fuzzyMatches)('ABC', node, /ABC/)).toBe(true); | ||
expect((0, _matches.matches)('ABC', node, /ABC/, normalizer)).toBe(true); | ||
expect((0, _matches.fuzzyMatches)('ABC', node, /ABC/, normalizer)).toBe(true); | ||
}); | ||
test('matchers accept functions', () => { | ||
expect((0, _.matches)('ABC', node, text => text === 'ABC')).toBe(true); | ||
expect((0, _.fuzzyMatches)('ABC', node, text => text === 'ABC')).toBe(true); | ||
expect((0, _matches.matches)('ABC', node, text => text === 'ABC', normalizer)).toBe(true); | ||
expect((0, _matches.fuzzyMatches)('ABC', node, text => text === 'ABC', normalizer)).toBe(true); | ||
}); | ||
test('matchers return false if text to match is not a string', () => { | ||
expect((0, _.matches)(null, node, 'ABC')).toBe(false); | ||
expect((0, _.fuzzyMatches)(null, node, 'ABC')).toBe(false); | ||
expect((0, _matches.matches)(null, node, 'ABC', normalizer)).toBe(false); | ||
expect((0, _matches.fuzzyMatches)(null, node, 'ABC', normalizer)).toBe(false); | ||
}); |
@@ -9,2 +9,4 @@ "use strict"; | ||
var _ = require("../"); | ||
var _testUtils = require("./helpers/test-utils"); | ||
@@ -75,4 +77,6 @@ | ||
expect(queries[queryFn](query, { | ||
collapseWhitespace: false, | ||
trim: false | ||
normalizer: (0, _.getDefaultNormalizer)({ | ||
collapseWhitespace: false, | ||
trim: false | ||
}) | ||
})).toHaveLength(0); | ||
@@ -199,2 +203,146 @@ }, { | ||
} | ||
}); // A good use case for a custom normalizer is stripping | ||
// out Unicode control characters such as LRM (left-right-mark) | ||
// before matching | ||
const LRM = '\u200e'; | ||
function removeUCC(str) { | ||
return str.replace(/[\u200e]/g, ''); | ||
} | ||
(0, _jestInCase.default)('{ normalizer } option allows custom pre-match normalization', ({ | ||
dom, | ||
queryFn | ||
}) => { | ||
const queries = (0, _testUtils.render)(dom); | ||
const query = queries[queryFn]; // With the correct normalizer, we should match | ||
expect(query(/user n.me/i, { | ||
normalizer: removeUCC | ||
})).toHaveLength(1); | ||
expect(query('User name', { | ||
normalizer: removeUCC | ||
})).toHaveLength(1); // Without the normalizer, we shouldn't | ||
expect(query(/user n.me/i)).toHaveLength(0); | ||
expect(query('User name')).toHaveLength(0); | ||
}, { | ||
queryAllByLabelText: { | ||
dom: ` | ||
<label for="username">User ${LRM}name</label> | ||
<input id="username" />`, | ||
queryFn: 'queryAllByLabelText' | ||
}, | ||
queryAllByPlaceholderText: { | ||
dom: `<input placeholder="User ${LRM}name" />`, | ||
queryFn: 'queryAllByPlaceholderText' | ||
}, | ||
queryAllBySelectText: { | ||
dom: `<select><option>User ${LRM}name</option></select>`, | ||
queryFn: 'queryAllBySelectText' | ||
}, | ||
queryAllByText: { | ||
dom: `<div>User ${LRM}name</div>`, | ||
queryFn: 'queryAllByText' | ||
}, | ||
queryAllByAltText: { | ||
dom: `<img alt="User ${LRM}name" src="username.jpg" />`, | ||
queryFn: 'queryAllByAltText' | ||
}, | ||
queryAllByTitle: { | ||
dom: `<div title="User ${LRM}name" />`, | ||
queryFn: 'queryAllByTitle' | ||
}, | ||
queryAllByValue: { | ||
dom: `<input value="User ${LRM}name" />`, | ||
queryFn: 'queryAllByValue' | ||
}, | ||
queryAllByDisplayValue: { | ||
dom: `<input value="User ${LRM}name" />`, | ||
queryFn: 'queryAllByDisplayValue' | ||
}, | ||
queryAllByRole: { | ||
dom: `<input role="User ${LRM}name" />`, | ||
queryFn: 'queryAllByRole' | ||
} | ||
}); | ||
test('normalizer works with both exact and non-exact matching', () => { | ||
const { | ||
queryAllByText | ||
} = (0, _testUtils.render)(`<div>MiXeD ${LRM}CaSe</div>`); | ||
expect(queryAllByText('mixed case', { | ||
exact: false, | ||
normalizer: removeUCC | ||
})).toHaveLength(1); | ||
expect(queryAllByText('mixed case', { | ||
exact: true, | ||
normalizer: removeUCC | ||
})).toHaveLength(0); | ||
expect(queryAllByText('MiXeD CaSe', { | ||
exact: true, | ||
normalizer: removeUCC | ||
})).toHaveLength(1); | ||
expect(queryAllByText('MiXeD CaSe', { | ||
exact: true | ||
})).toHaveLength(0); | ||
}); | ||
test('top-level trim and collapseWhitespace options are not supported if normalizer is specified', () => { | ||
const { | ||
queryAllByText | ||
} = (0, _testUtils.render)('<div> abc def </div>'); | ||
const normalizer = str => str; | ||
expect(() => queryAllByText('abc', { | ||
trim: false, | ||
normalizer | ||
})).toThrow(); | ||
expect(() => queryAllByText('abc', { | ||
trim: true, | ||
normalizer | ||
})).toThrow(); | ||
expect(() => queryAllByText('abc', { | ||
collapseWhitespace: false, | ||
normalizer | ||
})).toThrow(); | ||
expect(() => queryAllByText('abc', { | ||
collapseWhitespace: true, | ||
normalizer | ||
})).toThrow(); | ||
}); | ||
test('getDefaultNormalizer returns a normalizer that supports trim and collapseWhitespace', () => { | ||
// Default is trim: true and collapseWhitespace: true | ||
expect((0, _.getDefaultNormalizer)()(' abc def ')).toEqual('abc def'); // Turning off trimming should not turn off whitespace collapsing | ||
expect((0, _.getDefaultNormalizer)({ | ||
trim: false | ||
})(' abc def ')).toEqual(' abc def '); // Turning off whitespace collapsing should not turn off trimming | ||
expect((0, _.getDefaultNormalizer)({ | ||
collapseWhitespace: false | ||
})(' abc def ')).toEqual('abc def'); // Whilst it's rather pointless, we should be able to turn both off | ||
expect((0, _.getDefaultNormalizer)({ | ||
trim: false, | ||
collapseWhitespace: false | ||
})(' abc def ')).toEqual(' abc def '); | ||
}); | ||
test('we support an older API with trim and collapseWhitespace instead of a normalizer', () => { | ||
const { | ||
queryAllByText | ||
} = (0, _testUtils.render)('<div> x y </div>'); | ||
expect(queryAllByText('x y')).toHaveLength(1); | ||
expect(queryAllByText('x y', { | ||
trim: false | ||
})).toHaveLength(0); | ||
expect(queryAllByText(' x y ', { | ||
trim: false | ||
})).toHaveLength(1); | ||
expect(queryAllByText('x y', { | ||
collapseWhitespace: false | ||
})).toHaveLength(0); | ||
expect(queryAllByText('x y', { | ||
collapseWhitespace: false | ||
})).toHaveLength(1); | ||
}); |
@@ -13,9 +13,3 @@ 'use strict'; | ||
function fuzzyMatches(textToMatch, node, matcher, _temp) { | ||
var _ref = _temp === void 0 ? {} : _temp, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim; | ||
function fuzzyMatches(textToMatch, node, matcher, normalizer) { | ||
if (typeof textToMatch !== 'string') { | ||
@@ -25,6 +19,3 @@ return false; | ||
var normalizedText = normalize(textToMatch, { | ||
trim: trim, | ||
collapseWhitespace: collapseWhitespace | ||
}); | ||
var normalizedText = normalizer(textToMatch); | ||
@@ -40,9 +31,3 @@ if (typeof matcher === 'string') { | ||
function matches(textToMatch, node, matcher, _temp2) { | ||
var _ref2 = _temp2 === void 0 ? {} : _temp2, | ||
_ref2$collapseWhitesp = _ref2.collapseWhitespace, | ||
collapseWhitespace = _ref2$collapseWhitesp === void 0 ? true : _ref2$collapseWhitesp, | ||
_ref2$trim = _ref2.trim, | ||
trim = _ref2$trim === void 0 ? true : _ref2$trim; | ||
function matches(textToMatch, node, matcher, normalizer) { | ||
if (typeof textToMatch !== 'string') { | ||
@@ -52,6 +37,3 @@ return false; | ||
var normalizedText = normalize(textToMatch, { | ||
trim: trim, | ||
collapseWhitespace: collapseWhitespace | ||
}); | ||
var normalizedText = normalizer(textToMatch); | ||
@@ -67,11 +49,49 @@ if (typeof matcher === 'string') { | ||
function normalize(text, _ref3) { | ||
var trim = _ref3.trim, | ||
collapseWhitespace = _ref3.collapseWhitespace; | ||
var normalizedText = text; | ||
normalizedText = trim ? normalizedText.trim() : normalizedText; | ||
normalizedText = collapseWhitespace ? normalizedText.replace(/\s+/g, ' ') : normalizedText; | ||
return normalizedText; | ||
function getDefaultNormalizer(_temp) { | ||
var _ref = _temp === void 0 ? {} : _temp, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa; | ||
return function (text) { | ||
var normalizedText = text; | ||
normalizedText = trim ? normalizedText.trim() : normalizedText; | ||
normalizedText = collapseWhitespace ? normalizedText.replace(/\s+/g, ' ') : normalizedText; | ||
return normalizedText; | ||
}; | ||
} | ||
/** | ||
* Constructs a normalizer to pass to functions in matches.js | ||
* @param {boolean|undefined} trim The user-specified value for `trim`, without | ||
* any defaulting having been applied | ||
* @param {boolean|undefined} collapseWhitespace The user-specified value for | ||
* `collapseWhitespace`, without any defaulting having been applied | ||
* @param {Function|undefined} normalizer The user-specified normalizer | ||
* @returns {Function} A normalizer | ||
*/ | ||
function makeNormalizer(_ref2) { | ||
var trim = _ref2.trim, | ||
collapseWhitespace = _ref2.collapseWhitespace, | ||
normalizer = _ref2.normalizer; | ||
if (normalizer) { | ||
// User has specified a custom normalizer | ||
if (typeof trim !== 'undefined' || typeof collapseWhitespace !== 'undefined') { | ||
// They've also specified a value for trim or collapseWhitespace | ||
throw new Error('trim and collapseWhitespace are not supported with a normalizer. ' + 'If you want to use the default trim and collapseWhitespace logic in your normalizer, ' + 'use "getDefaultNormalizer({trim, collapseWhitespace})" and compose that into your normalizer'); | ||
} | ||
return normalizer; | ||
} else { | ||
// No custom normalizer specified. Just use default. | ||
return getDefaultNormalizer({ | ||
trim: trim, | ||
collapseWhitespace: collapseWhitespace | ||
}); | ||
} | ||
} | ||
function getNodeText(node) { | ||
@@ -143,14 +163,14 @@ var window = node.ownerDocument.defaultView; | ||
exact = _ref$exact === void 0 ? true : _ref$exact, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim; | ||
collapseWhitespace = _ref.collapseWhitespace, | ||
trim = _ref.trim, | ||
normalizer = _ref.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll("[" + attribute + "]")).filter(function (node) { | ||
return matcher(node.getAttribute(attribute), node, text, matchOpts); | ||
return matcher(node.getAttribute(attribute), node, text, matchNormalizer); | ||
}); | ||
@@ -202,14 +222,14 @@ } | ||
exact = _ref$exact === void 0 ? true : _ref$exact, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa; | ||
trim = _ref.trim, | ||
collapseWhitespace = _ref.collapseWhitespace, | ||
normalizer = _ref.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('label')).filter(function (label) { | ||
return matcher(label.textContent, label, text, matchOpts); | ||
return matcher(label.textContent, label, text, matchNormalizer); | ||
}); | ||
@@ -224,14 +244,15 @@ } | ||
exact = _ref2$exact === void 0 ? true : _ref2$exact, | ||
_ref2$collapseWhitesp = _ref2.collapseWhitespace, | ||
collapseWhitespace = _ref2$collapseWhitesp === void 0 ? true : _ref2$collapseWhitesp, | ||
_ref2$trim = _ref2.trim, | ||
trim = _ref2$trim === void 0 ? true : _ref2$trim; | ||
collapseWhitespace = _ref2.collapseWhitespace, | ||
trim = _ref2.trim, | ||
normalizer = _ref2.normalizer; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
var labels = queryAllLabelsByText(container, text, _extends({ | ||
exact: exact | ||
}, matchOpts)); | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
var labels = queryAllLabelsByText(container, text, { | ||
exact: exact, | ||
normalizer: matchNormalizer | ||
}); | ||
var labelledElements = labels.map(function (label) { | ||
@@ -268,5 +289,6 @@ if (label.control) { | ||
})); | ||
var possibleAriaLabelElements = queryAllByText(container, text, _extends({ | ||
exact: exact | ||
}, matchOpts)).filter(function (el) { | ||
var possibleAriaLabelElements = queryAllByText(container, text, { | ||
exact: exact, | ||
normalizer: matchNormalizer | ||
}).filter(function (el) { | ||
return el.tagName !== 'LABEL'; | ||
@@ -299,18 +321,18 @@ }); // don't reprocess labels | ||
exact = _ref3$exact === void 0 ? true : _ref3$exact, | ||
_ref3$collapseWhitesp = _ref3.collapseWhitespace, | ||
collapseWhitespace = _ref3$collapseWhitesp === void 0 ? true : _ref3$collapseWhitesp, | ||
_ref3$trim = _ref3.trim, | ||
trim = _ref3$trim === void 0 ? true : _ref3$trim, | ||
collapseWhitespace = _ref3.collapseWhitespace, | ||
trim = _ref3.trim, | ||
_ref3$ignore = _ref3.ignore, | ||
ignore = _ref3$ignore === void 0 ? 'script, style' : _ref3$ignore; | ||
ignore = _ref3$ignore === void 0 ? 'script, style' : _ref3$ignore, | ||
normalizer = _ref3.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll(selector)).filter(function (node) { | ||
return !ignore || !node.matches(ignore); | ||
}).filter(function (node) { | ||
return matcher(getNodeText(node), node, text, matchOpts); | ||
return matcher(getNodeText(node), node, text, matchNormalizer); | ||
}); | ||
@@ -331,14 +353,14 @@ } | ||
exact = _ref4$exact === void 0 ? true : _ref4$exact, | ||
_ref4$collapseWhitesp = _ref4.collapseWhitespace, | ||
collapseWhitespace = _ref4$collapseWhitesp === void 0 ? true : _ref4$collapseWhitesp, | ||
_ref4$trim = _ref4.trim, | ||
trim = _ref4$trim === void 0 ? true : _ref4$trim; | ||
collapseWhitespace = _ref4.collapseWhitespace, | ||
trim = _ref4.trim, | ||
normalizer = _ref4.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('[title], svg > title')).filter(function (node) { | ||
return matcher(node.getAttribute('title'), node, text, matchOpts) || matcher(getNodeText(node), node, text, matchOpts); | ||
return matcher(node.getAttribute('title'), node, text, matchNormalizer) || matcher(getNodeText(node), node, text, matchNormalizer); | ||
}); | ||
@@ -359,12 +381,12 @@ } | ||
exact = _ref5$exact === void 0 ? true : _ref5$exact, | ||
_ref5$collapseWhitesp = _ref5.collapseWhitespace, | ||
collapseWhitespace = _ref5$collapseWhitesp === void 0 ? true : _ref5$collapseWhitesp, | ||
_ref5$trim = _ref5.trim, | ||
trim = _ref5$trim === void 0 ? true : _ref5$trim; | ||
collapseWhitespace = _ref5.collapseWhitespace, | ||
trim = _ref5.trim, | ||
normalizer = _ref5.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('select')).filter(function (selectNode) { | ||
@@ -375,3 +397,3 @@ var selectedOptions = Array.from(selectNode.options).filter(function (option) { | ||
return selectedOptions.some(function (optionNode) { | ||
return matcher(getNodeText(optionNode), optionNode, text, matchOpts); | ||
return matcher(getNodeText(optionNode), optionNode, text, matchNormalizer); | ||
}); | ||
@@ -421,14 +443,14 @@ }); | ||
exact = _ref6$exact === void 0 ? true : _ref6$exact, | ||
_ref6$collapseWhitesp = _ref6.collapseWhitespace, | ||
collapseWhitespace = _ref6$collapseWhitesp === void 0 ? true : _ref6$collapseWhitesp, | ||
_ref6$trim = _ref6.trim, | ||
trim = _ref6$trim === void 0 ? true : _ref6$trim; | ||
collapseWhitespace = _ref6.collapseWhitespace, | ||
trim = _ref6.trim, | ||
normalizer = _ref6.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('img,input,area')).filter(function (node) { | ||
return matcher(node.getAttribute('alt'), node, alt, matchOpts); | ||
return matcher(node.getAttribute('alt'), node, alt, matchNormalizer); | ||
}); | ||
@@ -449,12 +471,12 @@ } | ||
exact = _ref7$exact === void 0 ? true : _ref7$exact, | ||
_ref7$collapseWhitesp = _ref7.collapseWhitespace, | ||
collapseWhitespace = _ref7$collapseWhitesp === void 0 ? true : _ref7$collapseWhitesp, | ||
_ref7$trim = _ref7.trim, | ||
trim = _ref7$trim === void 0 ? true : _ref7$trim; | ||
collapseWhitespace = _ref7.collapseWhitespace, | ||
trim = _ref7.trim, | ||
normalizer = _ref7.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll("input,textarea,select")).filter(function (node) { | ||
@@ -466,6 +488,6 @@ if (node.tagName === 'SELECT') { | ||
return selectedOptions.some(function (optionNode) { | ||
return matcher(getNodeText(optionNode), optionNode, value, matchOpts); | ||
return matcher(getNodeText(optionNode), optionNode, value, matchNormalizer); | ||
}); | ||
} else { | ||
return matcher(node.value, node, value, matchOpts); | ||
return matcher(node.value, node, value, matchNormalizer); | ||
} | ||
@@ -1483,2 +1505,3 @@ }); | ||
exports.queryHelpers = queryHelpers; | ||
exports.getDefaultNormalizer = getDefaultNormalizer; | ||
exports.configure = configure; | ||
@@ -1528,4 +1551,2 @@ exports.queryByPlaceholderText = queryByPlaceholderText; | ||
exports.waitForDomChange = waitForDomChange; | ||
exports.fuzzyMatches = fuzzyMatches; | ||
exports.matches = matches; | ||
exports.getNodeText = getNodeText; | ||
@@ -1532,0 +1553,0 @@ exports.fireEvent = fireEvent; |
@@ -7,9 +7,3 @@ import _extends from '@babel/runtime/helpers/esm/extends'; | ||
function fuzzyMatches(textToMatch, node, matcher, _temp) { | ||
var _ref = _temp === void 0 ? {} : _temp, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim; | ||
function fuzzyMatches(textToMatch, node, matcher, normalizer) { | ||
if (typeof textToMatch !== 'string') { | ||
@@ -19,6 +13,3 @@ return false; | ||
var normalizedText = normalize(textToMatch, { | ||
trim: trim, | ||
collapseWhitespace: collapseWhitespace | ||
}); | ||
var normalizedText = normalizer(textToMatch); | ||
@@ -34,9 +25,3 @@ if (typeof matcher === 'string') { | ||
function matches(textToMatch, node, matcher, _temp2) { | ||
var _ref2 = _temp2 === void 0 ? {} : _temp2, | ||
_ref2$collapseWhitesp = _ref2.collapseWhitespace, | ||
collapseWhitespace = _ref2$collapseWhitesp === void 0 ? true : _ref2$collapseWhitesp, | ||
_ref2$trim = _ref2.trim, | ||
trim = _ref2$trim === void 0 ? true : _ref2$trim; | ||
function matches(textToMatch, node, matcher, normalizer) { | ||
if (typeof textToMatch !== 'string') { | ||
@@ -46,6 +31,3 @@ return false; | ||
var normalizedText = normalize(textToMatch, { | ||
trim: trim, | ||
collapseWhitespace: collapseWhitespace | ||
}); | ||
var normalizedText = normalizer(textToMatch); | ||
@@ -61,11 +43,49 @@ if (typeof matcher === 'string') { | ||
function normalize(text, _ref3) { | ||
var trim = _ref3.trim, | ||
collapseWhitespace = _ref3.collapseWhitespace; | ||
var normalizedText = text; | ||
normalizedText = trim ? normalizedText.trim() : normalizedText; | ||
normalizedText = collapseWhitespace ? normalizedText.replace(/\s+/g, ' ') : normalizedText; | ||
return normalizedText; | ||
function getDefaultNormalizer(_temp) { | ||
var _ref = _temp === void 0 ? {} : _temp, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa; | ||
return function (text) { | ||
var normalizedText = text; | ||
normalizedText = trim ? normalizedText.trim() : normalizedText; | ||
normalizedText = collapseWhitespace ? normalizedText.replace(/\s+/g, ' ') : normalizedText; | ||
return normalizedText; | ||
}; | ||
} | ||
/** | ||
* Constructs a normalizer to pass to functions in matches.js | ||
* @param {boolean|undefined} trim The user-specified value for `trim`, without | ||
* any defaulting having been applied | ||
* @param {boolean|undefined} collapseWhitespace The user-specified value for | ||
* `collapseWhitespace`, without any defaulting having been applied | ||
* @param {Function|undefined} normalizer The user-specified normalizer | ||
* @returns {Function} A normalizer | ||
*/ | ||
function makeNormalizer(_ref2) { | ||
var trim = _ref2.trim, | ||
collapseWhitespace = _ref2.collapseWhitespace, | ||
normalizer = _ref2.normalizer; | ||
if (normalizer) { | ||
// User has specified a custom normalizer | ||
if (typeof trim !== 'undefined' || typeof collapseWhitespace !== 'undefined') { | ||
// They've also specified a value for trim or collapseWhitespace | ||
throw new Error('trim and collapseWhitespace are not supported with a normalizer. ' + 'If you want to use the default trim and collapseWhitespace logic in your normalizer, ' + 'use "getDefaultNormalizer({trim, collapseWhitespace})" and compose that into your normalizer'); | ||
} | ||
return normalizer; | ||
} else { | ||
// No custom normalizer specified. Just use default. | ||
return getDefaultNormalizer({ | ||
trim: trim, | ||
collapseWhitespace: collapseWhitespace | ||
}); | ||
} | ||
} | ||
function getNodeText(node) { | ||
@@ -137,14 +157,14 @@ var window = node.ownerDocument.defaultView; | ||
exact = _ref$exact === void 0 ? true : _ref$exact, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim; | ||
collapseWhitespace = _ref.collapseWhitespace, | ||
trim = _ref.trim, | ||
normalizer = _ref.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll("[" + attribute + "]")).filter(function (node) { | ||
return matcher(node.getAttribute(attribute), node, text, matchOpts); | ||
return matcher(node.getAttribute(attribute), node, text, matchNormalizer); | ||
}); | ||
@@ -196,14 +216,14 @@ } | ||
exact = _ref$exact === void 0 ? true : _ref$exact, | ||
_ref$trim = _ref.trim, | ||
trim = _ref$trim === void 0 ? true : _ref$trim, | ||
_ref$collapseWhitespa = _ref.collapseWhitespace, | ||
collapseWhitespace = _ref$collapseWhitespa === void 0 ? true : _ref$collapseWhitespa; | ||
trim = _ref.trim, | ||
collapseWhitespace = _ref.collapseWhitespace, | ||
normalizer = _ref.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('label')).filter(function (label) { | ||
return matcher(label.textContent, label, text, matchOpts); | ||
return matcher(label.textContent, label, text, matchNormalizer); | ||
}); | ||
@@ -218,14 +238,15 @@ } | ||
exact = _ref2$exact === void 0 ? true : _ref2$exact, | ||
_ref2$collapseWhitesp = _ref2.collapseWhitespace, | ||
collapseWhitespace = _ref2$collapseWhitesp === void 0 ? true : _ref2$collapseWhitesp, | ||
_ref2$trim = _ref2.trim, | ||
trim = _ref2$trim === void 0 ? true : _ref2$trim; | ||
collapseWhitespace = _ref2.collapseWhitespace, | ||
trim = _ref2.trim, | ||
normalizer = _ref2.normalizer; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
var labels = queryAllLabelsByText(container, text, _extends({ | ||
exact: exact | ||
}, matchOpts)); | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
var labels = queryAllLabelsByText(container, text, { | ||
exact: exact, | ||
normalizer: matchNormalizer | ||
}); | ||
var labelledElements = labels.map(function (label) { | ||
@@ -262,5 +283,6 @@ if (label.control) { | ||
})); | ||
var possibleAriaLabelElements = queryAllByText(container, text, _extends({ | ||
exact: exact | ||
}, matchOpts)).filter(function (el) { | ||
var possibleAriaLabelElements = queryAllByText(container, text, { | ||
exact: exact, | ||
normalizer: matchNormalizer | ||
}).filter(function (el) { | ||
return el.tagName !== 'LABEL'; | ||
@@ -293,18 +315,18 @@ }); // don't reprocess labels | ||
exact = _ref3$exact === void 0 ? true : _ref3$exact, | ||
_ref3$collapseWhitesp = _ref3.collapseWhitespace, | ||
collapseWhitespace = _ref3$collapseWhitesp === void 0 ? true : _ref3$collapseWhitesp, | ||
_ref3$trim = _ref3.trim, | ||
trim = _ref3$trim === void 0 ? true : _ref3$trim, | ||
collapseWhitespace = _ref3.collapseWhitespace, | ||
trim = _ref3.trim, | ||
_ref3$ignore = _ref3.ignore, | ||
ignore = _ref3$ignore === void 0 ? 'script, style' : _ref3$ignore; | ||
ignore = _ref3$ignore === void 0 ? 'script, style' : _ref3$ignore, | ||
normalizer = _ref3.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll(selector)).filter(function (node) { | ||
return !ignore || !node.matches(ignore); | ||
}).filter(function (node) { | ||
return matcher(getNodeText(node), node, text, matchOpts); | ||
return matcher(getNodeText(node), node, text, matchNormalizer); | ||
}); | ||
@@ -325,14 +347,14 @@ } | ||
exact = _ref4$exact === void 0 ? true : _ref4$exact, | ||
_ref4$collapseWhitesp = _ref4.collapseWhitespace, | ||
collapseWhitespace = _ref4$collapseWhitesp === void 0 ? true : _ref4$collapseWhitesp, | ||
_ref4$trim = _ref4.trim, | ||
trim = _ref4$trim === void 0 ? true : _ref4$trim; | ||
collapseWhitespace = _ref4.collapseWhitespace, | ||
trim = _ref4.trim, | ||
normalizer = _ref4.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('[title], svg > title')).filter(function (node) { | ||
return matcher(node.getAttribute('title'), node, text, matchOpts) || matcher(getNodeText(node), node, text, matchOpts); | ||
return matcher(node.getAttribute('title'), node, text, matchNormalizer) || matcher(getNodeText(node), node, text, matchNormalizer); | ||
}); | ||
@@ -353,12 +375,12 @@ } | ||
exact = _ref5$exact === void 0 ? true : _ref5$exact, | ||
_ref5$collapseWhitesp = _ref5.collapseWhitespace, | ||
collapseWhitespace = _ref5$collapseWhitesp === void 0 ? true : _ref5$collapseWhitesp, | ||
_ref5$trim = _ref5.trim, | ||
trim = _ref5$trim === void 0 ? true : _ref5$trim; | ||
collapseWhitespace = _ref5.collapseWhitespace, | ||
trim = _ref5.trim, | ||
normalizer = _ref5.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('select')).filter(function (selectNode) { | ||
@@ -369,3 +391,3 @@ var selectedOptions = Array.from(selectNode.options).filter(function (option) { | ||
return selectedOptions.some(function (optionNode) { | ||
return matcher(getNodeText(optionNode), optionNode, text, matchOpts); | ||
return matcher(getNodeText(optionNode), optionNode, text, matchNormalizer); | ||
}); | ||
@@ -415,14 +437,14 @@ }); | ||
exact = _ref6$exact === void 0 ? true : _ref6$exact, | ||
_ref6$collapseWhitesp = _ref6.collapseWhitespace, | ||
collapseWhitespace = _ref6$collapseWhitesp === void 0 ? true : _ref6$collapseWhitesp, | ||
_ref6$trim = _ref6.trim, | ||
trim = _ref6$trim === void 0 ? true : _ref6$trim; | ||
collapseWhitespace = _ref6.collapseWhitespace, | ||
trim = _ref6.trim, | ||
normalizer = _ref6.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('img,input,area')).filter(function (node) { | ||
return matcher(node.getAttribute('alt'), node, alt, matchOpts); | ||
return matcher(node.getAttribute('alt'), node, alt, matchNormalizer); | ||
}); | ||
@@ -443,12 +465,12 @@ } | ||
exact = _ref7$exact === void 0 ? true : _ref7$exact, | ||
_ref7$collapseWhitesp = _ref7.collapseWhitespace, | ||
collapseWhitespace = _ref7$collapseWhitesp === void 0 ? true : _ref7$collapseWhitesp, | ||
_ref7$trim = _ref7.trim, | ||
trim = _ref7$trim === void 0 ? true : _ref7$trim; | ||
collapseWhitespace = _ref7.collapseWhitespace, | ||
trim = _ref7.trim, | ||
normalizer = _ref7.normalizer; | ||
var matcher = exact ? matches : fuzzyMatches; | ||
var matchOpts = { | ||
var matchNormalizer = makeNormalizer({ | ||
collapseWhitespace: collapseWhitespace, | ||
trim: trim | ||
}; | ||
trim: trim, | ||
normalizer: normalizer | ||
}); | ||
return Array.from(container.querySelectorAll("input,textarea,select")).filter(function (node) { | ||
@@ -460,6 +482,6 @@ if (node.tagName === 'SELECT') { | ||
return selectedOptions.some(function (optionNode) { | ||
return matcher(getNodeText(optionNode), optionNode, value, matchOpts); | ||
return matcher(getNodeText(optionNode), optionNode, value, matchNormalizer); | ||
}); | ||
} else { | ||
return matcher(node.value, node, value, matchOpts); | ||
return matcher(node.value, node, value, matchNormalizer); | ||
} | ||
@@ -1473,2 +1495,2 @@ }); | ||
export { getQueriesForElement as bindElementToQueries, getQueriesForElement as within, defaultQueries as queries, queryHelpers, configure, queryByPlaceholderText, queryAllByPlaceholderText, getByPlaceholderText, getAllByPlaceholderText, queryByText, queryAllByText, getByText, getAllByText, queryByLabelText, queryAllByLabelText, getByLabelText, getAllByLabelText, queryByAltText, queryAllByAltText, getByAltText, getAllByAltText, queryBySelectText, queryAllBySelectText, getBySelectText, getAllBySelectText, queryByTestId, queryAllByTestId, getByTestId, getAllByTestId, queryByTitle, queryAllByTitle, getByTitle, getAllByTitle, queryByValue, queryAllByValue, getByValue, getAllByValue, queryByDisplayValue, queryAllByDisplayValue, getByDisplayValue, getAllByDisplayValue, queryByRole, queryAllByRole, getAllByRole, getByRole, wait, waitForElement, waitForDomChange, fuzzyMatches, matches, getNodeText, fireEvent, getQueriesForElement, debugDOM, getElementError, firstResultOrNull, queryAllByAttribute, queryByAttribute, prettyDOM }; | ||
export { getQueriesForElement as bindElementToQueries, getQueriesForElement as within, defaultQueries as queries, queryHelpers, getDefaultNormalizer, configure, queryByPlaceholderText, queryAllByPlaceholderText, getByPlaceholderText, getAllByPlaceholderText, queryByText, queryAllByText, getByText, getAllByText, queryByLabelText, queryAllByLabelText, getByLabelText, getAllByLabelText, queryByAltText, queryAllByAltText, getByAltText, getAllByAltText, queryBySelectText, queryAllBySelectText, getBySelectText, getAllBySelectText, queryByTestId, queryAllByTestId, getByTestId, getAllByTestId, queryByTitle, queryAllByTitle, getByTitle, getAllByTitle, queryByValue, queryAllByValue, getByValue, getAllByValue, queryByDisplayValue, queryAllByDisplayValue, getByDisplayValue, getAllByDisplayValue, queryByRole, queryAllByRole, getAllByRole, getByRole, wait, waitForElement, waitForDomChange, getNodeText, fireEvent, getQueriesForElement, debugDOM, getElementError, firstResultOrNull, queryAllByAttribute, queryByAttribute, prettyDOM }; |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.DomTestingLibrary={})}(this,function(e){"use strict";function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function n(e,t,n,r){var o=void 0===r?{}:r,i=o.collapseWhitespace,l=void 0===i||i,u=o.trim;if("string"!=typeof e)return!1;var c=a(e,{trim:void 0===u||u,collapseWhitespace:l});return"string"==typeof n?c.toLowerCase().includes(n.toLowerCase()):"function"==typeof n?n(c,t):n.test(c)}function r(e,t,n,r){var o=void 0===r?{}:r,i=o.collapseWhitespace,l=void 0===i||i,u=o.trim;if("string"!=typeof e)return!1;var c=a(e,{trim:void 0===u||u,collapseWhitespace:l});return"string"==typeof n?c===n:"function"==typeof n?n(c,t):n.test(c)}function a(e,t){var n=t.trim,r=t.collapseWhitespace,a=e;return a=n?a.trim():a,a=r?a.replace(/\s+/g," "):a}function o(e){var t=e.ownerDocument.defaultView;return Array.from(e.childNodes).filter(function(e){return e.nodeType===t.Node.TEXT_NODE&&Boolean(e.textContent)}).map(function(e){return e.textContent}).join("")}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(){return(u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&l(a,n.prototype),a}).apply(null,arguments)}function c(e){var t="function"==typeof Map?new Map:void 0;return(c=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return u(e,arguments,i(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),l(r,e)})(e)}var s="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function f(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function d(e,t){return e(t={exports:{}},t.exports),t.exports}var p={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},b=d(function(e){var t={};for(var n in p)p.hasOwnProperty(n)&&(t[p[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var a in r)if(r.hasOwnProperty(a)){if(!("channels"in r[a]))throw new Error("missing channels property: "+a);if(!("labels"in r[a]))throw new Error("missing channel labels property: "+a);if(r[a].labels.length!==r[a].channels)throw new Error("channel and label counts mismatch: "+a);var o=r[a].channels,i=r[a].labels;delete r[a].channels,delete r[a].labels,Object.defineProperty(r[a],"channels",{value:o}),Object.defineProperty(r[a],"labels",{value:i})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,a=e[1]/255,o=e[2]/255,i=Math.min(r,a,o),l=Math.max(r,a,o),u=l-i;return l===i?t=0:r===l?t=(a-o)/u:a===l?t=2+(o-r)/u:o===l&&(t=4+(r-a)/u),(t=Math.min(60*t,360))<0&&(t+=360),n=(i+l)/2,[t,100*(l===i?0:n<=.5?u/(l+i):u/(2-l-i)),100*n]},r.rgb.hsv=function(e){var t,n,r,a,o,i=e[0]/255,l=e[1]/255,u=e[2]/255,c=Math.max(i,l,u),s=c-Math.min(i,l,u),f=function(e){return(c-e)/6/s+.5};return 0===s?a=o=0:(o=s/c,t=f(i),n=f(l),r=f(u),i===c?a=r-n:l===c?a=1/3+t-r:u===c&&(a=2/3+n-t),a<0?a+=1:a>1&&(a-=1)),[360*a,100*o,100*c]},r.rgb.hwb=function(e){var t=e[0],n=e[1],a=e[2];return[r.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,a))),100*(a=1-1/255*Math.max(t,Math.max(n,a)))]},r.rgb.cmyk=function(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255,a=Math.min(1-t,1-n,1-r);return[100*((1-t-a)/(1-a)||0),100*((1-n-a)/(1-a)||0),100*((1-r-a)/(1-a)||0),100*a]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,a,o,i=1/0;for(var l in p)if(p.hasOwnProperty(l)){var u=p[l],c=(a=e,o=u,Math.pow(a[0]-o[0],2)+Math.pow(a[1]-o[1],2)+Math.pow(a[2]-o[2],2));c<i&&(i=c,r=l)}return r},r.keyword.rgb=function(e){return p[e]},r.rgb.xyz=function(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],a=t[1],o=t[2];return a/=100,o/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116)-16,500*(n-a),200*(a-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},r.hsl.rgb=function(e){var t,n,r,a,o,i=e[0]/360,l=e[1]/100,u=e[2]/100;if(0===l)return[o=255*u,o,o];t=2*u-(n=u<.5?u*(1+l):u+l-u*l),a=[0,0,0];for(var c=0;c<3;c++)(r=i+1/3*-(c-1))<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,a[c]=255*o;return a},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,a=n,o=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,a*=o<=1?o:2-o,[t,100*(0===r?2*a/(o+a):2*n/(r+n)),100*((r+n)/2)]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,a=Math.floor(t)%6,o=t-Math.floor(t),i=255*r*(1-n),l=255*r*(1-n*o),u=255*r*(1-n*(1-o));switch(r*=255,a){case 0:return[r,u,i];case 1:return[l,r,i];case 2:return[i,r,u];case 3:return[i,l,r];case 4:return[u,i,r];case 5:return[r,i,l]}},r.hsv.hsl=function(e){var t,n,r=e[0],a=e[1]/100,o=e[2]/100,i=Math.max(o,.01),l=(2-a)*o;return n=a*i,[r,100*(n=(n/=(t=(2-a)*i)<=1?t:2-t)||0),100*(l/=2)]},r.hwb.rgb=function(e){var t,n,r,a,o,i,l,u=e[0]/360,c=e[1]/100,s=e[2]/100,f=c+s;switch(f>1&&(c/=f,s/=f),r=6*u-(t=Math.floor(6*u)),0!=(1&t)&&(r=1-r),a=c+r*((n=1-s)-c),t){default:case 6:case 0:o=n,i=a,l=c;break;case 1:o=a,i=n,l=c;break;case 2:o=c,i=n,l=a;break;case 3:o=c,i=a,l=n;break;case 4:o=a,i=c,l=n;break;case 5:o=n,i=c,l=a}return[255*o,255*i,255*l]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,a=e[3]/100;return[255*(1-Math.min(1,t*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,r*(1-a)+a))]},r.xyz.rgb=function(e){var t,n,r,a=e[0]/100,o=e[1]/100,i=e[2]/100;return n=-.9689*a+1.8758*o+.0415*i,r=.0557*a+-.204*o+1.057*i,t=(t=3.2406*a+-1.5372*o+-.4986*i)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,a=e[0];t=e[1]/500+(n=(a+16)/116),r=n-e[2]/200;var o=Math.pow(n,3),i=Math.pow(t,3),l=Math.pow(r,3);return n=o>.008856?o:(n-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,r=l>.008856?l:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],a=e[2];return(t=360*Math.atan2(a,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+a*a),t]},r.lch.lab=function(e){var t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],a=e[2],o=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var i=30+(Math.round(a/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(i+=60),i},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map(function(e){return e+e}).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,a=e[2]/255,o=Math.max(Math.max(n,r),a),i=Math.min(Math.min(n,r),a),l=o-i;return t=l<=0?0:o===n?(r-a)/l%6:o===r?2+(a-n)/l:4+(n-r)/l+4,t/=6,[360*(t%=1),100*l,100*(l<1?i/(1-l):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,a=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(a=(n-.5*r)/(1-r)),[e[0],100*r,100*a]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,a=0;return r<1&&(a=(n-r)/(1-r)),[e[0],100*r,100*a]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var a,o=[0,0,0],i=t%1*6,l=i%1,u=1-l;switch(Math.floor(i)){case 0:o[0]=1,o[1]=l,o[2]=0;break;case 1:o[0]=u,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=l;break;case 3:o[0]=0,o[1]=u,o[2]=1;break;case 4:o[0]=l,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=u}return a=(1-n)*r,[255*(n*o[0]+a),255*(n*o[1]+a),255*(n*o[2]+a)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,a=0;return r<1&&(a=(n-r)/(1-r)),[e[0],100*r,100*a]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});b.rgb,b.hsl,b.hsv,b.hwb,b.cmyk,b.xyz,b.lab,b.lch,b.hex,b.keyword,b.ansi16,b.ansi256,b.hcg,b.apple,b.gray;function v(e){var t=function(){for(var e={},t=Object.keys(b),n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;)for(var r=n.pop(),a=Object.keys(b[r]),o=a.length,i=0;i<o;i++){var l=a[i],u=t[l];-1===u.distance&&(u.distance=t[r].distance+1,u.parent=r,n.unshift(l))}return t}function y(e,t){return function(n){return t(e(n))}}function h(e,t){for(var n=[t[e].parent,e],r=b[t[e].parent][e],a=t[e].parent;t[a].parent;)n.unshift(t[a].parent),r=y(b[t[a].parent][a],r),a=t[a].parent;return r.conversion=n,r}var g={};Object.keys(b).forEach(function(e){g[e]={},Object.defineProperty(g[e],"channels",{value:b[e].channels}),Object.defineProperty(g[e],"labels",{value:b[e].labels});var t=function(e){for(var t=v(e),n={},r=Object.keys(t),a=r.length,o=0;o<a;o++){var i=r[o];null!==t[i].parent&&(n[i]=h(i,t))}return n}(e);Object.keys(t).forEach(function(n){var r=t[n];g[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,a=0;a<r;a++)n[a]=Math.round(n[a]);return n};return"conversion"in e&&(t.conversion=e.conversion),t}(r),g[e][n].raw=function(e){var t=function(t){return null==t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)})});var m=g,w=d(function(e){var t=function(e,t){return function(){return"["+(e.apply(m,arguments)+t)+"m"}},n=function(e,t){return function(){var n=e.apply(m,arguments);return"["+(38+t)+";5;"+n+"m"}},r=function(e,t){return function(){var n=e.apply(m,arguments);return"["+(38+t)+";2;"+n[0]+";"+n[1]+";"+n[2]+"m"}};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){var e=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.grey=a.color.gray;for(var o=Object.keys(a),i=0;i<o.length;i++){for(var l=o[i],u=a[l],c=Object.keys(u),s=0;s<c.length;s++){var f=c[s],d=u[f];a[f]={open:"["+d[0]+"m",close:"["+d[1]+"m"},u[f]=a[f],e.set(d[0],d[1])}Object.defineProperty(a,l,{value:u,enumerable:!1}),Object.defineProperty(a,"codes",{value:e,enumerable:!1})}var p=function(e){return e},b=function(e,t,n){return[e,t,n]};a.color.close="[39m",a.bgColor.close="[49m",a.color.ansi={ansi:t(p,0)},a.color.ansi256={ansi256:n(p,0)},a.color.ansi16m={rgb:r(b,0)},a.bgColor.ansi={ansi:t(p,10)},a.bgColor.ansi256={ansi256:n(p,10)},a.bgColor.ansi16m={rgb:r(b,10)};for(var v=Object.keys(m),y=0;y<v.length;y++){var h=v[y];if("object"==typeof m[h]){var g=m[h];"ansi16"===h&&(h="ansi"),"ansi16"in g&&(a.color.ansi[h]=t(g.ansi16,0),a.bgColor.ansi[h]=t(g.ansi16,10)),"ansi256"in g&&(a.color.ansi256[h]=n(g.ansi256,0),a.bgColor.ansi256[h]=n(g.ansi256,10)),"rgb"in g&&(a.color.ansi16m[h]=r(g.rgb,0),a.bgColor.ansi16m[h]=r(g.rgb,10))}}return a}})}),E=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.printIteratorEntries=function(e,t,n,r,a,o){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:": ",l="",u=e.next();if(!u.done){l+=t.spacingOuter;for(var c=n+t.indent;!u.done;){l+=c+o(u.value[0],t,c,r,a)+i+o(u.value[1],t,c,r,a),(u=e.next()).done?t.min||(l+=","):l+=","+t.spacingInner}l+=t.spacingOuter+n}return l},t.printIteratorValues=function(e,t,n,r,a,o){var i="",l=e.next();if(!l.done){i+=t.spacingOuter;for(var u=n+t.indent;!l.done;)i+=u+o(l.value,t,u,r,a),(l=e.next()).done?t.min||(i+=","):i+=","+t.spacingInner;i+=t.spacingOuter+n}return i},t.printListItems=function(e,t,n,r,a,o){var i="";if(e.length){i+=t.spacingOuter;for(var l=n+t.indent,u=0;u<e.length;u++)i+=l+o(e[u],t,l,r,a),u<e.length-1?i+=","+t.spacingInner:t.min||(i+=",");i+=t.spacingOuter+n}return i},t.printObjectProperties=function(e,t,a,o,i,l){var u="",c=Object.keys(e).sort(),s=n(e);if(s.length&&(c=c.filter(function(e){return!r(e)}).concat(s)),c.length){u+=t.spacingOuter;for(var f=a+t.indent,d=0;d<c.length;d++){var p=c[d];u+=f+l(p,t,f,o,i)+": "+l(e[p],t,f,o,i),d<c.length-1?u+=","+t.spacingInner:t.min||(u+=",")}u+=t.spacingOuter+a}return u};var n=Object.getOwnPropertySymbols||function(){return[]},r=function(e){return"symbol"==typeof e||"[object Symbol]"===toString.call(e)}});f(E);E.printIteratorEntries,E.printIteratorValues,E.printListItems,E.printObjectProperties;var T=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=Symbol.for("jest.asymmetricMatcher"),r=t.serialize=function(e,t,n,r,a,o){var i=e.toString();return"ArrayContaining"===i||"ArrayNotContaining"===i?++r>t.maxDepth?"["+i+"]":i+" ["+(0,E.printListItems)(e.sample,t,n,r,a,o)+"]":"ObjectContaining"===i||"ObjectNotContaining"===i?++r>t.maxDepth?"["+i+"]":i+" {"+(0,E.printObjectProperties)(e.sample,t,n,r,a,o)+"}":"StringMatching"===i||"StringNotMatching"===i?i+" "+o(e.sample,t,n,r,a):"StringContaining"===i||"StringNotContaining"===i?i+" "+o(e.sample,t,n,r,a):e.toAsymmetricMatcher()},a=t.test=function(e){return e&&e.$$typeof===n};t.default={serialize:r,test:a}});f(T);T.test,T.serialize;var A=function(){var e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")},x=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=t.test=void 0;var n=a(A),r=a(w);function a(e){return e&&e.__esModule?e:{default:e}}var o=t.test=function(e){return"string"==typeof e&&e.match((0,n.default)())},i=t.serialize=function(e,t,a,o,i,l){return l(e.replace((0,n.default)(),function(e){switch(e){case r.default.red.close:case r.default.green.close:case r.default.cyan.close:case r.default.gray.close:case r.default.white.close:case r.default.yellow.close:case r.default.bgRed.close:case r.default.bgGreen.close:case r.default.bgYellow.close:case r.default.inverse.close:case r.default.dim.close:case r.default.bold.close:case r.default.reset.open:case r.default.reset.close:return"</>";case r.default.red.open:return"<red>";case r.default.green.open:return"<green>";case r.default.cyan.open:return"<cyan>";case r.default.gray.open:return"<gray>";case r.default.white.open:return"<white>";case r.default.yellow.open:return"<yellow>";case r.default.bgRed.open:return"<bgRed>";case r.default.bgGreen.open:return"<bgGreen>";case r.default.bgYellow.open:return"<bgYellow>";case r.default.inverse.open:return"<inverse>";case r.default.dim.open:return"<dim>";case r.default.bold.open:return"<bold>";default:return""}}),t,a,o,i)};t.default={serialize:i,test:o}});f(x);x.serialize,x.test;var M=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=t.test=void 0;var n=["DOMStringMap","NamedNodeMap"],r=t.test=function(e){return e&&e.constructor&&-1!==n.indexOf(e.constructor.name)},a=t.serialize=function(e,t,n,r,a,o){return++r>t.maxDepth?"["+e.constructor.name+"]":e.constructor.name+" {"+(0,E.printObjectProperties)(function(e){var t={};if("NamedNodeMap"===e.constructor.name)for(var n=0;n<e.length;n++)t[e[n].name]=e[n].value;else t=Object.assign({},e);return t}(e),t,n,r,a,o)+"}"};t.default={serialize:a,test:r}});f(M);M.serialize,M.test;var O=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.replace(/</g,"<").replace(/>/g,">")}});f(O);var I=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.printElementAsLeaf=t.printElement=t.printComment=t.printText=t.printChildren=t.printProps=void 0;var n,r=(n=O)&&n.__esModule?n:{default:n};t.printProps=function(e,t,n,r,a,o,i){var l=r+n.indent,u=n.colors;return e.map(function(e){var c=t[e],s=i(c,n,l,a,o);return"string"!=typeof c&&(-1!==s.indexOf("\n")&&(s=n.spacingOuter+l+s+n.spacingOuter+r),s="{"+s+"}"),n.spacingInner+r+u.prop.open+e+u.prop.close+"="+u.value.open+s+u.value.close}).join("")},t.printChildren=function(e,t,n,r,o,i){return e.map(function(e){return t.spacingOuter+n+("string"==typeof e?a(e,t):i(e,t,n,r,o))}).join("")};var a=t.printText=function(e,t){var n=t.colors.content;return n.open+(0,r.default)(e)+n.close};t.printComment=function(e,t){var n=t.colors.comment;return n.open+"\x3c!--"+(0,r.default)(e)+"--\x3e"+n.close},t.printElement=function(e,t,n,r,a){var o=r.colors.tag;return o.open+"<"+e+(t&&o.close+t+r.spacingOuter+a+o.open)+(n?">"+o.close+n+r.spacingOuter+a+o.open+"</"+e:(t&&!r.min?"":" ")+"/")+">"+o.close},t.printElementAsLeaf=function(e,t){var n=t.colors.tag;return n.open+"<"+e+n.close+" β¦"+n.open+" />"+n.close}});f(I);I.printElementAsLeaf,I.printElement,I.printComment,I.printText,I.printChildren,I.printProps;var B=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=t.test=void 0;var n=/^((HTML|SVG)\w*)?Element$/,r=t.test=function(e){return e&&e.constructor&&e.constructor.name&&(t=e.nodeType,r=e.constructor.name,1===t&&n.test(r)||3===t&&"Text"===r||8===t&&"Comment"===r||11===t&&"DocumentFragment"===r);var t,r},a=function(e){return e.name},o=function(e,t){return e[t.name]=t.value,e},i=t.serialize=function(e,t,n,r,i,l){if(3===e.nodeType)return(0,I.printText)(e.data,t);if(8===e.nodeType)return(0,I.printComment)(e.data,t);var u=11===e.nodeType?"DocumentFragment":e.tagName.toLowerCase();return++r>t.maxDepth?(0,I.printElementAsLeaf)(u,t):(0,I.printElement)(u,(0,I.printProps)(Array.prototype.map.call(e.attributes||[],a).sort(),Array.prototype.reduce.call(e.attributes||[],o,{}),t,n+t.indent,r,i,l),(0,I.printChildren)(Array.prototype.slice.call(e.childNodes||e.children),t,n+t.indent,r,i,l),t,n)};t.default={serialize:i,test:r}});f(B);B.serialize,B.test;var _=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=function(e){return"Immutable."+e},r=function(e){return"["+e+"]"},a=function(e,t,a,o,i,l,u){return++o>t.maxDepth?r(n(u)):n(u)+" ["+(0,E.printIteratorValues)(e.values(),t,a,o,i,l)+"]"},o=t.serialize=function(e,t,o,i,l,u){return e["@@__IMMUTABLE_MAP__@@"]?function(e,t,a,o,i,l,u){return++o>t.maxDepth?r(n(u)):n(u)+" {"+(0,E.printIteratorEntries)(e.entries(),t,a,o,i,l)+"}"}(e,t,o,i,l,u,e["@@__IMMUTABLE_ORDERED__@@"]?"OrderedMap":"Map"):e["@@__IMMUTABLE_LIST__@@"]?a(e,t,o,i,l,u,"List"):e["@@__IMMUTABLE_SET__@@"]?a(e,t,o,i,l,u,e["@@__IMMUTABLE_ORDERED__@@"]?"OrderedSet":"Set"):e["@@__IMMUTABLE_STACK__@@"]?a(e,t,o,i,l,u,"Stack"):e["@@__IMMUTABLE_SEQ__@@"]?function(e,t,a,o,i,l){var u=n("Seq");return++o>t.maxDepth?r(u):e["@@__IMMUTABLE_KEYED__@@"]?u+" {"+(e._iter||e._object?(0,E.printIteratorEntries)(e.entries(),t,a,o,i,l):"β¦")+"}":u+" ["+(e._iter||e._array||e._collection||e._iterable?(0,E.printIteratorValues)(e.values(),t,a,o,i,l):"β¦")+"]"}(e,t,o,i,l,u):function(e,t,a,o,i,l){var u=n(e._name||"Record");return++o>t.maxDepth?r(u):u+" {"+(0,E.printIteratorEntries)(function(e){var t=0;return{next:function(){if(t<e._keys.length){var n=e._keys[t++];return{done:!1,value:[n,e.get(n)]}}return{done:!0}}}}(e),t,a,o,i,l)+"}"}(e,t,o,i,l,u)},i=t.test=function(e){return e&&(!0===e["@@__IMMUTABLE_ITERABLE__@@"]||!0===e["@@__IMMUTABLE_RECORD__@@"])};t.default={serialize:o,test:i}});f(_);_.test,_.serialize;var k=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=Symbol.for("react.element"),r=Symbol.for("react.fragment"),a=Symbol.for("react.forward_ref"),o=Symbol.for("react.provider"),i=Symbol.for("react.context"),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Array.isArray(e)?e.forEach(function(e){l(e,t)}):null!=e&&!1!==e&&t.push(e),t},u=function(e){var t=e.type;if("string"==typeof t)return t;if("function"==typeof t)return t.displayName||t.name||"Unknown";if(t===r)return"React.Fragment";if("object"==typeof t&&null!==t){if(t.$$typeof===o)return"Context.Provider";if(t.$$typeof===i)return"Context.Consumer";if(t.$$typeof===a){var n=t.render.displayName||t.render.name||"";return""!==n?"ForwardRef("+n+")":"ForwardRef"}}return"UNDEFINED"},c=t.serialize=function(e,t,n,r,a,o){return++r>t.maxDepth?(0,I.printElementAsLeaf)(u(e),t):(0,I.printElement)(u(e),(0,I.printProps)(function(e){var t=e.props;return Object.keys(t).filter(function(e){return"children"!==e&&void 0!==t[e]}).sort()}(e),e.props,t,n+t.indent,r,a,o),(0,I.printChildren)(l(e.props.children),t,n+t.indent,r,a,o),t,n)},s=t.test=function(e){return e&&e.$$typeof===n};t.default={serialize:c,test:s}});f(k);k.test,k.serialize;var j=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=Symbol.for("react.test.json"),r=t.serialize=function(e,t,n,r,a,o){return++r>t.maxDepth?(0,I.printElementAsLeaf)(e.type,t):(0,I.printElement)(e.type,e.props?(0,I.printProps)(function(e){var t=e.props;return t?Object.keys(t).filter(function(e){return void 0!==t[e]}).sort():[]}(e),e.props,t,n+t.indent,r,a,o):"",e.children?(0,I.printChildren)(e.children,t,n+t.indent,r,a,o):"",t,n)},a=t.test=function(e){return e&&e.$$typeof===n};t.default={serialize:r,test:a}});f(j);j.test,j.serialize;var S=f(d(function(e){var t=s(w),n=s(T),r=s(x),a=s(M),o=s(B),i=s(_),l=s(k),u=s(j);function s(e){return e&&e.__esModule?e:{default:e}}var f=Object.prototype.toString,d=Date.prototype.toISOString,p=Error.prototype.toString,b=RegExp.prototype.toString,v=Symbol.prototype.toString,y=function(e){return"function"==typeof e.constructor&&e.constructor.name||"Object"},h=function(e){return"undefined"!=typeof window&&e===window},g=/^Symbol\((.*)\)(.*)$/,m=/\n/gi,A=function(e){var t,n;function r(t,n){var r=e.call(this,t)||this;return r.stack=n,r.name=r.constructor.name,r}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r}(c(Error));function O(e,t){return t?"[Function "+(e.name||"anonymous")+"]":"[Function]"}function I(e){return v.call(e).replace(g,"Symbol($1)")}function S(e){return"["+p.call(e)+"]"}function D(e,t,n){if(!0===e||!1===e)return""+e;if(void 0===e)return"undefined";if(null===e)return"null";var r=typeof e;if("number"===r)return function(e){return Object.is(e,-0)?"-0":String(e)}(e);if("string"===r)return'"'+e.replace(/"|\\/g,"\\$&")+'"';if("function"===r)return O(e,t);if("symbol"===r)return I(e);var a=f.call(e);return"[object WeakMap]"===a?"WeakMap {}":"[object WeakSet]"===a?"WeakSet {}":"[object Function]"===a||"[object GeneratorFunction]"===a?O(e,t):"[object Symbol]"===a?I(e):"[object Date]"===a?isNaN(+e)?"Date { NaN }":d.call(e):"[object Error]"===a?S(e):"[object RegExp]"===a?n?b.call(e).replace(/[\\^$*+?.()|[\]{}]/g,"\\$&"):b.call(e):e instanceof Error?S(e):null}function q(e,t,n,r,a,o){if(-1!==a.indexOf(e))return"[Circular]";(a=a.slice()).push(e);var i=++r>t.maxDepth,l=t.min;if(t.callToJSON&&!i&&e.toJSON&&"function"==typeof e.toJSON&&!o)return N(e.toJSON(),t,n,r,a,!0);var u=f.call(e);return"[object Arguments]"===u?i?"[Arguments]":(l?"":"Arguments ")+"["+(0,E.printListItems)(e,t,n,r,a,N)+"]":function(e){return"[object Array]"===e||"[object ArrayBuffer]"===e||"[object DataView]"===e||"[object Float32Array]"===e||"[object Float64Array]"===e||"[object Int8Array]"===e||"[object Int16Array]"===e||"[object Int32Array]"===e||"[object Uint8Array]"===e||"[object Uint8ClampedArray]"===e||"[object Uint16Array]"===e||"[object Uint32Array]"===e}(u)?i?"["+e.constructor.name+"]":(l?"":e.constructor.name+" ")+"["+(0,E.printListItems)(e,t,n,r,a,N)+"]":"[object Map]"===u?i?"[Map]":"Map {"+(0,E.printIteratorEntries)(e.entries(),t,n,r,a,N," => ")+"}":"[object Set]"===u?i?"[Set]":"Set {"+(0,E.printIteratorValues)(e.values(),t,n,r,a,N)+"}":i||h(e)?"["+y(e)+"]":(l?"":y(e)+" ")+"{"+(0,E.printObjectProperties)(e,t,n,r,a,N)+"}"}function P(e,t,n,r,a,o){var i;try{i=e.serialize?e.serialize(t,n,r,a,o,N):e.print(t,function(e){return N(e,n,r,a,o)},function(e){var t=r+n.indent;return t+e.replace(m,"\n"+t)},{edgeSpacing:n.spacingOuter,min:n.min,spacing:n.spacingInner},n.colors)}catch(e){throw new A(e.message,e.stack)}if("string"!=typeof i)throw new Error('pretty-format: Plugin must return type "string" but instead returned "'+typeof i+'".');return i}function C(e,t){for(var n=0;n<e.length;n++)try{if(e[n].test(t))return e[n]}catch(e){throw new A(e.message,e.stack)}return null}function N(e,t,n,r,a,o){var i=C(t.plugins,e);if(null!==i)return P(i,e,t,n,r,a);var l=D(e,t.printFunctionName,t.escapeRegex);return null!==l?l:q(e,t,n,r,a,o)}var L={comment:"gray",content:"reset",prop:"yellow",tag:"cyan",value:"green"},R=Object.keys(L),z={callToJSON:!0,escapeRegex:!1,highlight:!1,indent:2,maxDepth:1/0,min:!1,plugins:[],printFunctionName:!0,theme:L};var V=function(e){return R.reduce(function(n,r){var a=e.theme&&void 0!==e.theme[r]?e.theme[r]:L[r],o=t.default[a];if(!o||"string"!=typeof o.close||"string"!=typeof o.open)throw new Error('pretty-format: Option "theme" has a key "'+r+'" whose value "'+a+'" is undefined in ansi-styles.');return n[r]=o,n},Object.create(null))},U=function(e){return e&&void 0!==e.printFunctionName?e.printFunctionName:z.printFunctionName},F=function(e){return e&&void 0!==e.escapeRegex?e.escapeRegex:z.escapeRegex},W=function(e){return{callToJSON:e&&void 0!==e.callToJSON?e.callToJSON:z.callToJSON,colors:e&&e.highlight?V(e):R.reduce(function(e,t){return e[t]={close:"",open:""},e},Object.create(null)),escapeRegex:F(e),indent:e&&e.min?"":(t=e&&void 0!==e.indent?e.indent:z.indent,new Array(t+1).join(" ")),maxDepth:e&&void 0!==e.maxDepth?e.maxDepth:z.maxDepth,min:e&&void 0!==e.min?e.min:z.min,plugins:e&&void 0!==e.plugins?e.plugins:z.plugins,printFunctionName:U(e),spacingInner:e&&e.min?" ":"\n",spacingOuter:e&&e.min?"":"\n"};var t};function $(e,t){if(t&&(function(e){if(Object.keys(e).forEach(function(e){if(!z.hasOwnProperty(e))throw new Error('pretty-format: Unknown option "'+e+'".')}),e.min&&void 0!==e.indent&&0!==e.indent)throw new Error('pretty-format: Options "min" and "indent" cannot be used together.');if(void 0!==e.theme){if(null===e.theme)throw new Error('pretty-format: Option "theme" must not be null.');if("object"!=typeof e.theme)throw new Error('pretty-format: Option "theme" must be of type "object" but instead received "'+typeof e.theme+'".')}}(t),t.plugins)){var n=C(t.plugins,e);if(null!==n)return P(n,e,W(t),"",0,[])}var r=D(e,U(t),F(t));return null!==r?r:q(e,W(t),"",0,[])}$.plugins={AsymmetricMatcher:n.default,ConvertAnsi:r.default,DOMCollection:a.default,DOMElement:o.default,Immutable:i.default,ReactElement:l.default,ReactTestComponent:u.default},e.exports=$})),D=S.plugins,q=D.DOMElement,P=D.DOMCollection;function C(e,n,r){e.documentElement&&(e=e.documentElement);var a=S(e,t({plugins:[q,P],printFunctionName:!1,highlight:!0},r));return void 0!==n&&e.outerHTML.length>n?a.slice(0,n)+"...":a}function N(e){var t="undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node,n=e.ownerDocument&&e.ownerDocument.defaultView||void 0;return"undefined"!=typeof global&&global.Cypress||void 0!==n&&n.Cypress?"":t?C(e,7e3):C(e,7e3,{highlight:!1})}function L(e,t){return new Error([e,N(t)].filter(Boolean).join("\n\n"))}function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=e.apply(void 0,n);return 0===a.length?null:a[0]}function z(e,t,a,o){var i=void 0===o?{}:o,l=i.exact,u=void 0===l||l,c=i.collapseWhitespace,s=void 0===c||c,f=i.trim,d=u?r:n,p={collapseWhitespace:s,trim:void 0===f||f};return Array.from(t.querySelectorAll("["+e+"]")).filter(function(t){return d(t.getAttribute(e),t,a,p)})}function V(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[z].concat(t))}var U=Object.freeze({debugDOM:N,getElementError:L,firstResultOrNull:R,queryAllByAttribute:z,queryByAttribute:V}),F={testIdAttribute:"data-testid"};function W(e,t,a){var o=void 0===a?{}:a,i=o.exact,l=void 0===i||i,u=o.trim,c=void 0===u||u,s=o.collapseWhitespace,f=l?r:n,d={collapseWhitespace:void 0===s||s,trim:c};return Array.from(e.querySelectorAll("label")).filter(function(e){return f(e.textContent,e,t,d)})}function $(e,n,r){var a=void 0===r?{}:r,o=a.selector,i=void 0===o?"*":o,l=a.exact,u=void 0===l||l,c=a.collapseWhitespace,s=void 0===c||c,f=a.trim,d={collapseWhitespace:s,trim:void 0===f||f},p=W(e,n,t({exact:u},d)).map(function(t){return t.control?t.control:t.getAttribute("for")?e.querySelector('[id="'+t.getAttribute("for")+'"]'):t.getAttribute("id")?e.querySelector('[aria-labelledby~="'+t.getAttribute("id")+'"]'):t.childNodes.length?t.querySelector(i):null}).filter(function(e){return null!==e}).concat(z("aria-label",e,n,{exact:u})),b=G(e,n,t({exact:u},d)).filter(function(e){return"LABEL"!==e.tagName}).reduce(function(t,n){var r=n.getAttribute("id");if(!r)return t;var a=Array.from(e.querySelectorAll('[aria-labelledby~="'+r+'"]'));return t.concat(a)},[]);return Array.from(new Set(p.concat(b)))}function J(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[$].concat(t))}function G(e,t,a){var i=void 0===a?{}:a,l=i.selector,u=void 0===l?"*":l,c=i.exact,s=void 0===c||c,f=i.collapseWhitespace,d=void 0===f||f,p=i.trim,b=void 0===p||p,v=i.ignore,y=void 0===v?"script, style":v,h=s?r:n,g={collapseWhitespace:d,trim:b};return Array.from(e.querySelectorAll(u)).filter(function(e){return!y||!e.matches(y)}).filter(function(e){return h(o(e),e,t,g)})}function Y(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[G].concat(t))}function K(e,t,a){var i=void 0===a?{}:a,l=i.exact,u=void 0===l||l,c=i.collapseWhitespace,s=void 0===c||c,f=i.trim,d=u?r:n,p={collapseWhitespace:s,trim:void 0===f||f};return Array.from(e.querySelectorAll("[title], svg > title")).filter(function(e){return d(e.getAttribute("title"),e,t,p)||d(o(e),e,t,p)})}function H(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[K].concat(t))}function Q(e,t,a){var i=void 0===a?{}:a,l=i.exact,u=void 0===l||l,c=i.collapseWhitespace,s=void 0===c||c,f=i.trim,d=u?r:n,p={collapseWhitespace:s,trim:void 0===f||f};return Array.from(e.querySelectorAll("select")).filter(function(e){return Array.from(e.options).filter(function(e){return e.selected}).some(function(e){return d(o(e),e,t,p)})})}function Z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Q].concat(t))}function X(){return F.testIdAttribute}var ee=V.bind(null,"placeholder"),te=z.bind(null,"placeholder"),ne=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return V.apply(void 0,[X()].concat(t))},re=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return z.apply(void 0,[X()].concat(t))},ae=V.bind(null,"value"),oe=z.bind(null,"value"),ie=V.bind(null,"role"),le=z.bind(null,"role");function ue(e,t,a){var o=void 0===a?{}:a,i=o.exact,l=void 0===i||i,u=o.collapseWhitespace,c=void 0===u||u,s=o.trim,f=l?r:n,d={collapseWhitespace:c,trim:void 0===s||s};return Array.from(e.querySelectorAll("img,input,area")).filter(function(e){return f(e.getAttribute("alt"),e,t,d)})}function ce(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[ue].concat(t))}function se(e,t,a){var i=void 0===a?{}:a,l=i.exact,u=void 0===l||l,c=i.collapseWhitespace,s=void 0===c||c,f=i.trim,d=u?r:n,p={collapseWhitespace:s,trim:void 0===f||f};return Array.from(e.querySelectorAll("input,textarea,select")).filter(function(e){return"SELECT"===e.tagName?Array.from(e.options).filter(function(e){return e.selected}).some(function(e){return d(o(e),e,t,p)}):d(e.value,e,t,p)})}function fe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[se].concat(t))}function de(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=re.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element by: ["+X()+'="'+t+'"]',e);return o}function pe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[de].concat(t))}function be(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=K.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the title: "+t+".",e);return o}function ve(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[be].concat(t))}function ye(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=oe.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the value: "+t+".",e);return o}function he(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[ye].concat(t))}function ge(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=te.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the placeholder text of: "+t,e);return o}function me(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[ge].concat(t))}function we(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=$.apply(void 0,[e,t].concat(r));if(!o.length)throw W.apply(void 0,[e,t].concat(r)).length?L("Found a label with the text of: "+t+', however no form control was found associated to that label. Make sure you\'re using the "for" attribute or "aria-labelledby" attribute correctly.',e):L("Unable to find a label with the text of: "+t,e);return o}function Ee(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[we].concat(t))}function Te(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=G.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the text: "+t+". This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.",e);return o}function Ae(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Te].concat(t))}function xe(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=ue.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the alt text: "+t,e);return o}function Me(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[xe].concat(t))}function Oe(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=le.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element by role="+t,e);return o}function Ie(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Oe].concat(t))}function Be(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=Q.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find a <select> element with the selected option's text: "+t,e);return o}function _e(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Be].concat(t))}function ke(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=se.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the value: "+t+".",e);return o}function je(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[ke].concat(t))}var Se=Object.freeze({queryByPlaceholderText:ee,queryAllByPlaceholderText:te,getByPlaceholderText:me,getAllByPlaceholderText:ge,queryByText:Y,queryAllByText:G,getByText:Ae,getAllByText:Te,queryByLabelText:J,queryAllByLabelText:$,getByLabelText:Ee,getAllByLabelText:we,queryByAltText:ce,queryAllByAltText:ue,getByAltText:Me,getAllByAltText:xe,queryBySelectText:Z,queryAllBySelectText:Q,getBySelectText:_e,getAllBySelectText:Be,queryByTestId:ne,queryAllByTestId:re,getByTestId:pe,getAllByTestId:de,queryByTitle:H,queryAllByTitle:K,getByTitle:ve,getAllByTitle:be,queryByValue:ae,queryAllByValue:oe,getByValue:he,getAllByValue:ye,queryByDisplayValue:fe,queryAllByDisplayValue:se,getByDisplayValue:je,getAllByDisplayValue:ke,queryByRole:ie,queryAllByRole:le,getAllByRole:Oe,getByRole:Ie});function De(e,t){return void 0===t&&(t=Se),Object.keys(t).reduce(function(n,r){var a=t[r];return n[r]=a.bind(null,e),n},{})}var qe=f(d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n="undefined"!=typeof window?window:s,r=n.setTimeout,a=n.Date.now;t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,o=a();return new Promise(function(i,l){var u=function(e){a()-o>=t?l(e):r(c,n)};function c(){try{Promise.resolve(e()).then(function(){return i()}).catch(u)}catch(e){u(e)}}r(c,0)})},e.exports=t.default}));var Pe=function(e){if("undefined"!=typeof window&&void 0!==window.MutationObserver)return window.MutationObserver;function t(e){this._watched=[],this._listener=e}function n(t){var n={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null};for(var r in t)v(n,r)&&t[r]!==e&&(n[r]=t[r]);return n}function r(t,r){var a=u(t,r);return function(o){var i,s=o.length;r.charData&&3===t.nodeType&&t.nodeValue!==a.charData&&o.push(new n({type:"characterData",target:t,oldValue:a.charData})),r.attr&&a.attr&&l(o,t,a.attr,r.afilter),(r.kids||r.descendents)&&(i=function(t,r,a,o){var i;function u(e,r,a,i,u){for(var c,f,d,p=e.length-1,b=-~((p-u)/2);d=e.pop();)c=a[d.i],f=i[d.j],o.kids&&b&&Math.abs(d.i-d.j)>=p&&(t.push(n({type:"childList",target:r,addedNodes:[c],removedNodes:[c],nextSibling:c.nextSibling,previousSibling:c.previousSibling})),b--),o.attr&&f.attr&&l(t,c,f.attr,o.afilter),o.charData&&3===c.nodeType&&c.nodeValue!==f.charData&&t.push(n({type:"characterData",target:c,oldValue:f.charData})),o.descendents&&s(c,f)}function s(r,a){for(var f,p,v,y,h,g,m,w=r.childNodes,E=a.kids,T=w.length,A=E?E.length:0,x=0,M=0,O=0;M<T||O<A;)g=w[M],h=E[O],m=h&&h.node,g===m?(o.attr&&h.attr&&l(t,g,h.attr,o.afilter),o.charData&&h.charData!==e&&g.nodeValue!==h.charData&&t.push(n({type:"characterData",target:g,oldValue:h.charData})),p&&u(p,r,w,E,x),o.descendents&&(g.childNodes.length||h.kids&&h.kids.length)&&s(g,h),M++,O++):(i=!0,f||(f={},p=[]),g&&(f[v=d(g)]||(f[v]=!0,-1===(y=c(E,g,O))?o.kids&&(t.push(n({type:"childList",target:r,addedNodes:[g],nextSibling:g.nextSibling,previousSibling:g.previousSibling})),x++):p.push({i:M,j:y})),M++),m&&m!==w[M]&&(f[v=d(m)]||(f[v]=!0,-1===(y=b(w,m,M))?o.kids&&(t.push(n({type:"childList",target:a.node,removedNodes:[m],nextSibling:E[O+1],previousSibling:E[O-1]})),x--):p.push({i:y,j:O})),O++));p&&u(p,r,w,E,x)}return s(r,a),i}(o,t,a,r)),(i||o.length!==s)&&(a=u(t,r))}}t._period=30,t.prototype={observe:function(e,n){for(var a,o={attr:!!(n.attributes||n.attributeFilter||n.attributeOldValue),kids:!!n.childList,descendents:!!n.subtree,charData:!(!n.characterData&&!n.characterDataOldValue)},i=this._watched,l=0;l<i.length;l++)i[l].tar===e&&i.splice(l,1);n.attributeFilter&&(o.afilter=p(n.attributeFilter,function(e,t){return e[t]=!0,e},{})),i.push({tar:e,fn:r(e,o)}),this._timeout||(a=this,function e(){var n=a.takeRecords();n.length&&a._listener(n,a),a._timeout=setTimeout(e,t._period)}())},takeRecords:function(){for(var e=[],t=this._watched,n=0;n<t.length;n++)t[n].fn(e);return e},disconnect:function(){this._watched=[],clearTimeout(this._timeout),this._timeout=null}};var a=!1;if("undefined"!=typeof document){var o=document.createElement("i");o.style.top=0,a="null"!=o.attributes.style.value}var i=a?function(e,t){return t.value}:function(e,t){return"style"!==t.name?t.value:e.style.cssText};function l(e,t,r,a){for(var o,l={},u=t.attributes,c=u.length;c--;)s=(o=u[c]).name,a&&!v(a,s)||(i(t,o)!==r[s]&&e.push(n({type:"attributes",target:t,attributeName:s,oldValue:r[s],attributeNamespace:o.namespaceURI})),l[s]=!0);for(var s in r)l[s]||e.push(n({target:t,type:"attributes",attributeName:s,oldValue:r[s]}))}function u(e,t){var n=!0;return function e(r){var a={node:r};return!t.charData||3!==r.nodeType&&8!==r.nodeType?(t.attr&&n&&1===r.nodeType&&(a.attr=p(r.attributes,function(e,n){return t.afilter&&!t.afilter[n.name]||(e[n.name]=i(r,n)),e},{})),n&&(t.kids||t.charData||t.attr&&t.descendents)&&(a.kids=function(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r,e);return n}(r.childNodes,e)),n=t.descendents):a.charData=r.nodeValue,a}(e)}function c(e,t,n){return b(e,t,n,"node")}var s=1,f="mo_id";function d(e){try{return e.id||(e[f]=e[f]||s++)}catch(t){try{return e.nodeValue}catch(e){return s++}}}function p(e,t,n){for(var r=0;r<e.length;r++)n=t(n,e[r],r,e);return n}function b(e,t,n,r){for(;n<e.length;n++)if((r?e[n][r]:e[n])===t)return n;return-1}function v(t,n){return t[n]!==e}return t}(void 0);function Ce(e){return new("undefined"!=typeof window&&void 0!==window.MutationObserver?window.MutationObserver:Pe)(e)}function Ne(){if("undefined"==typeof window)throw new Error("Could not find default container");return window.document}var Le={copy:{EventType:"ClipboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},cut:{EventType:"ClipboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},paste:{EventType:"ClipboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},compositionEnd:{EventType:"CompositionEvent",defaultInit:{bubbles:!0,cancelable:!0}},compositionStart:{EventType:"CompositionEvent",defaultInit:{bubbles:!0,cancelable:!0}},compositionUpdate:{EventType:"CompositionEvent",defaultInit:{bubbles:!0,cancelable:!1}},keyDown:{EventType:"KeyboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},keyPress:{EventType:"KeyboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},keyUp:{EventType:"KeyboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},focus:{EventType:"FocusEvent",defaultInit:{bubbles:!1,cancelable:!1}},blur:{EventType:"FocusEvent",defaultInit:{bubbles:!1,cancelable:!1}},change:{EventType:"InputEvent",defaultInit:{bubbles:!0,cancelable:!0}},input:{EventType:"InputEvent",defaultInit:{bubbles:!0,cancelable:!0}},invalid:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!0}},submit:{EventType:"Event",defaultInit:{bubbles:!0,cancelable:!0}},click:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0,button:0}},contextMenu:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},dblClick:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},drag:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},dragEnd:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!1}},dragEnter:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},dragExit:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!1}},dragLeave:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!1}},dragOver:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},dragStart:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},drop:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseDown:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseEnter:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseLeave:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseMove:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseOut:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseOver:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseUp:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},select:{EventType:"Event",defaultInit:{bubbles:!0,cancelable:!1}},touchCancel:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!1}},touchEnd:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!0}},touchMove:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!0}},touchStart:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!0}},scroll:{EventType:"UIEvent",defaultInit:{bubbles:!1,cancelable:!1}},wheel:{EventType:"WheelEvent",defaultInit:{bubbles:!0,cancelable:!0}},abort:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},canPlay:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},canPlayThrough:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},durationChange:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},emptied:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},encrypted:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},ended:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},loadedData:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},loadedMetadata:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},loadStart:{EventType:"ProgressEvent",defaultInit:{bubbles:!1,cancelable:!1}},pause:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},play:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},playing:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},progress:{EventType:"ProgressEvent",defaultInit:{bubbles:!1,cancelable:!1}},rateChange:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},seeked:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},seeking:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},stalled:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},suspend:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},timeUpdate:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},volumeChange:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},waiting:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},load:{EventType:"UIEvent",defaultInit:{bubbles:!1,cancelable:!1}},error:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},animationStart:{EventType:"AnimationEvent",defaultInit:{bubbles:!0,cancelable:!1}},animationEnd:{EventType:"AnimationEvent",defaultInit:{bubbles:!0,cancelable:!1}},animationIteration:{EventType:"AnimationEvent",defaultInit:{bubbles:!0,cancelable:!1}},transitionEnd:{EventType:"TransitionEvent",defaultInit:{bubbles:!0,cancelable:!0}}},Re={doubleClick:"dblClick"};function ze(e,t){return e.dispatchEvent(t)}Object.keys(Le).forEach(function(e){var n=Le[e],r=n.EventType,a=n.defaultInit,o=e.toLowerCase();ze[e]=function(e,n){var i=t({},a,n),l=i.target,u=(l=void 0===l?{}:l).value,c=l.files,s=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(l,["value","files"]);Object.assign(e,s),void 0!==u&&function(e,t){var n=(Object.getOwnPropertyDescriptor(e,"value")||{}).set,r=Object.getPrototypeOf(e),a=(Object.getOwnPropertyDescriptor(r,"value")||{}).set;if(a&&n!==a)a.call(e,t);else{if(!n)throw new Error("The given element does not have a value setter");n.call(e,t)}}(e,u),void 0!==c&&Object.defineProperty(e,"files",{configurable:!0,enumerable:!0,writable:!0,value:c});var f=e.ownerDocument.defaultView;return ze(e,new(f[r]||f.Event)(o,i))}}),Object.keys(Re).forEach(function(e){var t=Re[e];ze[e]=function(){return ze[t].apply(ze,arguments)}}),e.bindElementToQueries=De,e.within=De,e.queries=Se,e.queryHelpers=U,e.configure=function(e){"function"==typeof e&&(e=e(F)),F=t({},F,e)},e.queryByPlaceholderText=ee,e.queryAllByPlaceholderText=te,e.getByPlaceholderText=me,e.getAllByPlaceholderText=ge,e.queryByText=Y,e.queryAllByText=G,e.getByText=Ae,e.getAllByText=Te,e.queryByLabelText=J,e.queryAllByLabelText=$,e.getByLabelText=Ee,e.getAllByLabelText=we,e.queryByAltText=ce,e.queryAllByAltText=ue,e.getByAltText=Me,e.getAllByAltText=xe,e.queryBySelectText=Z,e.queryAllBySelectText=Q,e.getBySelectText=_e,e.getAllBySelectText=Be,e.queryByTestId=ne,e.queryAllByTestId=re,e.getByTestId=pe,e.getAllByTestId=de,e.queryByTitle=H,e.queryAllByTitle=K,e.getByTitle=ve,e.getAllByTitle=be,e.queryByValue=ae,e.queryAllByValue=oe,e.getByValue=he,e.getAllByValue=ye,e.queryByDisplayValue=fe,e.queryAllByDisplayValue=se,e.getByDisplayValue=je,e.getAllByDisplayValue=ke,e.queryByRole=ie,e.queryAllByRole=le,e.getAllByRole=Oe,e.getByRole=Ie,e.wait=function(e,t){void 0===e&&(e=function(){});var n=void 0===t?{}:t,r=n.timeout,a=void 0===r?4500:r,o=n.interval;return qe(e,a,void 0===o?50:o)},e.waitForElement=function(e,t){var n=void 0===t?{}:t,r=n.container,a=void 0===r?Ne():r,o=n.timeout,i=void 0===o?4500:o,l=n.mutationObserverOptions,u=void 0===l?{subtree:!0,childList:!0,attributes:!0,characterData:!0}:l;return new Promise(function(t,n){var r;"function"!=typeof e&&n("waitForElement requires a callback as the first parameter");var o=setTimeout(function(){c(r||new Error("Timed out in waitForElement."),null)},i),l=Ce(s);function c(e,r){clearTimeout(o),setImmediate(function(){return l.disconnect()}),e?n(e):t(r)}function s(){try{var t=e();t&&c(null,t)}catch(e){r=e}}l.observe(a,u),s()})},e.waitForDomChange=function(e){var t=void 0===e?{}:e,n=t.container,r=void 0===n?Ne():n,a=t.timeout,o=void 0===a?4500:a,i=t.mutationObserverOptions,l=void 0===i?{subtree:!0,childList:!0,attributes:!0,characterData:!0}:i;return new Promise(function(e,t){var n=setTimeout(function(){i(new Error("Timed out in waitForDomChange."),null)},o),a=Ce(function(e){i(null,e)});function i(r,o){clearTimeout(n),setImmediate(function(){return a.disconnect()}),r?t(r):e(o)}a.observe(r,l)})},e.fuzzyMatches=n,e.matches=r,e.getNodeText=o,e.fireEvent=ze,e.getQueriesForElement=De,e.debugDOM=N,e.getElementError=L,e.firstResultOrNull=R,e.queryAllByAttribute=z,e.queryByAttribute=V,e.prettyDOM=C,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.DomTestingLibrary={})}(this,function(e){"use strict";function t(e,t,n,r){if("string"!=typeof e)return!1;var a=r(e);return"string"==typeof n?a.toLowerCase().includes(n.toLowerCase()):"function"==typeof n?n(a,t):n.test(a)}function n(e,t,n,r){if("string"!=typeof e)return!1;var a=r(e);return"string"==typeof n?a===n:"function"==typeof n?n(a,t):n.test(a)}function r(e){var t=void 0===e?{}:e,n=t.trim,r=void 0===n||n,a=t.collapseWhitespace,o=void 0===a||a;return function(e){var t=e;return t=r?t.trim():t,t=o?t.replace(/\s+/g," "):t}}function a(e){var t=e.trim,n=e.collapseWhitespace,a=e.normalizer;if(a){if(void 0!==t||void 0!==n)throw new Error('trim and collapseWhitespace are not supported with a normalizer. If you want to use the default trim and collapseWhitespace logic in your normalizer, use "getDefaultNormalizer({trim, collapseWhitespace})" and compose that into your normalizer');return a}return r({trim:t,collapseWhitespace:n})}function o(e){var t=e.ownerDocument.defaultView;return Array.from(e.childNodes).filter(function(e){return e.nodeType===t.Node.TEXT_NODE&&Boolean(e.textContent)}).map(function(e){return e.textContent}).join("")}function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function i(e){return(i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(){return(c=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&u(a,n.prototype),a}).apply(null,arguments)}function s(e){var t="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return c(e,arguments,i(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),u(r,e)})(e)}var f="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function p(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function d(e,t){return e(t={exports:{}},t.exports),t.exports}var b={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},y=d(function(e){var t={};for(var n in b)b.hasOwnProperty(n)&&(t[b[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var a in r)if(r.hasOwnProperty(a)){if(!("channels"in r[a]))throw new Error("missing channels property: "+a);if(!("labels"in r[a]))throw new Error("missing channel labels property: "+a);if(r[a].labels.length!==r[a].channels)throw new Error("channel and label counts mismatch: "+a);var o=r[a].channels,l=r[a].labels;delete r[a].channels,delete r[a].labels,Object.defineProperty(r[a],"channels",{value:o}),Object.defineProperty(r[a],"labels",{value:l})}r.rgb.hsl=function(e){var t,n,r=e[0]/255,a=e[1]/255,o=e[2]/255,l=Math.min(r,a,o),i=Math.max(r,a,o),u=i-l;return i===l?t=0:r===i?t=(a-o)/u:a===i?t=2+(o-r)/u:o===i&&(t=4+(r-a)/u),(t=Math.min(60*t,360))<0&&(t+=360),n=(l+i)/2,[t,100*(i===l?0:n<=.5?u/(i+l):u/(2-i-l)),100*n]},r.rgb.hsv=function(e){var t,n,r,a,o,l=e[0]/255,i=e[1]/255,u=e[2]/255,c=Math.max(l,i,u),s=c-Math.min(l,i,u),f=function(e){return(c-e)/6/s+.5};return 0===s?a=o=0:(o=s/c,t=f(l),n=f(i),r=f(u),l===c?a=r-n:i===c?a=1/3+t-r:u===c&&(a=2/3+n-t),a<0?a+=1:a>1&&(a-=1)),[360*a,100*o,100*c]},r.rgb.hwb=function(e){var t=e[0],n=e[1],a=e[2];return[r.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,a))),100*(a=1-1/255*Math.max(t,Math.max(n,a)))]},r.rgb.cmyk=function(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255,a=Math.min(1-t,1-n,1-r);return[100*((1-t-a)/(1-a)||0),100*((1-n-a)/(1-a)||0),100*((1-r-a)/(1-a)||0),100*a]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,a,o,l=1/0;for(var i in b)if(b.hasOwnProperty(i)){var u=b[i],c=(a=e,o=u,Math.pow(a[0]-o[0],2)+Math.pow(a[1]-o[1],2)+Math.pow(a[2]-o[2],2));c<l&&(l=c,r=i)}return r},r.keyword.rgb=function(e){return b[e]},r.rgb.xyz=function(e){var t=e[0]/255,n=e[1]/255,r=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},r.rgb.lab=function(e){var t=r.rgb.xyz(e),n=t[0],a=t[1],o=t[2];return a/=100,o/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116)-16,500*(n-a),200*(a-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},r.hsl.rgb=function(e){var t,n,r,a,o,l=e[0]/360,i=e[1]/100,u=e[2]/100;if(0===i)return[o=255*u,o,o];t=2*u-(n=u<.5?u*(1+i):u+i-u*i),a=[0,0,0];for(var c=0;c<3;c++)(r=l+1/3*-(c-1))<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,a[c]=255*o;return a},r.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,a=n,o=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,a*=o<=1?o:2-o,[t,100*(0===r?2*a/(o+a):2*n/(r+n)),100*((r+n)/2)]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,a=Math.floor(t)%6,o=t-Math.floor(t),l=255*r*(1-n),i=255*r*(1-n*o),u=255*r*(1-n*(1-o));switch(r*=255,a){case 0:return[r,u,l];case 1:return[i,r,l];case 2:return[l,r,u];case 3:return[l,i,r];case 4:return[u,l,r];case 5:return[r,l,i]}},r.hsv.hsl=function(e){var t,n,r=e[0],a=e[1]/100,o=e[2]/100,l=Math.max(o,.01),i=(2-a)*o;return n=a*l,[r,100*(n=(n/=(t=(2-a)*l)<=1?t:2-t)||0),100*(i/=2)]},r.hwb.rgb=function(e){var t,n,r,a,o,l,i,u=e[0]/360,c=e[1]/100,s=e[2]/100,f=c+s;switch(f>1&&(c/=f,s/=f),r=6*u-(t=Math.floor(6*u)),0!=(1&t)&&(r=1-r),a=c+r*((n=1-s)-c),t){default:case 6:case 0:o=n,l=a,i=c;break;case 1:o=a,l=n,i=c;break;case 2:o=c,l=n,i=a;break;case 3:o=c,l=a,i=n;break;case 4:o=a,l=c,i=n;break;case 5:o=n,l=c,i=a}return[255*o,255*l,255*i]},r.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,a=e[3]/100;return[255*(1-Math.min(1,t*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,r*(1-a)+a))]},r.xyz.rgb=function(e){var t,n,r,a=e[0]/100,o=e[1]/100,l=e[2]/100;return n=-.9689*a+1.8758*o+.0415*l,r=.0557*a+-.204*o+1.057*l,t=(t=3.2406*a+-1.5372*o+-.4986*l)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},r.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},r.lab.xyz=function(e){var t,n,r,a=e[0];t=e[1]/500+(n=(a+16)/116),r=n-e[2]/200;var o=Math.pow(n,3),l=Math.pow(t,3),i=Math.pow(r,3);return n=o>.008856?o:(n-16/116)/7.787,t=l>.008856?l:(t-16/116)/7.787,r=i>.008856?i:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},r.lab.lch=function(e){var t,n=e[0],r=e[1],a=e[2];return(t=360*Math.atan2(a,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+a*a),t]},r.lch.lab=function(e){var t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],a=e[2],o=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var l=30+(Math.round(a/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(l+=60),l},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},r.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map(function(e){return e+e}).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},r.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,a=e[2]/255,o=Math.max(Math.max(n,r),a),l=Math.min(Math.min(n,r),a),i=o-l;return t=i<=0?0:o===n?(r-a)/i%6:o===r?2+(a-n)/i:4+(n-r)/i+4,t/=6,[360*(t%=1),100*i,100*(i<1?l/(1-i):0)]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,a=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(a=(n-.5*r)/(1-r)),[e[0],100*r,100*a]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,a=0;return r<1&&(a=(n-r)/(1-r)),[e[0],100*r,100*a]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var a,o=[0,0,0],l=t%1*6,i=l%1,u=1-i;switch(Math.floor(l)){case 0:o[0]=1,o[1]=i,o[2]=0;break;case 1:o[0]=u,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=i;break;case 3:o[0]=0,o[1]=u,o[2]=1;break;case 4:o[0]=i,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=u}return a=(1-n)*r,[255*(n*o[0]+a),255*(n*o[1]+a),255*(n*o[2]+a)]},r.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},r.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},r.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,a=0;return r<1&&(a=(n-r)/(1-r)),[e[0],100*r,100*a]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},r.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});y.rgb,y.hsl,y.hsv,y.hwb,y.cmyk,y.xyz,y.lab,y.lch,y.hex,y.keyword,y.ansi16,y.ansi256,y.hcg,y.apple,y.gray;function v(e){var t=function(){for(var e={},t=Object.keys(y),n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;)for(var r=n.pop(),a=Object.keys(y[r]),o=a.length,l=0;l<o;l++){var i=a[l],u=t[i];-1===u.distance&&(u.distance=t[r].distance+1,u.parent=r,n.unshift(i))}return t}function h(e,t){return function(n){return t(e(n))}}function g(e,t){for(var n=[t[e].parent,e],r=y[t[e].parent][e],a=t[e].parent;t[a].parent;)n.unshift(t[a].parent),r=h(y[t[a].parent][a],r),a=t[a].parent;return r.conversion=n,r}var m={};Object.keys(y).forEach(function(e){m[e]={},Object.defineProperty(m[e],"channels",{value:y[e].channels}),Object.defineProperty(m[e],"labels",{value:y[e].labels});var t=function(e){for(var t=v(e),n={},r=Object.keys(t),a=r.length,o=0;o<a;o++){var l=r[o];null!==t[l].parent&&(n[l]=g(l,t))}return n}(e);Object.keys(t).forEach(function(n){var r=t[n];m[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,a=0;a<r;a++)n[a]=Math.round(n[a]);return n};return"conversion"in e&&(t.conversion=e.conversion),t}(r),m[e][n].raw=function(e){var t=function(t){return null==t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)})});var w=m,E=d(function(e){var t=function(e,t){return function(){return"["+(e.apply(w,arguments)+t)+"m"}},n=function(e,t){return function(){var n=e.apply(w,arguments);return"["+(38+t)+";5;"+n+"m"}},r=function(e,t){return function(){var n=e.apply(w,arguments);return"["+(38+t)+";2;"+n[0]+";"+n[1]+";"+n[2]+"m"}};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){var e=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.grey=a.color.gray;for(var o=Object.keys(a),l=0;l<o.length;l++){for(var i=o[l],u=a[i],c=Object.keys(u),s=0;s<c.length;s++){var f=c[s],p=u[f];a[f]={open:"["+p[0]+"m",close:"["+p[1]+"m"},u[f]=a[f],e.set(p[0],p[1])}Object.defineProperty(a,i,{value:u,enumerable:!1}),Object.defineProperty(a,"codes",{value:e,enumerable:!1})}var d=function(e){return e},b=function(e,t,n){return[e,t,n]};a.color.close="[39m",a.bgColor.close="[49m",a.color.ansi={ansi:t(d,0)},a.color.ansi256={ansi256:n(d,0)},a.color.ansi16m={rgb:r(b,0)},a.bgColor.ansi={ansi:t(d,10)},a.bgColor.ansi256={ansi256:n(d,10)},a.bgColor.ansi16m={rgb:r(b,10)};for(var y=Object.keys(w),v=0;v<y.length;v++){var h=y[v];if("object"==typeof w[h]){var g=w[h];"ansi16"===h&&(h="ansi"),"ansi16"in g&&(a.color.ansi[h]=t(g.ansi16,0),a.bgColor.ansi[h]=t(g.ansi16,10)),"ansi256"in g&&(a.color.ansi256[h]=n(g.ansi256,0),a.bgColor.ansi256[h]=n(g.ansi256,10)),"rgb"in g&&(a.color.ansi16m[h]=r(g.rgb,0),a.bgColor.ansi16m[h]=r(g.rgb,10))}}return a}})}),T=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.printIteratorEntries=function(e,t,n,r,a,o){var l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:": ",i="",u=e.next();if(!u.done){i+=t.spacingOuter;for(var c=n+t.indent;!u.done;){i+=c+o(u.value[0],t,c,r,a)+l+o(u.value[1],t,c,r,a),(u=e.next()).done?t.min||(i+=","):i+=","+t.spacingInner}i+=t.spacingOuter+n}return i},t.printIteratorValues=function(e,t,n,r,a,o){var l="",i=e.next();if(!i.done){l+=t.spacingOuter;for(var u=n+t.indent;!i.done;)l+=u+o(i.value,t,u,r,a),(i=e.next()).done?t.min||(l+=","):l+=","+t.spacingInner;l+=t.spacingOuter+n}return l},t.printListItems=function(e,t,n,r,a,o){var l="";if(e.length){l+=t.spacingOuter;for(var i=n+t.indent,u=0;u<e.length;u++)l+=i+o(e[u],t,i,r,a),u<e.length-1?l+=","+t.spacingInner:t.min||(l+=",");l+=t.spacingOuter+n}return l},t.printObjectProperties=function(e,t,a,o,l,i){var u="",c=Object.keys(e).sort(),s=n(e);if(s.length&&(c=c.filter(function(e){return!r(e)}).concat(s)),c.length){u+=t.spacingOuter;for(var f=a+t.indent,p=0;p<c.length;p++){var d=c[p];u+=f+i(d,t,f,o,l)+": "+i(e[d],t,f,o,l),p<c.length-1?u+=","+t.spacingInner:t.min||(u+=",")}u+=t.spacingOuter+a}return u};var n=Object.getOwnPropertySymbols||function(){return[]},r=function(e){return"symbol"==typeof e||"[object Symbol]"===toString.call(e)}});p(T);T.printIteratorEntries,T.printIteratorValues,T.printListItems,T.printObjectProperties;var A=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=Symbol.for("jest.asymmetricMatcher"),r=t.serialize=function(e,t,n,r,a,o){var l=e.toString();return"ArrayContaining"===l||"ArrayNotContaining"===l?++r>t.maxDepth?"["+l+"]":l+" ["+(0,T.printListItems)(e.sample,t,n,r,a,o)+"]":"ObjectContaining"===l||"ObjectNotContaining"===l?++r>t.maxDepth?"["+l+"]":l+" {"+(0,T.printObjectProperties)(e.sample,t,n,r,a,o)+"}":"StringMatching"===l||"StringNotMatching"===l?l+" "+o(e.sample,t,n,r,a):"StringContaining"===l||"StringNotContaining"===l?l+" "+o(e.sample,t,n,r,a):e.toAsymmetricMatcher()},a=t.test=function(e){return e&&e.$$typeof===n};t.default={serialize:r,test:a}});p(A);A.test,A.serialize;var x=function(){var e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")},M=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=t.test=void 0;var n=a(x),r=a(E);function a(e){return e&&e.__esModule?e:{default:e}}var o=t.test=function(e){return"string"==typeof e&&e.match((0,n.default)())},l=t.serialize=function(e,t,a,o,l,i){return i(e.replace((0,n.default)(),function(e){switch(e){case r.default.red.close:case r.default.green.close:case r.default.cyan.close:case r.default.gray.close:case r.default.white.close:case r.default.yellow.close:case r.default.bgRed.close:case r.default.bgGreen.close:case r.default.bgYellow.close:case r.default.inverse.close:case r.default.dim.close:case r.default.bold.close:case r.default.reset.open:case r.default.reset.close:return"</>";case r.default.red.open:return"<red>";case r.default.green.open:return"<green>";case r.default.cyan.open:return"<cyan>";case r.default.gray.open:return"<gray>";case r.default.white.open:return"<white>";case r.default.yellow.open:return"<yellow>";case r.default.bgRed.open:return"<bgRed>";case r.default.bgGreen.open:return"<bgGreen>";case r.default.bgYellow.open:return"<bgYellow>";case r.default.inverse.open:return"<inverse>";case r.default.dim.open:return"<dim>";case r.default.bold.open:return"<bold>";default:return""}}),t,a,o,l)};t.default={serialize:l,test:o}});p(M);M.serialize,M.test;var O=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=t.test=void 0;var n=["DOMStringMap","NamedNodeMap"],r=t.test=function(e){return e&&e.constructor&&-1!==n.indexOf(e.constructor.name)},a=t.serialize=function(e,t,n,r,a,o){return++r>t.maxDepth?"["+e.constructor.name+"]":e.constructor.name+" {"+(0,T.printObjectProperties)(function(e){var t={};if("NamedNodeMap"===e.constructor.name)for(var n=0;n<e.length;n++)t[e[n].name]=e[n].value;else t=Object.assign({},e);return t}(e),t,n,r,a,o)+"}"};t.default={serialize:a,test:r}});p(O);O.serialize,O.test;var I=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.replace(/</g,"<").replace(/>/g,">")}});p(I);var B=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.printElementAsLeaf=t.printElement=t.printComment=t.printText=t.printChildren=t.printProps=void 0;var n,r=(n=I)&&n.__esModule?n:{default:n};t.printProps=function(e,t,n,r,a,o,l){var i=r+n.indent,u=n.colors;return e.map(function(e){var c=t[e],s=l(c,n,i,a,o);return"string"!=typeof c&&(-1!==s.indexOf("\n")&&(s=n.spacingOuter+i+s+n.spacingOuter+r),s="{"+s+"}"),n.spacingInner+r+u.prop.open+e+u.prop.close+"="+u.value.open+s+u.value.close}).join("")},t.printChildren=function(e,t,n,r,o,l){return e.map(function(e){return t.spacingOuter+n+("string"==typeof e?a(e,t):l(e,t,n,r,o))}).join("")};var a=t.printText=function(e,t){var n=t.colors.content;return n.open+(0,r.default)(e)+n.close};t.printComment=function(e,t){var n=t.colors.comment;return n.open+"\x3c!--"+(0,r.default)(e)+"--\x3e"+n.close},t.printElement=function(e,t,n,r,a){var o=r.colors.tag;return o.open+"<"+e+(t&&o.close+t+r.spacingOuter+a+o.open)+(n?">"+o.close+n+r.spacingOuter+a+o.open+"</"+e:(t&&!r.min?"":" ")+"/")+">"+o.close},t.printElementAsLeaf=function(e,t){var n=t.colors.tag;return n.open+"<"+e+n.close+" β¦"+n.open+" />"+n.close}});p(B);B.printElementAsLeaf,B.printElement,B.printComment,B.printText,B.printChildren,B.printProps;var _=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serialize=t.test=void 0;var n=/^((HTML|SVG)\w*)?Element$/,r=t.test=function(e){return e&&e.constructor&&e.constructor.name&&(t=e.nodeType,r=e.constructor.name,1===t&&n.test(r)||3===t&&"Text"===r||8===t&&"Comment"===r||11===t&&"DocumentFragment"===r);var t,r},a=function(e){return e.name},o=function(e,t){return e[t.name]=t.value,e},l=t.serialize=function(e,t,n,r,l,i){if(3===e.nodeType)return(0,B.printText)(e.data,t);if(8===e.nodeType)return(0,B.printComment)(e.data,t);var u=11===e.nodeType?"DocumentFragment":e.tagName.toLowerCase();return++r>t.maxDepth?(0,B.printElementAsLeaf)(u,t):(0,B.printElement)(u,(0,B.printProps)(Array.prototype.map.call(e.attributes||[],a).sort(),Array.prototype.reduce.call(e.attributes||[],o,{}),t,n+t.indent,r,l,i),(0,B.printChildren)(Array.prototype.slice.call(e.childNodes||e.children),t,n+t.indent,r,l,i),t,n)};t.default={serialize:l,test:r}});p(_);_.serialize,_.test;var k=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=function(e){return"Immutable."+e},r=function(e){return"["+e+"]"},a=function(e,t,a,o,l,i,u){return++o>t.maxDepth?r(n(u)):n(u)+" ["+(0,T.printIteratorValues)(e.values(),t,a,o,l,i)+"]"},o=t.serialize=function(e,t,o,l,i,u){return e["@@__IMMUTABLE_MAP__@@"]?function(e,t,a,o,l,i,u){return++o>t.maxDepth?r(n(u)):n(u)+" {"+(0,T.printIteratorEntries)(e.entries(),t,a,o,l,i)+"}"}(e,t,o,l,i,u,e["@@__IMMUTABLE_ORDERED__@@"]?"OrderedMap":"Map"):e["@@__IMMUTABLE_LIST__@@"]?a(e,t,o,l,i,u,"List"):e["@@__IMMUTABLE_SET__@@"]?a(e,t,o,l,i,u,e["@@__IMMUTABLE_ORDERED__@@"]?"OrderedSet":"Set"):e["@@__IMMUTABLE_STACK__@@"]?a(e,t,o,l,i,u,"Stack"):e["@@__IMMUTABLE_SEQ__@@"]?function(e,t,a,o,l,i){var u=n("Seq");return++o>t.maxDepth?r(u):e["@@__IMMUTABLE_KEYED__@@"]?u+" {"+(e._iter||e._object?(0,T.printIteratorEntries)(e.entries(),t,a,o,l,i):"β¦")+"}":u+" ["+(e._iter||e._array||e._collection||e._iterable?(0,T.printIteratorValues)(e.values(),t,a,o,l,i):"β¦")+"]"}(e,t,o,l,i,u):function(e,t,a,o,l,i){var u=n(e._name||"Record");return++o>t.maxDepth?r(u):u+" {"+(0,T.printIteratorEntries)(function(e){var t=0;return{next:function(){if(t<e._keys.length){var n=e._keys[t++];return{done:!1,value:[n,e.get(n)]}}return{done:!0}}}}(e),t,a,o,l,i)+"}"}(e,t,o,l,i,u)},l=t.test=function(e){return e&&(!0===e["@@__IMMUTABLE_ITERABLE__@@"]||!0===e["@@__IMMUTABLE_RECORD__@@"])};t.default={serialize:o,test:l}});p(k);k.test,k.serialize;var j=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=Symbol.for("react.element"),r=Symbol.for("react.fragment"),a=Symbol.for("react.forward_ref"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Array.isArray(e)?e.forEach(function(e){i(e,t)}):null!=e&&!1!==e&&t.push(e),t},u=function(e){var t=e.type;if("string"==typeof t)return t;if("function"==typeof t)return t.displayName||t.name||"Unknown";if(t===r)return"React.Fragment";if("object"==typeof t&&null!==t){if(t.$$typeof===o)return"Context.Provider";if(t.$$typeof===l)return"Context.Consumer";if(t.$$typeof===a){var n=t.render.displayName||t.render.name||"";return""!==n?"ForwardRef("+n+")":"ForwardRef"}}return"UNDEFINED"},c=t.serialize=function(e,t,n,r,a,o){return++r>t.maxDepth?(0,B.printElementAsLeaf)(u(e),t):(0,B.printElement)(u(e),(0,B.printProps)(function(e){var t=e.props;return Object.keys(t).filter(function(e){return"children"!==e&&void 0!==t[e]}).sort()}(e),e.props,t,n+t.indent,r,a,o),(0,B.printChildren)(i(e.props.children),t,n+t.indent,r,a,o),t,n)},s=t.test=function(e){return e&&e.$$typeof===n};t.default={serialize:c,test:s}});p(j);j.test,j.serialize;var S=d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.test=t.serialize=void 0;var n=Symbol.for("react.test.json"),r=t.serialize=function(e,t,n,r,a,o){return++r>t.maxDepth?(0,B.printElementAsLeaf)(e.type,t):(0,B.printElement)(e.type,e.props?(0,B.printProps)(function(e){var t=e.props;return t?Object.keys(t).filter(function(e){return void 0!==t[e]}).sort():[]}(e),e.props,t,n+t.indent,r,a,o):"",e.children?(0,B.printChildren)(e.children,t,n+t.indent,r,a,o):"",t,n)},a=t.test=function(e){return e&&e.$$typeof===n};t.default={serialize:r,test:a}});p(S);S.test,S.serialize;var D=p(d(function(e){var t=c(E),n=c(A),r=c(M),a=c(O),o=c(_),l=c(k),i=c(j),u=c(S);function c(e){return e&&e.__esModule?e:{default:e}}var f=Object.prototype.toString,p=Date.prototype.toISOString,d=Error.prototype.toString,b=RegExp.prototype.toString,y=Symbol.prototype.toString,v=function(e){return"function"==typeof e.constructor&&e.constructor.name||"Object"},h=function(e){return"undefined"!=typeof window&&e===window},g=/^Symbol\((.*)\)(.*)$/,m=/\n/gi,w=function(e){var t,n;function r(t,n){var r=e.call(this,t)||this;return r.stack=n,r.name=r.constructor.name,r}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,r}(s(Error));function x(e,t){return t?"[Function "+(e.name||"anonymous")+"]":"[Function]"}function I(e){return y.call(e).replace(g,"Symbol($1)")}function B(e){return"["+d.call(e)+"]"}function D(e,t,n){if(!0===e||!1===e)return""+e;if(void 0===e)return"undefined";if(null===e)return"null";var r=typeof e;if("number"===r)return function(e){return Object.is(e,-0)?"-0":String(e)}(e);if("string"===r)return'"'+e.replace(/"|\\/g,"\\$&")+'"';if("function"===r)return x(e,t);if("symbol"===r)return I(e);var a=f.call(e);return"[object WeakMap]"===a?"WeakMap {}":"[object WeakSet]"===a?"WeakSet {}":"[object Function]"===a||"[object GeneratorFunction]"===a?x(e,t):"[object Symbol]"===a?I(e):"[object Date]"===a?isNaN(+e)?"Date { NaN }":p.call(e):"[object Error]"===a?B(e):"[object RegExp]"===a?n?b.call(e).replace(/[\\^$*+?.()|[\]{}]/g,"\\$&"):b.call(e):e instanceof Error?B(e):null}function q(e,t,n,r,a,o){if(-1!==a.indexOf(e))return"[Circular]";(a=a.slice()).push(e);var l=++r>t.maxDepth,i=t.min;if(t.callToJSON&&!l&&e.toJSON&&"function"==typeof e.toJSON&&!o)return C(e.toJSON(),t,n,r,a,!0);var u=f.call(e);return"[object Arguments]"===u?l?"[Arguments]":(i?"":"Arguments ")+"["+(0,T.printListItems)(e,t,n,r,a,C)+"]":function(e){return"[object Array]"===e||"[object ArrayBuffer]"===e||"[object DataView]"===e||"[object Float32Array]"===e||"[object Float64Array]"===e||"[object Int8Array]"===e||"[object Int16Array]"===e||"[object Int32Array]"===e||"[object Uint8Array]"===e||"[object Uint8ClampedArray]"===e||"[object Uint16Array]"===e||"[object Uint32Array]"===e}(u)?l?"["+e.constructor.name+"]":(i?"":e.constructor.name+" ")+"["+(0,T.printListItems)(e,t,n,r,a,C)+"]":"[object Map]"===u?l?"[Map]":"Map {"+(0,T.printIteratorEntries)(e.entries(),t,n,r,a,C," => ")+"}":"[object Set]"===u?l?"[Set]":"Set {"+(0,T.printIteratorValues)(e.values(),t,n,r,a,C)+"}":l||h(e)?"["+v(e)+"]":(i?"":v(e)+" ")+"{"+(0,T.printObjectProperties)(e,t,n,r,a,C)+"}"}function P(e,t,n,r,a,o){var l;try{l=e.serialize?e.serialize(t,n,r,a,o,C):e.print(t,function(e){return C(e,n,r,a,o)},function(e){var t=r+n.indent;return t+e.replace(m,"\n"+t)},{edgeSpacing:n.spacingOuter,min:n.min,spacing:n.spacingInner},n.colors)}catch(e){throw new w(e.message,e.stack)}if("string"!=typeof l)throw new Error('pretty-format: Plugin must return type "string" but instead returned "'+typeof l+'".');return l}function z(e,t){for(var n=0;n<e.length;n++)try{if(e[n].test(t))return e[n]}catch(e){throw new w(e.message,e.stack)}return null}function C(e,t,n,r,a,o){var l=z(t.plugins,e);if(null!==l)return P(l,e,t,n,r,a);var i=D(e,t.printFunctionName,t.escapeRegex);return null!==i?i:q(e,t,n,r,a,o)}var N={comment:"gray",content:"reset",prop:"yellow",tag:"cyan",value:"green"},L=Object.keys(N),R={callToJSON:!0,escapeRegex:!1,highlight:!1,indent:2,maxDepth:1/0,min:!1,plugins:[],printFunctionName:!0,theme:N};var V=function(e){return L.reduce(function(n,r){var a=e.theme&&void 0!==e.theme[r]?e.theme[r]:N[r],o=t.default[a];if(!o||"string"!=typeof o.close||"string"!=typeof o.open)throw new Error('pretty-format: Option "theme" has a key "'+r+'" whose value "'+a+'" is undefined in ansi-styles.');return n[r]=o,n},Object.create(null))},U=function(e){return e&&void 0!==e.printFunctionName?e.printFunctionName:R.printFunctionName},F=function(e){return e&&void 0!==e.escapeRegex?e.escapeRegex:R.escapeRegex},W=function(e){return{callToJSON:e&&void 0!==e.callToJSON?e.callToJSON:R.callToJSON,colors:e&&e.highlight?V(e):L.reduce(function(e,t){return e[t]={close:"",open:""},e},Object.create(null)),escapeRegex:F(e),indent:e&&e.min?"":(t=e&&void 0!==e.indent?e.indent:R.indent,new Array(t+1).join(" ")),maxDepth:e&&void 0!==e.maxDepth?e.maxDepth:R.maxDepth,min:e&&void 0!==e.min?e.min:R.min,plugins:e&&void 0!==e.plugins?e.plugins:R.plugins,printFunctionName:U(e),spacingInner:e&&e.min?" ":"\n",spacingOuter:e&&e.min?"":"\n"};var t};function $(e,t){if(t&&(function(e){if(Object.keys(e).forEach(function(e){if(!R.hasOwnProperty(e))throw new Error('pretty-format: Unknown option "'+e+'".')}),e.min&&void 0!==e.indent&&0!==e.indent)throw new Error('pretty-format: Options "min" and "indent" cannot be used together.');if(void 0!==e.theme){if(null===e.theme)throw new Error('pretty-format: Option "theme" must not be null.');if("object"!=typeof e.theme)throw new Error('pretty-format: Option "theme" must be of type "object" but instead received "'+typeof e.theme+'".')}}(t),t.plugins)){var n=z(t.plugins,e);if(null!==n)return P(n,e,W(t),"",0,[])}var r=D(e,U(t),F(t));return null!==r?r:q(e,W(t),"",0,[])}$.plugins={AsymmetricMatcher:n.default,ConvertAnsi:r.default,DOMCollection:a.default,DOMElement:o.default,Immutable:l.default,ReactElement:i.default,ReactTestComponent:u.default},e.exports=$})),q=D.plugins,P=q.DOMElement,z=q.DOMCollection;function C(e,t,n){e.documentElement&&(e=e.documentElement);var r=D(e,l({plugins:[P,z],printFunctionName:!1,highlight:!0},n));return void 0!==t&&e.outerHTML.length>t?r.slice(0,t)+"...":r}function N(e){var t="undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.node,n=e.ownerDocument&&e.ownerDocument.defaultView||void 0;return"undefined"!=typeof global&&global.Cypress||void 0!==n&&n.Cypress?"":t?C(e,7e3):C(e,7e3,{highlight:!1})}function L(e,t){return new Error([e,N(t)].filter(Boolean).join("\n\n"))}function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=e.apply(void 0,n);return 0===a.length?null:a[0]}function V(e,r,o,l){var i=void 0===l?{}:l,u=i.exact,c=void 0===u||u,s=i.collapseWhitespace,f=i.trim,p=i.normalizer,d=c?n:t,b=a({collapseWhitespace:s,trim:f,normalizer:p});return Array.from(r.querySelectorAll("["+e+"]")).filter(function(t){return d(t.getAttribute(e),t,o,b)})}function U(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[V].concat(t))}var F=Object.freeze({debugDOM:N,getElementError:L,firstResultOrNull:R,queryAllByAttribute:V,queryByAttribute:U}),W={testIdAttribute:"data-testid"};function $(e,r,o){var l=void 0===o?{}:o,i=l.exact,u=void 0===i||i,c=l.trim,s=l.collapseWhitespace,f=l.normalizer,p=u?n:t,d=a({collapseWhitespace:s,trim:c,normalizer:f});return Array.from(e.querySelectorAll("label")).filter(function(e){return p(e.textContent,e,r,d)})}function J(e,t,n){var r=void 0===n?{}:n,o=r.selector,l=void 0===o?"*":o,i=r.exact,u=void 0===i||i,c=a({collapseWhitespace:r.collapseWhitespace,trim:r.trim,normalizer:r.normalizer}),s=$(e,t,{exact:u,normalizer:c}).map(function(t){return t.control?t.control:t.getAttribute("for")?e.querySelector('[id="'+t.getAttribute("for")+'"]'):t.getAttribute("id")?e.querySelector('[aria-labelledby~="'+t.getAttribute("id")+'"]'):t.childNodes.length?t.querySelector(l):null}).filter(function(e){return null!==e}).concat(V("aria-label",e,t,{exact:u})),f=Y(e,t,{exact:u,normalizer:c}).filter(function(e){return"LABEL"!==e.tagName}).reduce(function(t,n){var r=n.getAttribute("id");if(!r)return t;var a=Array.from(e.querySelectorAll('[aria-labelledby~="'+r+'"]'));return t.concat(a)},[]);return Array.from(new Set(s.concat(f)))}function G(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[J].concat(t))}function Y(e,r,l){var i=void 0===l?{}:l,u=i.selector,c=void 0===u?"*":u,s=i.exact,f=void 0===s||s,p=i.collapseWhitespace,d=i.trim,b=i.ignore,y=void 0===b?"script, style":b,v=i.normalizer,h=f?n:t,g=a({collapseWhitespace:p,trim:d,normalizer:v});return Array.from(e.querySelectorAll(c)).filter(function(e){return!y||!e.matches(y)}).filter(function(e){return h(o(e),e,r,g)})}function K(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Y].concat(t))}function H(e,r,l){var i=void 0===l?{}:l,u=i.exact,c=void 0===u||u,s=i.collapseWhitespace,f=i.trim,p=i.normalizer,d=c?n:t,b=a({collapseWhitespace:s,trim:f,normalizer:p});return Array.from(e.querySelectorAll("[title], svg > title")).filter(function(e){return d(e.getAttribute("title"),e,r,b)||d(o(e),e,r,b)})}function Q(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[H].concat(t))}function Z(e,r,l){var i=void 0===l?{}:l,u=i.exact,c=void 0===u||u,s=i.collapseWhitespace,f=i.trim,p=i.normalizer,d=c?n:t,b=a({collapseWhitespace:s,trim:f,normalizer:p});return Array.from(e.querySelectorAll("select")).filter(function(e){return Array.from(e.options).filter(function(e){return e.selected}).some(function(e){return d(o(e),e,r,b)})})}function X(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Z].concat(t))}function ee(){return W.testIdAttribute}var te=U.bind(null,"placeholder"),ne=V.bind(null,"placeholder"),re=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return U.apply(void 0,[ee()].concat(t))},ae=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return V.apply(void 0,[ee()].concat(t))},oe=U.bind(null,"value"),le=V.bind(null,"value"),ie=U.bind(null,"role"),ue=V.bind(null,"role");function ce(e,r,o){var l=void 0===o?{}:o,i=l.exact,u=void 0===i||i,c=l.collapseWhitespace,s=l.trim,f=l.normalizer,p=u?n:t,d=a({collapseWhitespace:c,trim:s,normalizer:f});return Array.from(e.querySelectorAll("img,input,area")).filter(function(e){return p(e.getAttribute("alt"),e,r,d)})}function se(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[ce].concat(t))}function fe(e,r,l){var i=void 0===l?{}:l,u=i.exact,c=void 0===u||u,s=i.collapseWhitespace,f=i.trim,p=i.normalizer,d=c?n:t,b=a({collapseWhitespace:s,trim:f,normalizer:p});return Array.from(e.querySelectorAll("input,textarea,select")).filter(function(e){return"SELECT"===e.tagName?Array.from(e.options).filter(function(e){return e.selected}).some(function(e){return d(o(e),e,r,b)}):d(e.value,e,r,b)})}function pe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[fe].concat(t))}function de(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=ae.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element by: ["+ee()+'="'+t+'"]',e);return o}function be(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[de].concat(t))}function ye(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=H.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the title: "+t+".",e);return o}function ve(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[ye].concat(t))}function he(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=le.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the value: "+t+".",e);return o}function ge(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[he].concat(t))}function me(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=ne.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the placeholder text of: "+t,e);return o}function we(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[me].concat(t))}function Ee(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=J.apply(void 0,[e,t].concat(r));if(!o.length)throw $.apply(void 0,[e,t].concat(r)).length?L("Found a label with the text of: "+t+', however no form control was found associated to that label. Make sure you\'re using the "for" attribute or "aria-labelledby" attribute correctly.',e):L("Unable to find a label with the text of: "+t,e);return o}function Te(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Ee].concat(t))}function Ae(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=Y.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the text: "+t+". This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.",e);return o}function xe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Ae].concat(t))}function Me(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=ce.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the alt text: "+t,e);return o}function Oe(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Me].concat(t))}function Ie(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=ue.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element by role="+t,e);return o}function Be(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[Ie].concat(t))}function _e(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=Z.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find a <select> element with the selected option's text: "+t,e);return o}function ke(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[_e].concat(t))}function je(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var o=fe.apply(void 0,[e,t].concat(r));if(!o.length)throw L("Unable to find an element with the value: "+t+".",e);return o}function Se(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return R.apply(void 0,[je].concat(t))}var De=Object.freeze({queryByPlaceholderText:te,queryAllByPlaceholderText:ne,getByPlaceholderText:we,getAllByPlaceholderText:me,queryByText:K,queryAllByText:Y,getByText:xe,getAllByText:Ae,queryByLabelText:G,queryAllByLabelText:J,getByLabelText:Te,getAllByLabelText:Ee,queryByAltText:se,queryAllByAltText:ce,getByAltText:Oe,getAllByAltText:Me,queryBySelectText:X,queryAllBySelectText:Z,getBySelectText:ke,getAllBySelectText:_e,queryByTestId:re,queryAllByTestId:ae,getByTestId:be,getAllByTestId:de,queryByTitle:Q,queryAllByTitle:H,getByTitle:ve,getAllByTitle:ye,queryByValue:oe,queryAllByValue:le,getByValue:ge,getAllByValue:he,queryByDisplayValue:pe,queryAllByDisplayValue:fe,getByDisplayValue:Se,getAllByDisplayValue:je,queryByRole:ie,queryAllByRole:ue,getAllByRole:Ie,getByRole:Be});function qe(e,t){return void 0===t&&(t=De),Object.keys(t).reduce(function(n,r){var a=t[r];return n[r]=a.bind(null,e),n},{})}var Pe=p(d(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n="undefined"!=typeof window?window:f,r=n.setTimeout,a=n.Date.now;t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,o=a();return new Promise(function(l,i){var u=function(e){a()-o>=t?i(e):r(c,n)};function c(){try{Promise.resolve(e()).then(function(){return l()}).catch(u)}catch(e){u(e)}}r(c,0)})},e.exports=t.default}));var ze=function(e){if("undefined"!=typeof window&&void 0!==window.MutationObserver)return window.MutationObserver;function t(e){this._watched=[],this._listener=e}function n(t){var n={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null};for(var r in t)y(n,r)&&t[r]!==e&&(n[r]=t[r]);return n}function r(t,r){var a=u(t,r);return function(o){var l,s=o.length;r.charData&&3===t.nodeType&&t.nodeValue!==a.charData&&o.push(new n({type:"characterData",target:t,oldValue:a.charData})),r.attr&&a.attr&&i(o,t,a.attr,r.afilter),(r.kids||r.descendents)&&(l=function(t,r,a,o){var l;function u(e,r,a,l,u){for(var c,f,p,d=e.length-1,b=-~((d-u)/2);p=e.pop();)c=a[p.i],f=l[p.j],o.kids&&b&&Math.abs(p.i-p.j)>=d&&(t.push(n({type:"childList",target:r,addedNodes:[c],removedNodes:[c],nextSibling:c.nextSibling,previousSibling:c.previousSibling})),b--),o.attr&&f.attr&&i(t,c,f.attr,o.afilter),o.charData&&3===c.nodeType&&c.nodeValue!==f.charData&&t.push(n({type:"characterData",target:c,oldValue:f.charData})),o.descendents&&s(c,f)}function s(r,a){for(var f,d,y,v,h,g,m,w=r.childNodes,E=a.kids,T=w.length,A=E?E.length:0,x=0,M=0,O=0;M<T||O<A;)g=w[M],h=E[O],m=h&&h.node,g===m?(o.attr&&h.attr&&i(t,g,h.attr,o.afilter),o.charData&&h.charData!==e&&g.nodeValue!==h.charData&&t.push(n({type:"characterData",target:g,oldValue:h.charData})),d&&u(d,r,w,E,x),o.descendents&&(g.childNodes.length||h.kids&&h.kids.length)&&s(g,h),M++,O++):(l=!0,f||(f={},d=[]),g&&(f[y=p(g)]||(f[y]=!0,-1===(v=c(E,g,O))?o.kids&&(t.push(n({type:"childList",target:r,addedNodes:[g],nextSibling:g.nextSibling,previousSibling:g.previousSibling})),x++):d.push({i:M,j:v})),M++),m&&m!==w[M]&&(f[y=p(m)]||(f[y]=!0,-1===(v=b(w,m,M))?o.kids&&(t.push(n({type:"childList",target:a.node,removedNodes:[m],nextSibling:E[O+1],previousSibling:E[O-1]})),x--):d.push({i:v,j:O})),O++));d&&u(d,r,w,E,x)}return s(r,a),l}(o,t,a,r)),(l||o.length!==s)&&(a=u(t,r))}}t._period=30,t.prototype={observe:function(e,n){for(var a,o={attr:!!(n.attributes||n.attributeFilter||n.attributeOldValue),kids:!!n.childList,descendents:!!n.subtree,charData:!(!n.characterData&&!n.characterDataOldValue)},l=this._watched,i=0;i<l.length;i++)l[i].tar===e&&l.splice(i,1);n.attributeFilter&&(o.afilter=d(n.attributeFilter,function(e,t){return e[t]=!0,e},{})),l.push({tar:e,fn:r(e,o)}),this._timeout||(a=this,function e(){var n=a.takeRecords();n.length&&a._listener(n,a),a._timeout=setTimeout(e,t._period)}())},takeRecords:function(){for(var e=[],t=this._watched,n=0;n<t.length;n++)t[n].fn(e);return e},disconnect:function(){this._watched=[],clearTimeout(this._timeout),this._timeout=null}};var a=!1;if("undefined"!=typeof document){var o=document.createElement("i");o.style.top=0,a="null"!=o.attributes.style.value}var l=a?function(e,t){return t.value}:function(e,t){return"style"!==t.name?t.value:e.style.cssText};function i(e,t,r,a){for(var o,i={},u=t.attributes,c=u.length;c--;)s=(o=u[c]).name,a&&!y(a,s)||(l(t,o)!==r[s]&&e.push(n({type:"attributes",target:t,attributeName:s,oldValue:r[s],attributeNamespace:o.namespaceURI})),i[s]=!0);for(var s in r)i[s]||e.push(n({target:t,type:"attributes",attributeName:s,oldValue:r[s]}))}function u(e,t){var n=!0;return function e(r){var a={node:r};return!t.charData||3!==r.nodeType&&8!==r.nodeType?(t.attr&&n&&1===r.nodeType&&(a.attr=d(r.attributes,function(e,n){return t.afilter&&!t.afilter[n.name]||(e[n.name]=l(r,n)),e},{})),n&&(t.kids||t.charData||t.attr&&t.descendents)&&(a.kids=function(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r,e);return n}(r.childNodes,e)),n=t.descendents):a.charData=r.nodeValue,a}(e)}function c(e,t,n){return b(e,t,n,"node")}var s=1,f="mo_id";function p(e){try{return e.id||(e[f]=e[f]||s++)}catch(t){try{return e.nodeValue}catch(e){return s++}}}function d(e,t,n){for(var r=0;r<e.length;r++)n=t(n,e[r],r,e);return n}function b(e,t,n,r){for(;n<e.length;n++)if((r?e[n][r]:e[n])===t)return n;return-1}function y(t,n){return t[n]!==e}return t}(void 0);function Ce(e){return new("undefined"!=typeof window&&void 0!==window.MutationObserver?window.MutationObserver:ze)(e)}function Ne(){if("undefined"==typeof window)throw new Error("Could not find default container");return window.document}var Le={copy:{EventType:"ClipboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},cut:{EventType:"ClipboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},paste:{EventType:"ClipboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},compositionEnd:{EventType:"CompositionEvent",defaultInit:{bubbles:!0,cancelable:!0}},compositionStart:{EventType:"CompositionEvent",defaultInit:{bubbles:!0,cancelable:!0}},compositionUpdate:{EventType:"CompositionEvent",defaultInit:{bubbles:!0,cancelable:!1}},keyDown:{EventType:"KeyboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},keyPress:{EventType:"KeyboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},keyUp:{EventType:"KeyboardEvent",defaultInit:{bubbles:!0,cancelable:!0}},focus:{EventType:"FocusEvent",defaultInit:{bubbles:!1,cancelable:!1}},blur:{EventType:"FocusEvent",defaultInit:{bubbles:!1,cancelable:!1}},change:{EventType:"InputEvent",defaultInit:{bubbles:!0,cancelable:!0}},input:{EventType:"InputEvent",defaultInit:{bubbles:!0,cancelable:!0}},invalid:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!0}},submit:{EventType:"Event",defaultInit:{bubbles:!0,cancelable:!0}},click:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0,button:0}},contextMenu:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},dblClick:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},drag:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},dragEnd:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!1}},dragEnter:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},dragExit:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!1}},dragLeave:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!1}},dragOver:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},dragStart:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},drop:{EventType:"DragEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseDown:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseEnter:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseLeave:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseMove:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseOut:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseOver:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},mouseUp:{EventType:"MouseEvent",defaultInit:{bubbles:!0,cancelable:!0}},select:{EventType:"Event",defaultInit:{bubbles:!0,cancelable:!1}},touchCancel:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!1}},touchEnd:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!0}},touchMove:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!0}},touchStart:{EventType:"TouchEvent",defaultInit:{bubbles:!0,cancelable:!0}},scroll:{EventType:"UIEvent",defaultInit:{bubbles:!1,cancelable:!1}},wheel:{EventType:"WheelEvent",defaultInit:{bubbles:!0,cancelable:!0}},abort:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},canPlay:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},canPlayThrough:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},durationChange:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},emptied:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},encrypted:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},ended:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},loadedData:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},loadedMetadata:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},loadStart:{EventType:"ProgressEvent",defaultInit:{bubbles:!1,cancelable:!1}},pause:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},play:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},playing:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},progress:{EventType:"ProgressEvent",defaultInit:{bubbles:!1,cancelable:!1}},rateChange:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},seeked:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},seeking:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},stalled:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},suspend:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},timeUpdate:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},volumeChange:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},waiting:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},load:{EventType:"UIEvent",defaultInit:{bubbles:!1,cancelable:!1}},error:{EventType:"Event",defaultInit:{bubbles:!1,cancelable:!1}},animationStart:{EventType:"AnimationEvent",defaultInit:{bubbles:!0,cancelable:!1}},animationEnd:{EventType:"AnimationEvent",defaultInit:{bubbles:!0,cancelable:!1}},animationIteration:{EventType:"AnimationEvent",defaultInit:{bubbles:!0,cancelable:!1}},transitionEnd:{EventType:"TransitionEvent",defaultInit:{bubbles:!0,cancelable:!0}}},Re={doubleClick:"dblClick"};function Ve(e,t){return e.dispatchEvent(t)}Object.keys(Le).forEach(function(e){var t=Le[e],n=t.EventType,r=t.defaultInit,a=e.toLowerCase();Ve[e]=function(e,t){var o=l({},r,t),i=o.target,u=(i=void 0===i?{}:i).value,c=i.files,s=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(i,["value","files"]);Object.assign(e,s),void 0!==u&&function(e,t){var n=(Object.getOwnPropertyDescriptor(e,"value")||{}).set,r=Object.getPrototypeOf(e),a=(Object.getOwnPropertyDescriptor(r,"value")||{}).set;if(a&&n!==a)a.call(e,t);else{if(!n)throw new Error("The given element does not have a value setter");n.call(e,t)}}(e,u),void 0!==c&&Object.defineProperty(e,"files",{configurable:!0,enumerable:!0,writable:!0,value:c});var f=e.ownerDocument.defaultView;return Ve(e,new(f[n]||f.Event)(a,o))}}),Object.keys(Re).forEach(function(e){var t=Re[e];Ve[e]=function(){return Ve[t].apply(Ve,arguments)}}),e.bindElementToQueries=qe,e.within=qe,e.queries=De,e.queryHelpers=F,e.getDefaultNormalizer=r,e.configure=function(e){"function"==typeof e&&(e=e(W)),W=l({},W,e)},e.queryByPlaceholderText=te,e.queryAllByPlaceholderText=ne,e.getByPlaceholderText=we,e.getAllByPlaceholderText=me,e.queryByText=K,e.queryAllByText=Y,e.getByText=xe,e.getAllByText=Ae,e.queryByLabelText=G,e.queryAllByLabelText=J,e.getByLabelText=Te,e.getAllByLabelText=Ee,e.queryByAltText=se,e.queryAllByAltText=ce,e.getByAltText=Oe,e.getAllByAltText=Me,e.queryBySelectText=X,e.queryAllBySelectText=Z,e.getBySelectText=ke,e.getAllBySelectText=_e,e.queryByTestId=re,e.queryAllByTestId=ae,e.getByTestId=be,e.getAllByTestId=de,e.queryByTitle=Q,e.queryAllByTitle=H,e.getByTitle=ve,e.getAllByTitle=ye,e.queryByValue=oe,e.queryAllByValue=le,e.getByValue=ge,e.getAllByValue=he,e.queryByDisplayValue=pe,e.queryAllByDisplayValue=fe,e.getByDisplayValue=Se,e.getAllByDisplayValue=je,e.queryByRole=ie,e.queryAllByRole=ue,e.getAllByRole=Ie,e.getByRole=Be,e.wait=function(e,t){void 0===e&&(e=function(){});var n=void 0===t?{}:t,r=n.timeout,a=void 0===r?4500:r,o=n.interval;return Pe(e,a,void 0===o?50:o)},e.waitForElement=function(e,t){var n=void 0===t?{}:t,r=n.container,a=void 0===r?Ne():r,o=n.timeout,l=void 0===o?4500:o,i=n.mutationObserverOptions,u=void 0===i?{subtree:!0,childList:!0,attributes:!0,characterData:!0}:i;return new Promise(function(t,n){var r;"function"!=typeof e&&n("waitForElement requires a callback as the first parameter");var o=setTimeout(function(){c(r||new Error("Timed out in waitForElement."),null)},l),i=Ce(s);function c(e,r){clearTimeout(o),setImmediate(function(){return i.disconnect()}),e?n(e):t(r)}function s(){try{var t=e();t&&c(null,t)}catch(e){r=e}}i.observe(a,u),s()})},e.waitForDomChange=function(e){var t=void 0===e?{}:e,n=t.container,r=void 0===n?Ne():n,a=t.timeout,o=void 0===a?4500:a,l=t.mutationObserverOptions,i=void 0===l?{subtree:!0,childList:!0,attributes:!0,characterData:!0}:l;return new Promise(function(e,t){var n=setTimeout(function(){l(new Error("Timed out in waitForDomChange."),null)},o),a=Ce(function(e){l(null,e)});function l(r,o){clearTimeout(n),setImmediate(function(){return a.disconnect()}),r?t(r):e(o)}a.observe(r,i)})},e.getNodeText=o,e.fireEvent=Ve,e.getQueriesForElement=qe,e.debugDOM=N,e.getElementError=L,e.firstResultOrNull=R,e.queryAllByAttribute=V,e.queryByAttribute=U,e.prettyDOM=C,Object.defineProperty(e,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=dom-testing-library.umd.min.js.map |
@@ -13,2 +13,3 @@ "use strict"; | ||
queryHelpers: true, | ||
getDefaultNormalizer: true, | ||
configure: true | ||
@@ -28,2 +29,8 @@ }; | ||
}); | ||
Object.defineProperty(exports, "getDefaultNormalizer", { | ||
enumerable: true, | ||
get: function () { | ||
return _matches.getDefaultNormalizer; | ||
} | ||
}); | ||
Object.defineProperty(exports, "configure", { | ||
@@ -119,13 +126,2 @@ enumerable: true, | ||
Object.keys(_matches).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function () { | ||
return _matches[key]; | ||
} | ||
}); | ||
}); | ||
var _getNodeText = require("./get-node-text"); | ||
@@ -132,0 +128,0 @@ |
@@ -8,7 +8,6 @@ "use strict"; | ||
exports.matches = matches; | ||
exports.getDefaultNormalizer = getDefaultNormalizer; | ||
exports.makeNormalizer = makeNormalizer; | ||
function fuzzyMatches(textToMatch, node, matcher, { | ||
collapseWhitespace = true, | ||
trim = true | ||
} = {}) { | ||
function fuzzyMatches(textToMatch, node, matcher, normalizer) { | ||
if (typeof textToMatch !== 'string') { | ||
@@ -18,6 +17,3 @@ return false; | ||
const normalizedText = normalize(textToMatch, { | ||
trim, | ||
collapseWhitespace | ||
}); | ||
const normalizedText = normalizer(textToMatch); | ||
@@ -33,6 +29,3 @@ if (typeof matcher === 'string') { | ||
function matches(textToMatch, node, matcher, { | ||
collapseWhitespace = true, | ||
trim = true | ||
} = {}) { | ||
function matches(textToMatch, node, matcher, normalizer) { | ||
if (typeof textToMatch !== 'string') { | ||
@@ -42,6 +35,3 @@ return false; | ||
const normalizedText = normalize(textToMatch, { | ||
trim, | ||
collapseWhitespace | ||
}); | ||
const normalizedText = normalizer(textToMatch); | ||
@@ -57,10 +47,44 @@ if (typeof matcher === 'string') { | ||
function normalize(text, { | ||
function getDefaultNormalizer({ | ||
trim = true, | ||
collapseWhitespace = true | ||
} = {}) { | ||
return text => { | ||
let normalizedText = text; | ||
normalizedText = trim ? normalizedText.trim() : normalizedText; | ||
normalizedText = collapseWhitespace ? normalizedText.replace(/\s+/g, ' ') : normalizedText; | ||
return normalizedText; | ||
}; | ||
} | ||
/** | ||
* Constructs a normalizer to pass to functions in matches.js | ||
* @param {boolean|undefined} trim The user-specified value for `trim`, without | ||
* any defaulting having been applied | ||
* @param {boolean|undefined} collapseWhitespace The user-specified value for | ||
* `collapseWhitespace`, without any defaulting having been applied | ||
* @param {Function|undefined} normalizer The user-specified normalizer | ||
* @returns {Function} A normalizer | ||
*/ | ||
function makeNormalizer({ | ||
trim, | ||
collapseWhitespace | ||
collapseWhitespace, | ||
normalizer | ||
}) { | ||
let normalizedText = text; | ||
normalizedText = trim ? normalizedText.trim() : normalizedText; | ||
normalizedText = collapseWhitespace ? normalizedText.replace(/\s+/g, ' ') : normalizedText; | ||
return normalizedText; | ||
if (normalizer) { | ||
// User has specified a custom normalizer | ||
if (typeof trim !== 'undefined' || typeof collapseWhitespace !== 'undefined') { | ||
// They've also specified a value for trim or collapseWhitespace | ||
throw new Error('trim and collapseWhitespace are not supported with a normalizer. ' + 'If you want to use the default trim and collapseWhitespace logic in your normalizer, ' + 'use "getDefaultNormalizer({trim, collapseWhitespace})" and compose that into your normalizer'); | ||
} | ||
return normalizer; | ||
} else { | ||
// No custom normalizer specified. Just use default. | ||
return getDefaultNormalizer({ | ||
trim, | ||
collapseWhitespace | ||
}); | ||
} | ||
} |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -42,4 +40,2 @@ value: true | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _matches = require("./matches"); | ||
@@ -58,11 +54,13 @@ | ||
exact = true, | ||
trim = true, | ||
collapseWhitespace = true | ||
trim, | ||
collapseWhitespace, | ||
normalizer | ||
} = {}) { | ||
const matcher = exact ? _matches.matches : _matches.fuzzyMatches; | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
return Array.from(container.querySelectorAll('label')).filter(label => matcher(label.textContent, label, text, matchOpts)); | ||
trim, | ||
normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('label')).filter(label => matcher(label.textContent, label, text, matchNormalizer)); | ||
} | ||
@@ -73,12 +71,15 @@ | ||
exact = true, | ||
collapseWhitespace = true, | ||
trim = true | ||
collapseWhitespace, | ||
trim, | ||
normalizer | ||
} = {}) { | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
const labels = queryAllLabelsByText(container, text, (0, _extends2.default)({ | ||
exact | ||
}, matchOpts)); | ||
trim, | ||
normalizer | ||
}); | ||
const labels = queryAllLabelsByText(container, text, { | ||
exact, | ||
normalizer: matchNormalizer | ||
}); | ||
const labelledElements = labels.map(label => { | ||
@@ -113,5 +114,6 @@ if (label.control) { | ||
})); | ||
const possibleAriaLabelElements = queryAllByText(container, text, (0, _extends2.default)({ | ||
exact | ||
}, matchOpts)).filter(el => el.tagName !== 'LABEL'); // don't reprocess labels | ||
const possibleAriaLabelElements = queryAllByText(container, text, { | ||
exact, | ||
normalizer: matchNormalizer | ||
}).filter(el => el.tagName !== 'LABEL'); // don't reprocess labels | ||
@@ -135,12 +137,14 @@ const ariaLabelledElements = possibleAriaLabelElements.reduce((allLabelledElements, nextLabelElement) => { | ||
exact = true, | ||
collapseWhitespace = true, | ||
trim = true, | ||
ignore = 'script, style' | ||
collapseWhitespace, | ||
trim, | ||
ignore = 'script, style', | ||
normalizer | ||
} = {}) { | ||
const matcher = exact ? _matches.matches : _matches.fuzzyMatches; | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
return Array.from(container.querySelectorAll(selector)).filter(node => !ignore || !node.matches(ignore)).filter(node => matcher((0, _getNodeText.getNodeText)(node), node, text, matchOpts)); | ||
trim, | ||
normalizer | ||
}); | ||
return Array.from(container.querySelectorAll(selector)).filter(node => !ignore || !node.matches(ignore)).filter(node => matcher((0, _getNodeText.getNodeText)(node), node, text, matchNormalizer)); | ||
} | ||
@@ -154,11 +158,13 @@ | ||
exact = true, | ||
collapseWhitespace = true, | ||
trim = true | ||
collapseWhitespace, | ||
trim, | ||
normalizer | ||
} = {}) { | ||
const matcher = exact ? _matches.matches : _matches.fuzzyMatches; | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
return Array.from(container.querySelectorAll('[title], svg > title')).filter(node => matcher(node.getAttribute('title'), node, text, matchOpts) || matcher((0, _getNodeText.getNodeText)(node), node, text, matchOpts)); | ||
trim, | ||
normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('[title], svg > title')).filter(node => matcher(node.getAttribute('title'), node, text, matchNormalizer) || matcher((0, _getNodeText.getNodeText)(node), node, text, matchNormalizer)); | ||
} | ||
@@ -172,13 +178,15 @@ | ||
exact = true, | ||
collapseWhitespace = true, | ||
trim = true | ||
collapseWhitespace, | ||
trim, | ||
normalizer | ||
} = {}) { | ||
const matcher = exact ? _matches.matches : _matches.fuzzyMatches; | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
trim, | ||
normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('select')).filter(selectNode => { | ||
const selectedOptions = Array.from(selectNode.options).filter(option => option.selected); | ||
return selectedOptions.some(optionNode => matcher((0, _getNodeText.getNodeText)(optionNode), optionNode, text, matchOpts)); | ||
return selectedOptions.some(optionNode => matcher((0, _getNodeText.getNodeText)(optionNode), optionNode, text, matchNormalizer)); | ||
}); | ||
@@ -229,11 +237,13 @@ } | ||
exact = true, | ||
collapseWhitespace = true, | ||
trim = true | ||
collapseWhitespace, | ||
trim, | ||
normalizer | ||
} = {}) { | ||
const matcher = exact ? _matches.matches : _matches.fuzzyMatches; | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
return Array.from(container.querySelectorAll('img,input,area')).filter(node => matcher(node.getAttribute('alt'), node, alt, matchOpts)); | ||
trim, | ||
normalizer | ||
}); | ||
return Array.from(container.querySelectorAll('img,input,area')).filter(node => matcher(node.getAttribute('alt'), node, alt, matchNormalizer)); | ||
} | ||
@@ -247,16 +257,18 @@ | ||
exact = true, | ||
collapseWhitespace = true, | ||
trim = true | ||
collapseWhitespace, | ||
trim, | ||
normalizer | ||
} = {}) { | ||
const matcher = exact ? _matches.matches : _matches.fuzzyMatches; | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
trim, | ||
normalizer | ||
}); | ||
return Array.from(container.querySelectorAll(`input,textarea,select`)).filter(node => { | ||
if (node.tagName === 'SELECT') { | ||
const selectedOptions = Array.from(node.options).filter(option => option.selected); | ||
return selectedOptions.some(optionNode => matcher((0, _getNodeText.getNodeText)(optionNode), optionNode, value, matchOpts)); | ||
return selectedOptions.some(optionNode => matcher((0, _getNodeText.getNodeText)(optionNode), optionNode, value, matchNormalizer)); | ||
} else { | ||
return matcher(node.value, node, value, matchOpts); | ||
return matcher(node.value, node, value, matchNormalizer); | ||
} | ||
@@ -263,0 +275,0 @@ }); |
@@ -49,11 +49,13 @@ "use strict"; | ||
exact = true, | ||
collapseWhitespace = true, | ||
trim = true | ||
collapseWhitespace, | ||
trim, | ||
normalizer | ||
} = {}) { | ||
const matcher = exact ? _matches.matches : _matches.fuzzyMatches; | ||
const matchOpts = { | ||
const matchNormalizer = (0, _matches.makeNormalizer)({ | ||
collapseWhitespace, | ||
trim | ||
}; | ||
return Array.from(container.querySelectorAll(`[${attribute}]`)).filter(node => matcher(node.getAttribute(attribute), node, text, matchOpts)); | ||
trim, | ||
normalizer | ||
}); | ||
return Array.from(container.querySelectorAll(`[${attribute}]`)).filter(node => matcher(node.getAttribute(attribute), node, text, matchNormalizer)); | ||
} | ||
@@ -60,0 +62,0 @@ |
{ | ||
"name": "dom-testing-library", | ||
"version": "3.14.1", | ||
"version": "3.15.0", | ||
"description": "Simple and complete DOM testing utilities that encourage good testing practices.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -100,2 +100,3 @@ <div align="center"> | ||
- [Precision](#precision) | ||
- [Normalization](#normalization) | ||
- [TextMatch Examples](#textmatch-examples) | ||
@@ -211,4 +212,3 @@ - [`query` APIs](#query-apis) | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = true, | ||
trim?: boolean = true, | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
@@ -264,4 +264,3 @@ ``` | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = false, | ||
trim?: boolean = true, | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
@@ -290,5 +289,4 @@ ``` | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = true, | ||
trim?: boolean = true, | ||
ignore?: string|boolean = 'script, style' | ||
ignore?: string|boolean = 'script, style', | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
@@ -323,4 +321,3 @@ ``` | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = false, | ||
trim?: boolean = true, | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
@@ -349,4 +346,3 @@ ``` | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = false, | ||
trim?: boolean = true, | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
@@ -377,4 +373,3 @@ ``` | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = false, | ||
trim?: boolean = true, | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
@@ -426,4 +421,3 @@ ``` | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = false, | ||
trim?: boolean = true, | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
@@ -448,5 +442,4 @@ ``` | ||
exact?: boolean = true, | ||
collapseWhitespace?: boolean = false, | ||
trim?: boolean = true, | ||
}): HTMLElement` | ||
normalizer?: NormalizerFn, | ||
}): HTMLElement | ||
``` | ||
@@ -813,5 +806,43 @@ | ||
fuzzy matching and should be preferred over `{ exact: false }`. | ||
- `trim`: Defaults to `true`; trim leading and trailing whitespace. | ||
- `normalizer`: An optional function which overrides normalization behavior. | ||
See [`Normalization`](#normalization). | ||
### Normalization | ||
Before running any matching logic against text in the DOM, `dom-testing-library` | ||
automatically normalizes that text. By default, normalization consists of | ||
trimming whitespace from the start and end of text, and collapsing multiple | ||
adjacent whitespace characters into a single space. | ||
If you want to prevent that normalization, or provide alternative | ||
normalization (e.g. to remove Unicode control characters), you can provide a | ||
`normalizer` function in the options object. This function will be given | ||
a string and is expected to return a normalized version of that string. | ||
Note: Specifying a value for `normalizer` _replaces_ the built-in normalization, but | ||
you can call `getDefaultNormalizer` to obtain a built-in normalizer, either | ||
to adjust that normalization or to call it from your own normalizer. | ||
`getDefaultNormalizer` takes an options object which allows the selection of behaviour: | ||
- `trim`: Defaults to `true`. Trims leading and trailing whitespace | ||
- `collapseWhitespace`: Defaults to `true`. Collapses inner whitespace (newlines, tabs, repeated spaces) into a single space. | ||
#### Normalization Examples | ||
To perform a match against text without trimming: | ||
```javascript | ||
getByText(node, 'text', {normalizer: getDefaultNormalizer({trim: false})}) | ||
``` | ||
To override normalization to remove some Unicode characters whilst keeping some (but not all) of the built-in normalization behavior: | ||
```javascript | ||
getByText(node, 'text', { | ||
normalizer: str => | ||
getDefaultNormalizer({trim: false})(str).replace(/[\u200E-\u200F]*/g, ''), | ||
}) | ||
``` | ||
### TextMatch Examples | ||
@@ -818,0 +849,0 @@ |
export type MatcherFunction = (content: string, element: HTMLElement) => boolean | ||
export type Matcher = string | RegExp | MatcherFunction | ||
export type NormalizerFn = (text: string) => string | ||
export interface MatcherOptions { | ||
exact?: boolean | ||
/** Use normalizer with getDefaultNormalizer instead */ | ||
trim?: boolean | ||
/** Use normalizer with getDefaultNormalizer instead */ | ||
collapseWhitespace?: boolean | ||
normalizer?: NormalizerFn | ||
} | ||
@@ -16,3 +22,11 @@ | ||
export const fuzzyMatches: Match | ||
export const matches: Match | ||
export interface DefaultNormalizerOptions { | ||
trim?: boolean | ||
collapseWhitespace?: boolean | ||
} | ||
export declare function getDefaultNormalizer( | ||
options?: DefaultNormalizerOptions, | ||
): NormalizerFn | ||
// N.B. Don't expose fuzzyMatches + matches here: they're not public API |
import {Matcher, MatcherOptions} from './matches' | ||
import { | ||
SelectorMatcherOptions, | ||
} from './query-helpers' | ||
import {SelectorMatcherOptions} from './query-helpers' | ||
@@ -6,0 +4,0 @@ export type QueryByBoundAttribute = ( |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
970534
10462
1219