@jigowatts/jigowatts-ui 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AccordionSummary-B4zooGpd.js +1 -0
- package/dist/AccordionSummary-B4zooGpd.js.map +1 -0
- package/dist/ButtonBase-pxtIu13Q.js +1 -0
- package/dist/ButtonBase-pxtIu13Q.js.map +1 -0
- package/dist/DateTimePicker-DJSOr5wM.js +1 -0
- package/dist/DateTimePicker-DJSOr5wM.js.map +1 -0
- package/dist/ListContext-DOVwHqy-.js +1 -0
- package/dist/ListContext-DOVwHqy-.js.map +1 -0
- package/dist/MenuItem-yBaT3_db.js +1 -0
- package/dist/MenuItem-yBaT3_db.js.map +1 -0
- package/dist/Paper-COvYqxZa.js +1 -0
- package/dist/Paper-COvYqxZa.js.map +1 -0
- package/dist/Tabs-D3lJRumZ.js +1 -0
- package/dist/Tabs-D3lJRumZ.js.map +1 -0
- package/dist/_commonjsHelpers-CT_km90n.js +1 -0
- package/dist/_commonjsHelpers-CT_km90n.js.map +1 -0
- package/dist/assets/index27.css +1 -1
- package/dist/browser-DxfwT6rn.js +1 -0
- package/dist/browser-DxfwT6rn.js.map +1 -0
- package/dist/components/Button/index.js +1 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Button/index.test.js +1 -0
- package/dist/components/Button/index.test.js.map +1 -0
- package/dist/components/Card/index.js +1 -0
- package/dist/components/Card/index.js.map +1 -0
- package/dist/components/Card/index.test.js +1 -0
- package/dist/components/Card/index.test.js.map +1 -0
- package/dist/components/CustomLink/index.js +1 -0
- package/dist/components/CustomLink/index.js.map +1 -0
- package/dist/components/CustomLink/index.test.js +1 -0
- package/dist/components/CustomLink/index.test.js.map +1 -0
- package/dist/components/DataTable/index.js +1 -0
- package/dist/components/DataTable/index.js.map +1 -0
- package/dist/components/DataTable/index.test.js +1 -0
- package/dist/components/DataTable/index.test.js.map +1 -0
- package/dist/components/DatePickerController/index.js +1 -0
- package/dist/components/DatePickerController/index.js.map +1 -0
- package/dist/components/DatePickerController/index.test.js +1 -0
- package/dist/components/DatePickerController/index.test.js.map +1 -0
- package/dist/components/ErrorMessage/index.js +1 -0
- package/dist/components/ErrorMessage/index.js.map +1 -0
- package/dist/components/ErrorMessage/index.test.js +1 -0
- package/dist/components/ErrorMessage/index.test.js.map +1 -0
- package/dist/components/EvseStateLabel/index.js +1 -0
- package/dist/components/EvseStateLabel/index.js.map +1 -0
- package/dist/components/FlexButtons/index.js +1 -0
- package/dist/components/FlexButtons/index.js.map +1 -0
- package/dist/components/Form/index.js +1 -0
- package/dist/components/Form/index.js.map +1 -0
- package/dist/components/Form/index.test.js +1 -0
- package/dist/components/Form/index.test.js.map +1 -0
- package/dist/components/FormItem/index.js +1 -0
- package/dist/components/FormItem/index.js.map +1 -0
- package/dist/components/FormItem/index.test.js +1 -0
- package/dist/components/FormItem/index.test.js.map +1 -0
- package/dist/components/FormTitle/index.js +1 -0
- package/dist/components/FormTitle/index.js.map +1 -0
- package/dist/components/FormTitle/index.test.js +1 -0
- package/dist/components/FormTitle/index.test.js.map +1 -0
- package/dist/components/Input/index.js +1 -0
- package/dist/components/Input/index.js.map +1 -0
- package/dist/components/Input/index.test.js +1 -0
- package/dist/components/Input/index.test.js.map +1 -0
- package/dist/components/InputController/index.js +1 -0
- package/dist/components/InputController/index.js.map +1 -0
- package/dist/components/InputController/index.test.js +1 -0
- package/dist/components/InputController/index.test.js.map +1 -0
- package/dist/components/InputGroup/index.js +1 -0
- package/dist/components/InputGroup/index.js.map +1 -0
- package/dist/components/InputGroup/index.test.js +1 -0
- package/dist/components/InputGroup/index.test.js.map +1 -0
- package/dist/components/Label/index.js +1 -0
- package/dist/components/Label/index.js.map +1 -0
- package/dist/components/Label/index.test.js +1 -0
- package/dist/components/Label/index.test.js.map +1 -0
- package/dist/components/LabeledContent/index.js +1 -0
- package/dist/components/LabeledContent/index.js.map +1 -0
- package/dist/components/LabeledContent/index.test.js +1 -0
- package/dist/components/LabeledContent/index.test.js.map +1 -0
- package/dist/components/LoadingOverlay/index.js +1 -0
- package/dist/components/LoadingOverlay/index.js.map +1 -0
- package/dist/components/LoadingOverlay/index.test.js +1 -0
- package/dist/components/LoadingOverlay/index.test.js.map +1 -0
- package/dist/components/Map/index.js +1 -0
- package/dist/components/Map/index.js.map +1 -0
- package/dist/components/MaxWidthContainer/index.js +1 -0
- package/dist/components/MaxWidthContainer/index.js.map +1 -0
- package/dist/components/MaxWidthContainer/index.test.js +1 -0
- package/dist/components/MaxWidthContainer/index.test.js.map +1 -0
- package/dist/components/NumericFieldController/index.js +1 -0
- package/dist/components/NumericFieldController/index.js.map +1 -0
- package/dist/components/NumericFieldController/index.test.js +1 -0
- package/dist/components/NumericFieldController/index.test.js.map +1 -0
- package/dist/components/OfflineLabel/index.js +1 -0
- package/dist/components/OfflineLabel/index.js.map +1 -0
- package/dist/components/PageSizeSelector/index.js +1 -0
- package/dist/components/PageSizeSelector/index.js.map +1 -0
- package/dist/components/Pagination/index.js +1 -0
- package/dist/components/Pagination/index.js.map +1 -0
- package/dist/components/Pagination/index.test.js +1 -0
- package/dist/components/Pagination/index.test.js.map +1 -0
- package/dist/components/PasswordInputController/index.js +1 -0
- package/dist/components/PasswordInputController/index.js.map +1 -0
- package/dist/components/PasswordInputController/index.test.js +1 -0
- package/dist/components/PasswordInputController/index.test.js.map +1 -0
- package/dist/components/RadioButton/index.js +1 -0
- package/dist/components/RadioButton/index.js.map +1 -0
- package/dist/components/RadioButton/index.test.js +1 -0
- package/dist/components/RadioButton/index.test.js.map +1 -0
- package/dist/components/RadioGroupController/index.js +1 -0
- package/dist/components/RadioGroupController/index.js.map +1 -0
- package/dist/components/RadioGroupController/index.test.js +1 -0
- package/dist/components/RadioGroupController/index.test.js.map +1 -0
- package/dist/components/RangeDatePicker/index.js +1 -0
- package/dist/components/RangeDatePicker/index.js.map +1 -0
- package/dist/components/RangeDatePickerController/index.js +1 -0
- package/dist/components/RangeDatePickerController/index.js.map +1 -0
- package/dist/components/RangeDatePickerController/index.test.js +1 -0
- package/dist/components/RangeDatePickerController/index.test.js.map +1 -0
- package/dist/components/ReportCard/index.js +1 -0
- package/dist/components/ReportCard/index.js.map +1 -0
- package/dist/components/ReportCard/index.test.js +1 -0
- package/dist/components/ReportCard/index.test.js.map +1 -0
- package/dist/components/ReportChart/index.js +1 -0
- package/dist/components/ReportChart/index.js.map +1 -0
- package/dist/components/ScrollableDialog/index.js +1 -0
- package/dist/components/ScrollableDialog/index.js.map +1 -0
- package/dist/components/ScrollableDialog/index.test.js +1 -0
- package/dist/components/ScrollableDialog/index.test.js.map +1 -0
- package/dist/components/SearchForm/index.js +1 -0
- package/dist/components/SearchForm/index.js.map +1 -0
- package/dist/components/SelectBox/index.js +1 -0
- package/dist/components/SelectBox/index.js.map +1 -0
- package/dist/components/SelectBox/index.test.js +1 -0
- package/dist/components/SelectBox/index.test.js.map +1 -0
- package/dist/components/SelectBoxController/index.js +1 -0
- package/dist/components/SelectBoxController/index.js.map +1 -0
- package/dist/components/SelectBoxController/index.test.js +1 -0
- package/dist/components/SelectBoxController/index.test.js.map +1 -0
- package/dist/components/SideMenu/index.js +228 -226
- package/dist/components/SideMenu/index.js.map +1 -0
- package/dist/components/SideMenu/index.test.js +1 -0
- package/dist/components/SideMenu/index.test.js.map +1 -0
- package/dist/components/SubMenu/index.js +1 -0
- package/dist/components/SubMenu/index.js.map +1 -0
- package/dist/components/SubMenu/index.test.js +1 -0
- package/dist/components/SubMenu/index.test.js.map +1 -0
- package/dist/components/Tabs/index.js +1 -0
- package/dist/components/Tabs/index.js.map +1 -0
- package/dist/components/Tabs/index.test.js +1 -0
- package/dist/components/Tabs/index.test.js.map +1 -0
- package/dist/components/Textarea/index.js +1 -0
- package/dist/components/Textarea/index.js.map +1 -0
- package/dist/components/Textarea/index.test.js +1 -0
- package/dist/components/Textarea/index.test.js.map +1 -0
- package/dist/components/ToggleButton/index.js +1 -0
- package/dist/components/ToggleButton/index.js.map +1 -0
- package/dist/components/ToggleButton/index.test.js +1 -0
- package/dist/components/ToggleButton/index.test.js.map +1 -0
- package/dist/constants/datetime.js +1 -0
- package/dist/constants/datetime.js.map +1 -0
- package/dist/createSvgIcon-B53UOwxg.js +1 -0
- package/dist/createSvgIcon-B53UOwxg.js.map +1 -0
- package/dist/createSvgIcon-Dj8zNxRS.js +1 -0
- package/dist/createSvgIcon-Dj8zNxRS.js.map +1 -0
- package/dist/index-0O6z6pEj.js +1 -0
- package/dist/index-0O6z6pEj.js.map +1 -0
- package/dist/index-BLPOOjNr.js +1 -0
- package/dist/index-BLPOOjNr.js.map +1 -0
- package/dist/index-BqWHRIKL.js +1 -0
- package/dist/index-BqWHRIKL.js.map +1 -0
- package/dist/index-Bs3JCwgu.js +1 -0
- package/dist/index-Bs3JCwgu.js.map +1 -0
- package/dist/index-BzzM70NU.js +1 -0
- package/dist/index-BzzM70NU.js.map +1 -0
- package/dist/index-CICI7n5Y.js +1 -0
- package/dist/index-CICI7n5Y.js.map +1 -0
- package/dist/index-DWRHnq8_.js +1 -0
- package/dist/index-DWRHnq8_.js.map +1 -0
- package/dist/index-Di2gTfPF.js +1 -0
- package/dist/index-Di2gTfPF.js.map +1 -0
- package/dist/index-Dqxvyh3z.js +1 -0
- package/dist/index-Dqxvyh3z.js.map +1 -0
- package/dist/index-VF82hRp0.js +1 -0
- package/dist/index-VF82hRp0.js.map +1 -0
- package/dist/index-kvi6aotO.js +1 -0
- package/dist/index-kvi6aotO.js.map +1 -0
- package/dist/index.esm-ChwJSgnF.js +1 -0
- package/dist/index.esm-ChwJSgnF.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/isEqual-BBhdD79C.js +1 -0
- package/dist/isEqual-BBhdD79C.js.map +1 -0
- package/dist/link-CjdKDftr.js +1 -0
- package/dist/link-CjdKDftr.js.map +1 -0
- package/dist/mergeSlotProps-J197zKan.js +1 -0
- package/dist/mergeSlotProps-J197zKan.js.map +1 -0
- package/dist/react.esm-C8amP77L.js +1 -0
- package/dist/react.esm-C8amP77L.js.map +1 -0
- package/dist/styled-CWju4EfZ.js +1 -0
- package/dist/styled-CWju4EfZ.js.map +1 -0
- package/dist/unsupportedProp-DZaWZqWQ.js +1 -0
- package/dist/unsupportedProp-DZaWZqWQ.js.map +1 -0
- package/dist/useControlled-BQCJRJNJ.js +1 -0
- package/dist/useControlled-BQCJRJNJ.js.map +1 -0
- package/dist/useIsFocusVisible-BxB-Hdhb.js +1 -0
- package/dist/useIsFocusVisible-BxB-Hdhb.js.map +1 -0
- package/dist/useSlotProps-Bh7akxXV.js +1 -0
- package/dist/useSlotProps-Bh7akxXV.js.map +1 -0
- package/package.json +1 -1
package/dist/index-VF82hRp0.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-VF82hRp0.js","sources":["../node_modules/.pnpm/min-indent@1.0.1/node_modules/min-indent/index.js","../node_modules/.pnpm/strip-indent@3.0.0/node_modules/strip-indent/index.js","../node_modules/.pnpm/indent-string@4.0.0/node_modules/indent-string/index.js","../node_modules/.pnpm/redent@3.0.0/node_modules/redent/index.js","../node_modules/.pnpm/@adobe+css-tools@4.3.3/node_modules/@adobe/css-tools/dist/index.mjs","../node_modules/.pnpm/dom-accessibility-api@0.6.3/node_modules/dom-accessibility-api/dist/polyfills/array.from.mjs","../node_modules/.pnpm/dom-accessibility-api@0.6.3/node_modules/dom-accessibility-api/dist/polyfills/SetLike.mjs","../node_modules/.pnpm/dom-accessibility-api@0.6.3/node_modules/dom-accessibility-api/dist/getRole.mjs","../node_modules/.pnpm/dom-accessibility-api@0.6.3/node_modules/dom-accessibility-api/dist/util.mjs","../node_modules/.pnpm/dom-accessibility-api@0.6.3/node_modules/dom-accessibility-api/dist/accessible-name-and-description.mjs","../node_modules/.pnpm/dom-accessibility-api@0.6.3/node_modules/dom-accessibility-api/dist/accessible-description.mjs","../node_modules/.pnpm/dom-accessibility-api@0.6.3/node_modules/dom-accessibility-api/dist/accessible-name.mjs","../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/util.js","../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/templates.js","../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/index.js","../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEqualWith.js","../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/uniq.js","../node_modules/.pnpm/css.escape@1.5.1/node_modules/css.escape/css.escape.js","../node_modules/.pnpm/@testing-library+jest-dom@6.4.2_@types+jest@29.5.12_jest@29.7.0/node_modules/@testing-library/jest-dom/dist/matchers-7883f120.mjs","../node_modules/.pnpm/@testing-library+jest-dom@6.4.2_@types+jest@29.5.12_jest@29.7.0/node_modules/@testing-library/jest-dom/dist/index.mjs"],"sourcesContent":["'use strict';\nmodule.exports = string => {\n\tconst match = string.match(/^[ \\t]*(?=\\S)/gm);\n\n\tif (!match) {\n\t\treturn 0;\n\t}\n\n\treturn match.reduce((r, a) => Math.min(r, a.length), Infinity);\n};\n","'use strict';\nconst minIndent = require('min-indent');\n\nmodule.exports = string => {\n\tconst indent = minIndent(string);\n\n\tif (indent === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = new RegExp(`^[ \\\\t]{${indent}}`, 'gm');\n\n\treturn string.replace(regex, '');\n};\n","'use strict';\n\nmodule.exports = (string, count = 1, options) => {\n\toptions = {\n\t\tindent: ' ',\n\t\tincludeEmptyLines: false,\n\t\t...options\n\t};\n\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof string}\\``\n\t\t);\n\t}\n\n\tif (typeof count !== 'number') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof count}\\``\n\t\t);\n\t}\n\n\tif (typeof options.indent !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof options.indent}\\``\n\t\t);\n\t}\n\n\tif (count === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = options.includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\n\n\treturn string.replace(regex, options.indent.repeat(count));\n};\n","'use strict';\nconst stripIndent = require('strip-indent');\nconst indentString = require('indent-string');\n\nmodule.exports = (string, count = 0, options) => indentString(stripIndent(string), count, options);\n","\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true, configurable: true});\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $009ddb00d3ec72b8$exports = {};\n\n$parcel$defineInteropFlag($009ddb00d3ec72b8$exports);\n\n$parcel$export($009ddb00d3ec72b8$exports, \"default\", () => $009ddb00d3ec72b8$export$2e2bcd8739ae039);\nclass $009ddb00d3ec72b8$export$2e2bcd8739ae039 extends Error {\n constructor(filename, msg, lineno, column, css){\n super(filename + \":\" + lineno + \":\" + column + \": \" + msg);\n this.reason = msg;\n this.filename = filename;\n this.line = lineno;\n this.column = column;\n this.source = css;\n }\n}\n\n\nvar $0865a9fb4cc365fe$exports = {};\n\n$parcel$defineInteropFlag($0865a9fb4cc365fe$exports);\n\n$parcel$export($0865a9fb4cc365fe$exports, \"default\", () => $0865a9fb4cc365fe$export$2e2bcd8739ae039);\n/**\n * Store position information for a node\n */ class $0865a9fb4cc365fe$export$2e2bcd8739ae039 {\n constructor(start, end, source){\n this.start = start;\n this.end = end;\n this.source = source;\n }\n}\n\n\nvar $b2e137848b48cf4f$exports = {};\n\n$parcel$export($b2e137848b48cf4f$exports, \"CssTypes\", () => $b2e137848b48cf4f$export$9be5dd6e61d5d73a);\nvar $b2e137848b48cf4f$export$9be5dd6e61d5d73a;\n(function(CssTypes) {\n CssTypes[\"stylesheet\"] = \"stylesheet\";\n CssTypes[\"rule\"] = \"rule\";\n CssTypes[\"declaration\"] = \"declaration\";\n CssTypes[\"comment\"] = \"comment\";\n CssTypes[\"container\"] = \"container\";\n CssTypes[\"charset\"] = \"charset\";\n CssTypes[\"document\"] = \"document\";\n CssTypes[\"customMedia\"] = \"custom-media\";\n CssTypes[\"fontFace\"] = \"font-face\";\n CssTypes[\"host\"] = \"host\";\n CssTypes[\"import\"] = \"import\";\n CssTypes[\"keyframes\"] = \"keyframes\";\n CssTypes[\"keyframe\"] = \"keyframe\";\n CssTypes[\"layer\"] = \"layer\";\n CssTypes[\"media\"] = \"media\";\n CssTypes[\"namespace\"] = \"namespace\";\n CssTypes[\"page\"] = \"page\";\n CssTypes[\"supports\"] = \"supports\";\n})($b2e137848b48cf4f$export$9be5dd6e61d5d73a || ($b2e137848b48cf4f$export$9be5dd6e61d5d73a = {}));\n\n\n// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\n// New rule => https://www.w3.org/TR/CSS22/syndata.html#comments\n// [^] is equivalent to [.\\n\\r]\nconst $d708735ed1303b43$var$commentre = /\\/\\*[^]*?(?:\\*\\/|$)/g;\nconst $d708735ed1303b43$export$98e6a39c04603d36 = (css, options)=>{\n options = options || {};\n /**\n * Positional.\n */ let lineno = 1;\n let column = 1;\n /**\n * Update lineno and column based on `str`.\n */ function updatePosition(str) {\n const lines = str.match(/\\n/g);\n if (lines) lineno += lines.length;\n const i = str.lastIndexOf(\"\\n\");\n column = ~i ? str.length - i : column + str.length;\n }\n /**\n * Mark position and patch `node.position`.\n */ function position() {\n const start = {\n line: lineno,\n column: column\n };\n return function(node) {\n node.position = new (0, $0865a9fb4cc365fe$export$2e2bcd8739ae039)(start, {\n line: lineno,\n column: column\n }, options?.source || \"\");\n whitespace();\n return node;\n };\n }\n /**\n * Error `msg`.\n */ const errorsList = [];\n function error(msg) {\n const err = new (0, $009ddb00d3ec72b8$export$2e2bcd8739ae039)(options?.source || \"\", msg, lineno, column, css);\n if (options?.silent) errorsList.push(err);\n else throw err;\n }\n /**\n * Parse stylesheet.\n */ function stylesheet() {\n const rulesList = rules();\n const result = {\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).stylesheet,\n stylesheet: {\n source: options?.source,\n rules: rulesList,\n parsingErrors: errorsList\n }\n };\n return result;\n }\n /**\n * Opening brace.\n */ function open() {\n return match(/^{\\s*/);\n }\n /**\n * Closing brace.\n */ function close() {\n return match(/^}/);\n }\n /**\n * Parse ruleset.\n */ function rules() {\n let node;\n const rules = [];\n whitespace();\n comments(rules);\n while(css.length && css.charAt(0) !== \"}\" && (node = atrule() || rule()))if (node) {\n rules.push(node);\n comments(rules);\n }\n return rules;\n }\n /**\n * Match `re` and return captures.\n */ function match(re) {\n const m = re.exec(css);\n if (!m) return;\n const str = m[0];\n updatePosition(str);\n css = css.slice(str.length);\n return m;\n }\n /**\n * Parse whitespace.\n */ function whitespace() {\n match(/^\\s*/);\n }\n /**\n * Parse comments;\n */ function comments(rules) {\n let c;\n rules = rules || [];\n while(c = comment())if (c) rules.push(c);\n return rules;\n }\n /**\n * Parse comment.\n */ function comment() {\n const pos = position();\n if (\"/\" !== css.charAt(0) || \"*\" !== css.charAt(1)) return;\n const m = match(/^\\/\\*[^]*?\\*\\//);\n if (!m) return error(\"End of comment missing\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).comment,\n comment: m[0].slice(2, -2)\n });\n }\n function findClosingParenthese(str, start, depth) {\n let ptr = start + 1;\n let found = false;\n let closeParentheses = str.indexOf(\")\", ptr);\n while(!found && closeParentheses !== -1){\n const nextParentheses = str.indexOf(\"(\", ptr);\n if (nextParentheses !== -1 && nextParentheses < closeParentheses) {\n const nextSearch = findClosingParenthese(str, nextParentheses + 1, depth + 1);\n ptr = nextSearch + 1;\n closeParentheses = str.indexOf(\")\", ptr);\n } else found = true;\n }\n if (found && closeParentheses !== -1) return closeParentheses;\n else return -1;\n }\n /**\n * Parse selector.\n */ function selector() {\n const m = match(/^([^{]+)/);\n if (!m) return;\n // remove comment in selector;\n let res = $d708735ed1303b43$var$trim(m[0]).replace($d708735ed1303b43$var$commentre, \"\");\n // Optimisation: If there is no ',' no need to split or post-process (this is less costly)\n if (res.indexOf(\",\") === -1) return [\n res\n ];\n // Replace all the , in the parentheses by \\u200C\n let ptr = 0;\n let startParentheses = res.indexOf(\"(\", ptr);\n while(startParentheses !== -1){\n const closeParentheses = findClosingParenthese(res, startParentheses, 0);\n if (closeParentheses === -1) break;\n ptr = closeParentheses + 1;\n res = res.substring(0, startParentheses) + res.substring(startParentheses, closeParentheses).replace(/,/g, \"\\u200C\") + res.substring(closeParentheses);\n startParentheses = res.indexOf(\"(\", ptr);\n }\n // Replace all the , in ' and \" by \\u200C\n res = res/**\n * replace ',' by \\u200C for data selector (div[data-lang=\"fr,de,us\"])\n *\n * Examples:\n * div[data-lang=\"fr,\\\"de,us\"]\n * div[data-lang='fr,\\'de,us']\n *\n * Regex logic:\n * (\"|')(?:\\\\\\1|.)*?\\1 => Handle the \" and '\n *\n * Optimization 1:\n * No greedy capture (see docs about the difference between .* and .*?)\n *\n * Optimization 2:\n * (\"|')(?:\\\\\\1|.)*?\\1 this use reference to capture group, it work faster.\n */ .replace(/(\"|')(?:\\\\\\1|.)*?\\1/g, (m)=>m.replace(/,/g, \"\\u200C\"));\n // Split all the left , and replace all the \\u200C by ,\n return res// Split the selector by ','\n .split(\",\")// Replace back \\u200C by ','\n .map((s)=>{\n return $d708735ed1303b43$var$trim(s.replace(/\\u200C/g, \",\"));\n });\n }\n /**\n * Parse declaration.\n */ function declaration() {\n const pos = position();\n // prop\n const propMatch = match(/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/);\n if (!propMatch) return;\n const propValue = $d708735ed1303b43$var$trim(propMatch[0]);\n // :\n if (!match(/^:\\s*/)) return error(\"property missing ':'\");\n // val\n const val = match(/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/);\n const ret = pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).declaration,\n property: propValue.replace($d708735ed1303b43$var$commentre, \"\"),\n value: val ? $d708735ed1303b43$var$trim(val[0]).replace($d708735ed1303b43$var$commentre, \"\") : \"\"\n });\n // ;\n match(/^[;\\s]*/);\n return ret;\n }\n /**\n * Parse declarations.\n */ function declarations() {\n const decls = [];\n if (!open()) return error(\"missing '{'\");\n comments(decls);\n // declarations\n let decl;\n while(decl = declaration())if (decl) {\n decls.push(decl);\n comments(decls);\n }\n if (!close()) return error(\"missing '}'\");\n return decls;\n }\n /**\n * Parse keyframe.\n */ function keyframe() {\n let m;\n const vals = [];\n const pos = position();\n while(m = match(/^((\\d+\\.\\d+|\\.\\d+|\\d+)%?|[a-z]+)\\s*/)){\n vals.push(m[1]);\n match(/^,\\s*/);\n }\n if (!vals.length) return;\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).keyframe,\n values: vals,\n declarations: declarations() || []\n });\n }\n /**\n * Parse keyframes.\n */ function atkeyframes() {\n const pos = position();\n const m1 = match(/^@([-\\w]+)?keyframes\\s*/);\n if (!m1) return;\n const vendor = m1[1];\n // identifier\n const m2 = match(/^([-\\w]+)\\s*/);\n if (!m2) return error(\"@keyframes missing name\");\n const name = m2[1];\n if (!open()) return error(\"@keyframes missing '{'\");\n let frame;\n let frames = comments();\n while(frame = keyframe()){\n frames.push(frame);\n frames = frames.concat(comments());\n }\n if (!close()) return error(\"@keyframes missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).keyframes,\n name: name,\n vendor: vendor,\n keyframes: frames\n });\n }\n /**\n * Parse supports.\n */ function atsupports() {\n const pos = position();\n const m = match(/^@supports *([^{]+)/);\n if (!m) return;\n const supports = $d708735ed1303b43$var$trim(m[1]);\n if (!open()) return error(\"@supports missing '{'\");\n const style = comments().concat(rules());\n if (!close()) return error(\"@supports missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).supports,\n supports: supports,\n rules: style\n });\n }\n /**\n * Parse host.\n */ function athost() {\n const pos = position();\n const m = match(/^@host\\s*/);\n if (!m) return;\n if (!open()) return error(\"@host missing '{'\");\n const style = comments().concat(rules());\n if (!close()) return error(\"@host missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).host,\n rules: style\n });\n }\n /**\n * Parse container.\n */ function atcontainer() {\n const pos = position();\n const m = match(/^@container *([^{]+)/);\n if (!m) return;\n const container = $d708735ed1303b43$var$trim(m[1]);\n if (!open()) return error(\"@container missing '{'\");\n const style = comments().concat(rules());\n if (!close()) return error(\"@container missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).container,\n container: container,\n rules: style\n });\n }\n /**\n * Parse container.\n */ function atlayer() {\n const pos = position();\n const m = match(/^@layer *([^{;@]+)/);\n if (!m) return;\n const layer = $d708735ed1303b43$var$trim(m[1]);\n if (!open()) {\n match(/^[;\\s]*/);\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).layer,\n layer: layer\n });\n }\n const style = comments().concat(rules());\n if (!close()) return error(\"@layer missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).layer,\n layer: layer,\n rules: style\n });\n }\n /**\n * Parse media.\n */ function atmedia() {\n const pos = position();\n const m = match(/^@media *([^{]+)/);\n if (!m) return;\n const media = $d708735ed1303b43$var$trim(m[1]);\n if (!open()) return error(\"@media missing '{'\");\n const style = comments().concat(rules());\n if (!close()) return error(\"@media missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).media,\n media: media,\n rules: style\n });\n }\n /**\n * Parse custom-media.\n */ function atcustommedia() {\n const pos = position();\n const m = match(/^@custom-media\\s+(--\\S+)\\s*([^{;\\s][^{;]*);/);\n if (!m) return;\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).customMedia,\n name: $d708735ed1303b43$var$trim(m[1]),\n media: $d708735ed1303b43$var$trim(m[2])\n });\n }\n /**\n * Parse paged media.\n */ function atpage() {\n const pos = position();\n const m = match(/^@page */);\n if (!m) return;\n const sel = selector() || [];\n if (!open()) return error(\"@page missing '{'\");\n let decls = comments();\n // declarations\n let decl;\n while(decl = declaration()){\n decls.push(decl);\n decls = decls.concat(comments());\n }\n if (!close()) return error(\"@page missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).page,\n selectors: sel,\n declarations: decls\n });\n }\n /**\n * Parse document.\n */ function atdocument() {\n const pos = position();\n const m = match(/^@([-\\w]+)?document *([^{]+)/);\n if (!m) return;\n const vendor = $d708735ed1303b43$var$trim(m[1]);\n const doc = $d708735ed1303b43$var$trim(m[2]);\n if (!open()) return error(\"@document missing '{'\");\n const style = comments().concat(rules());\n if (!close()) return error(\"@document missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).document,\n document: doc,\n vendor: vendor,\n rules: style\n });\n }\n /**\n * Parse font-face.\n */ function atfontface() {\n const pos = position();\n const m = match(/^@font-face\\s*/);\n if (!m) return;\n if (!open()) return error(\"@font-face missing '{'\");\n let decls = comments();\n // declarations\n let decl;\n while(decl = declaration()){\n decls.push(decl);\n decls = decls.concat(comments());\n }\n if (!close()) return error(\"@font-face missing '}'\");\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).fontFace,\n declarations: decls\n });\n }\n /**\n * Parse import\n */ const atimport = _compileAtrule(\"import\");\n /**\n * Parse charset\n */ const atcharset = _compileAtrule(\"charset\");\n /**\n * Parse namespace\n */ const atnamespace = _compileAtrule(\"namespace\");\n /**\n * Parse non-block at-rules\n */ function _compileAtrule(name) {\n const re = new RegExp(\"^@\" + name + \"\\\\s*((?::?[^;'\\\"]|\\\"(?:\\\\\\\\\\\"|[^\\\"])*?\\\"|'(?:\\\\\\\\'|[^'])*?')+)(?:;|$)\");\n // ^@import\\s*([^;\"']|(\"|')(?:\\\\\\2|.)*?\\2)+(;|$)\n return function() {\n const pos = position();\n const m = match(re);\n if (!m) return;\n const ret = {\n type: name\n };\n ret[name] = m[1].trim();\n return pos(ret);\n };\n }\n /**\n * Parse at rule.\n */ function atrule() {\n if (css[0] !== \"@\") return;\n return atkeyframes() || atmedia() || atcustommedia() || atsupports() || atimport() || atcharset() || atnamespace() || atdocument() || atpage() || athost() || atfontface() || atcontainer() || atlayer();\n }\n /**\n * Parse rule.\n */ function rule() {\n const pos = position();\n const sel = selector();\n if (!sel) return error(\"selector missing\");\n comments();\n return pos({\n type: (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).rule,\n selectors: sel,\n declarations: declarations() || []\n });\n }\n return $d708735ed1303b43$var$addParent(stylesheet());\n};\n/**\n * Trim `str`.\n */ function $d708735ed1303b43$var$trim(str) {\n return str ? str.trim() : \"\";\n}\n/**\n * Adds non-enumerable parent node reference to each node.\n */ function $d708735ed1303b43$var$addParent(obj, parent) {\n const isNode = obj && typeof obj.type === \"string\";\n const childParent = isNode ? obj : parent;\n for(const k in obj){\n const value = obj[k];\n if (Array.isArray(value)) value.forEach((v)=>{\n $d708735ed1303b43$var$addParent(v, childParent);\n });\n else if (value && typeof value === \"object\") $d708735ed1303b43$var$addParent(value, childParent);\n }\n if (isNode) Object.defineProperty(obj, \"parent\", {\n configurable: true,\n writable: true,\n enumerable: false,\n value: parent || null\n });\n return obj;\n}\nvar $d708735ed1303b43$export$2e2bcd8739ae039 = $d708735ed1303b43$export$98e6a39c04603d36;\n\n\n\nclass $de9540138ed1fd01$var$Compiler {\n constructor(options){\n this.level = 0;\n this.indentation = \" \";\n this.compress = false;\n if (typeof options?.indent === \"string\") this.indentation = options?.indent;\n if (options?.compress) this.compress = true;\n }\n // We disable no-unused-vars for _position. We keep position for potential reintroduction of source-map\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n emit(str, _position) {\n return str;\n }\n /**\n * Increase, decrease or return current indentation.\n */ indent(level) {\n this.level = this.level || 1;\n if (level) {\n this.level += level;\n return \"\";\n }\n return Array(this.level).join(this.indentation);\n }\n visit(node) {\n switch(node.type){\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).stylesheet:\n return this.stylesheet(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).rule:\n return this.rule(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).declaration:\n return this.declaration(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).comment:\n return this.comment(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).container:\n return this.container(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).charset:\n return this.charset(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).document:\n return this.document(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).customMedia:\n return this.customMedia(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).fontFace:\n return this.fontFace(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).host:\n return this.host(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).import:\n return this.import(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).keyframes:\n return this.keyframes(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).keyframe:\n return this.keyframe(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).layer:\n return this.layer(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).media:\n return this.media(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).namespace:\n return this.namespace(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).page:\n return this.page(node);\n case (0, $b2e137848b48cf4f$export$9be5dd6e61d5d73a).supports:\n return this.supports(node);\n }\n }\n mapVisit(nodes, delim) {\n let buf = \"\";\n delim = delim || \"\";\n for(let i = 0, length = nodes.length; i < length; i++){\n buf += this.visit(nodes[i]);\n if (delim && i < length - 1) buf += this.emit(delim);\n }\n return buf;\n }\n compile(node) {\n if (this.compress) return node.stylesheet.rules.map(this.visit, this).join(\"\");\n return this.stylesheet(node);\n }\n /**\n * Visit stylesheet node.\n */ stylesheet(node) {\n return this.mapVisit(node.stylesheet.rules, \"\\n\\n\");\n }\n /**\n * Visit comment node.\n */ comment(node) {\n if (this.compress) return this.emit(\"\", node.position);\n return this.emit(this.indent() + \"/*\" + node.comment + \"*/\", node.position);\n }\n /**\n * Visit container node.\n */ container(node) {\n if (this.compress) return this.emit(\"@container \" + node.container, node.position) + this.emit(\"{\") + this.mapVisit(node.rules) + this.emit(\"}\");\n return this.emit(this.indent() + \"@container \" + node.container, node.position) + this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(node.rules, \"\\n\\n\") + this.emit(\"\\n\" + this.indent(-1) + this.indent() + \"}\");\n }\n /**\n * Visit container node.\n */ layer(node) {\n if (this.compress) return this.emit(\"@layer \" + node.layer, node.position) + (node.rules ? this.emit(\"{\") + this.mapVisit(node.rules) + this.emit(\"}\") : \";\");\n return this.emit(this.indent() + \"@layer \" + node.layer, node.position) + (node.rules ? this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(node.rules, \"\\n\\n\") + this.emit(\"\\n\" + this.indent(-1) + this.indent() + \"}\") : \";\");\n }\n /**\n * Visit import node.\n */ import(node) {\n return this.emit(\"@import \" + node.import + \";\", node.position);\n }\n /**\n * Visit media node.\n */ media(node) {\n if (this.compress) return this.emit(\"@media \" + node.media, node.position) + this.emit(\"{\") + this.mapVisit(node.rules) + this.emit(\"}\");\n return this.emit(this.indent() + \"@media \" + node.media, node.position) + this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(node.rules, \"\\n\\n\") + this.emit(\"\\n\" + this.indent(-1) + this.indent() + \"}\");\n }\n /**\n * Visit document node.\n */ document(node) {\n const doc = \"@\" + (node.vendor || \"\") + \"document \" + node.document;\n if (this.compress) return this.emit(doc, node.position) + this.emit(\"{\") + this.mapVisit(node.rules) + this.emit(\"}\");\n return this.emit(doc, node.position) + this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(node.rules, \"\\n\\n\") + this.emit(this.indent(-1) + \"\\n}\");\n }\n /**\n * Visit charset node.\n */ charset(node) {\n return this.emit(\"@charset \" + node.charset + \";\", node.position);\n }\n /**\n * Visit namespace node.\n */ namespace(node) {\n return this.emit(\"@namespace \" + node.namespace + \";\", node.position);\n }\n /**\n * Visit supports node.\n */ supports(node) {\n if (this.compress) return this.emit(\"@supports \" + node.supports, node.position) + this.emit(\"{\") + this.mapVisit(node.rules) + this.emit(\"}\");\n return this.emit(this.indent() + \"@supports \" + node.supports, node.position) + this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(node.rules, \"\\n\\n\") + this.emit(\"\\n\" + this.indent(-1) + this.indent() + \"}\");\n }\n /**\n * Visit keyframes node.\n */ keyframes(node) {\n if (this.compress) return this.emit(\"@\" + (node.vendor || \"\") + \"keyframes \" + node.name, node.position) + this.emit(\"{\") + this.mapVisit(node.keyframes) + this.emit(\"}\");\n return this.emit(\"@\" + (node.vendor || \"\") + \"keyframes \" + node.name, node.position) + this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(node.keyframes, \"\\n\") + this.emit(this.indent(-1) + \"}\");\n }\n /**\n * Visit keyframe node.\n */ keyframe(node) {\n const decls = node.declarations;\n if (this.compress) return this.emit(node.values.join(\",\"), node.position) + this.emit(\"{\") + this.mapVisit(decls) + this.emit(\"}\");\n return this.emit(this.indent()) + this.emit(node.values.join(\", \"), node.position) + this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(decls, \"\\n\") + this.emit(this.indent(-1) + \"\\n\" + this.indent() + \"}\\n\");\n }\n /**\n * Visit page node.\n */ page(node) {\n if (this.compress) {\n const sel = node.selectors.length ? node.selectors.join(\", \") : \"\";\n return this.emit(\"@page \" + sel, node.position) + this.emit(\"{\") + this.mapVisit(node.declarations) + this.emit(\"}\");\n }\n const sel = node.selectors.length ? node.selectors.join(\", \") + \" \" : \"\";\n return this.emit(\"@page \" + sel, node.position) + this.emit(\"{\\n\") + this.emit(this.indent(1)) + this.mapVisit(node.declarations, \"\\n\") + this.emit(this.indent(-1)) + this.emit(\"\\n}\");\n }\n /**\n * Visit font-face node.\n */ fontFace(node) {\n if (this.compress) return this.emit(\"@font-face\", node.position) + this.emit(\"{\") + this.mapVisit(node.declarations) + this.emit(\"}\");\n return this.emit(\"@font-face \", node.position) + this.emit(\"{\\n\") + this.emit(this.indent(1)) + this.mapVisit(node.declarations, \"\\n\") + this.emit(this.indent(-1)) + this.emit(\"\\n}\");\n }\n /**\n * Visit host node.\n */ host(node) {\n if (this.compress) return this.emit(\"@host\", node.position) + this.emit(\"{\") + this.mapVisit(node.rules) + this.emit(\"}\");\n return this.emit(\"@host\", node.position) + this.emit(\" {\\n\" + this.indent(1)) + this.mapVisit(node.rules, \"\\n\\n\") + this.emit(this.indent(-1) + \"\\n}\");\n }\n /**\n * Visit custom-media node.\n */ customMedia(node) {\n return this.emit(\"@custom-media \" + node.name + \" \" + node.media + \";\", node.position);\n }\n /**\n * Visit rule node.\n */ rule(node) {\n const decls = node.declarations;\n if (!decls.length) return \"\";\n if (this.compress) return this.emit(node.selectors.join(\",\"), node.position) + this.emit(\"{\") + this.mapVisit(decls) + this.emit(\"}\");\n const indent = this.indent();\n return this.emit(node.selectors.map((s)=>{\n return indent + s;\n }).join(\",\\n\"), node.position) + this.emit(\" {\\n\") + this.emit(this.indent(1)) + this.mapVisit(decls, \"\\n\") + this.emit(this.indent(-1)) + this.emit(\"\\n\" + this.indent() + \"}\");\n }\n /**\n * Visit declaration node.\n */ declaration(node) {\n if (this.compress) return this.emit(node.property + \":\" + node.value, node.position) + this.emit(\";\");\n return this.emit(this.indent()) + this.emit(node.property + \": \" + node.value, node.position) + this.emit(\";\");\n }\n}\nvar $de9540138ed1fd01$export$2e2bcd8739ae039 = $de9540138ed1fd01$var$Compiler;\n\n\nvar $fdf773ab87e20450$export$2e2bcd8739ae039 = (node, options)=>{\n const compiler = new (0, $de9540138ed1fd01$export$2e2bcd8739ae039)(options || {});\n return compiler.compile(node);\n};\n\n\n\n\n\nconst $149c1bd638913645$export$98e6a39c04603d36 = (0, $d708735ed1303b43$export$2e2bcd8739ae039);\nconst $149c1bd638913645$export$fac44ee5b035f737 = (0, $fdf773ab87e20450$export$2e2bcd8739ae039);\nvar $149c1bd638913645$export$2e2bcd8739ae039 = {\n parse: $149c1bd638913645$export$98e6a39c04603d36,\n stringify: $149c1bd638913645$export$fac44ee5b035f737\n};\n\n\nexport {$149c1bd638913645$export$98e6a39c04603d36 as parse, $149c1bd638913645$export$fac44ee5b035f737 as stringify, $149c1bd638913645$export$2e2bcd8739ae039 as default, $b2e137848b48cf4f$export$9be5dd6e61d5d73a as CssTypes};\n//# sourceMappingURL=index.mjs.map\n","/**\n * @source {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill}\n * but without thisArg (too hard to type, no need to `this`)\n */\nvar toStr = Object.prototype.toString;\nfunction isCallable(fn) {\n return typeof fn === \"function\" || toStr.call(fn) === \"[object Function]\";\n}\nfunction toInteger(value) {\n var number = Number(value);\n if (isNaN(number)) {\n return 0;\n }\n if (number === 0 || !isFinite(number)) {\n return number;\n }\n return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\n}\nvar maxSafeInteger = Math.pow(2, 53) - 1;\nfunction toLength(value) {\n var len = toInteger(value);\n return Math.min(Math.max(len, 0), maxSafeInteger);\n}\n/**\n * Creates an array from an iterable object.\n * @param iterable An iterable object to convert to an array.\n */\n\n/**\n * Creates an array from an iterable object.\n * @param iterable An iterable object to convert to an array.\n * @param mapfn A mapping function to call on every element of the array.\n * @param thisArg Value of 'this' used to invoke the mapfn.\n */\nexport default function arrayFrom(arrayLike, mapFn) {\n // 1. Let C be the this value.\n // edit(@eps1lon): we're not calling it as Array.from\n var C = Array;\n\n // 2. Let items be ToObject(arrayLike).\n var items = Object(arrayLike);\n\n // 3. ReturnIfAbrupt(items).\n if (arrayLike == null) {\n throw new TypeError(\"Array.from requires an array-like object - not null or undefined\");\n }\n\n // 4. If mapfn is undefined, then let mapping be false.\n // const mapFn = arguments.length > 1 ? arguments[1] : void undefined;\n\n if (typeof mapFn !== \"undefined\") {\n // 5. else\n // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\n if (!isCallable(mapFn)) {\n throw new TypeError(\"Array.from: when provided, the second argument must be a function\");\n }\n }\n\n // 10. Let lenValue be Get(items, \"length\").\n // 11. Let len be ToLength(lenValue).\n var len = toLength(items.length);\n\n // 13. If IsConstructor(C) is true, then\n // 13. a. Let A be the result of calling the [[Construct]] internal method\n // of C with an argument list containing the single item len.\n // 14. a. Else, Let A be ArrayCreate(len).\n var A = isCallable(C) ? Object(new C(len)) : new Array(len);\n\n // 16. Let k be 0.\n var k = 0;\n // 17. Repeat, while k < len… (also steps a - h)\n var kValue;\n while (k < len) {\n kValue = items[k];\n if (mapFn) {\n A[k] = mapFn(kValue, k);\n } else {\n A[k] = kValue;\n }\n k += 1;\n }\n // 18. Let putStatus be Put(A, \"length\", len, true).\n A.length = len;\n // 20. Return A.\n return A;\n}\n//# sourceMappingURL=array.from.mjs.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// for environments without Set we fallback to arrays with unique members\nvar SetLike = /*#__PURE__*/function () {\n function SetLike() {\n var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n _classCallCheck(this, SetLike);\n _defineProperty(this, \"items\", void 0);\n this.items = items;\n }\n _createClass(SetLike, [{\n key: \"add\",\n value: function add(value) {\n if (this.has(value) === false) {\n this.items.push(value);\n }\n return this;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.items = [];\n }\n }, {\n key: \"delete\",\n value: function _delete(value) {\n var previousLength = this.items.length;\n this.items = this.items.filter(function (item) {\n return item !== value;\n });\n return previousLength !== this.items.length;\n }\n }, {\n key: \"forEach\",\n value: function forEach(callbackfn) {\n var _this = this;\n this.items.forEach(function (item) {\n callbackfn(item, item, _this);\n });\n }\n }, {\n key: \"has\",\n value: function has(value) {\n return this.items.indexOf(value) !== -1;\n }\n }, {\n key: \"size\",\n get: function get() {\n return this.items.length;\n }\n }]);\n return SetLike;\n}();\nexport default typeof Set === \"undefined\" ? Set : SetLike;\n//# sourceMappingURL=SetLike.mjs.map","// https://w3c.github.io/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html\n\nimport { presentationRoles } from \"./util.mjs\";\n\n/**\n * Safe Element.localName for all supported environments\n * @param element\n */\nexport function getLocalName(element) {\n var _element$localName;\n return (// eslint-disable-next-line no-restricted-properties -- actual guard for environments without localName\n (_element$localName = element.localName) !== null && _element$localName !== void 0 ? _element$localName :\n // eslint-disable-next-line no-restricted-properties -- required for the fallback\n element.tagName.toLowerCase()\n );\n}\nvar localNameToRoleMappings = {\n article: \"article\",\n aside: \"complementary\",\n button: \"button\",\n datalist: \"listbox\",\n dd: \"definition\",\n details: \"group\",\n dialog: \"dialog\",\n dt: \"term\",\n fieldset: \"group\",\n figure: \"figure\",\n // WARNING: Only with an accessible name\n form: \"form\",\n footer: \"contentinfo\",\n h1: \"heading\",\n h2: \"heading\",\n h3: \"heading\",\n h4: \"heading\",\n h5: \"heading\",\n h6: \"heading\",\n header: \"banner\",\n hr: \"separator\",\n html: \"document\",\n legend: \"legend\",\n li: \"listitem\",\n math: \"math\",\n main: \"main\",\n menu: \"list\",\n nav: \"navigation\",\n ol: \"list\",\n optgroup: \"group\",\n // WARNING: Only in certain context\n option: \"option\",\n output: \"status\",\n progress: \"progressbar\",\n // WARNING: Only with an accessible name\n section: \"region\",\n summary: \"button\",\n table: \"table\",\n tbody: \"rowgroup\",\n textarea: \"textbox\",\n tfoot: \"rowgroup\",\n // WARNING: Only in certain context\n td: \"cell\",\n th: \"columnheader\",\n thead: \"rowgroup\",\n tr: \"row\",\n ul: \"list\"\n};\nvar prohibitedAttributes = {\n caption: new Set([\"aria-label\", \"aria-labelledby\"]),\n code: new Set([\"aria-label\", \"aria-labelledby\"]),\n deletion: new Set([\"aria-label\", \"aria-labelledby\"]),\n emphasis: new Set([\"aria-label\", \"aria-labelledby\"]),\n generic: new Set([\"aria-label\", \"aria-labelledby\", \"aria-roledescription\"]),\n insertion: new Set([\"aria-label\", \"aria-labelledby\"]),\n none: new Set([\"aria-label\", \"aria-labelledby\"]),\n paragraph: new Set([\"aria-label\", \"aria-labelledby\"]),\n presentation: new Set([\"aria-label\", \"aria-labelledby\"]),\n strong: new Set([\"aria-label\", \"aria-labelledby\"]),\n subscript: new Set([\"aria-label\", \"aria-labelledby\"]),\n superscript: new Set([\"aria-label\", \"aria-labelledby\"])\n};\n\n/**\n *\n * @param element\n * @param role The role used for this element. This is specified to control whether you want to use the implicit or explicit role.\n */\nfunction hasGlobalAriaAttributes(element, role) {\n // https://rawgit.com/w3c/aria/stable/#global_states\n // commented attributes are deprecated\n return [\"aria-atomic\", \"aria-busy\", \"aria-controls\", \"aria-current\", \"aria-description\", \"aria-describedby\", \"aria-details\",\n // \"disabled\",\n \"aria-dropeffect\",\n // \"errormessage\",\n \"aria-flowto\", \"aria-grabbed\",\n // \"haspopup\",\n \"aria-hidden\",\n // \"invalid\",\n \"aria-keyshortcuts\", \"aria-label\", \"aria-labelledby\", \"aria-live\", \"aria-owns\", \"aria-relevant\", \"aria-roledescription\"].some(function (attributeName) {\n var _prohibitedAttributes;\n return element.hasAttribute(attributeName) && !((_prohibitedAttributes = prohibitedAttributes[role]) !== null && _prohibitedAttributes !== void 0 && _prohibitedAttributes.has(attributeName));\n });\n}\nfunction ignorePresentationalRole(element, implicitRole) {\n // https://rawgit.com/w3c/aria/stable/#conflict_resolution_presentation_none\n return hasGlobalAriaAttributes(element, implicitRole);\n}\nexport default function getRole(element) {\n var explicitRole = getExplicitRole(element);\n if (explicitRole === null || presentationRoles.indexOf(explicitRole) !== -1) {\n var implicitRole = getImplicitRole(element);\n if (presentationRoles.indexOf(explicitRole || \"\") === -1 || ignorePresentationalRole(element, implicitRole || \"\")) {\n return implicitRole;\n }\n }\n return explicitRole;\n}\nfunction getImplicitRole(element) {\n var mappedByTag = localNameToRoleMappings[getLocalName(element)];\n if (mappedByTag !== undefined) {\n return mappedByTag;\n }\n switch (getLocalName(element)) {\n case \"a\":\n case \"area\":\n case \"link\":\n if (element.hasAttribute(\"href\")) {\n return \"link\";\n }\n break;\n case \"img\":\n if (element.getAttribute(\"alt\") === \"\" && !ignorePresentationalRole(element, \"img\")) {\n return \"presentation\";\n }\n return \"img\";\n case \"input\":\n {\n var _ref = element,\n type = _ref.type;\n switch (type) {\n case \"button\":\n case \"image\":\n case \"reset\":\n case \"submit\":\n return \"button\";\n case \"checkbox\":\n case \"radio\":\n return type;\n case \"range\":\n return \"slider\";\n case \"email\":\n case \"tel\":\n case \"text\":\n case \"url\":\n if (element.hasAttribute(\"list\")) {\n return \"combobox\";\n }\n return \"textbox\";\n case \"search\":\n if (element.hasAttribute(\"list\")) {\n return \"combobox\";\n }\n return \"searchbox\";\n case \"number\":\n return \"spinbutton\";\n default:\n return null;\n }\n }\n case \"select\":\n if (element.hasAttribute(\"multiple\") || element.size > 1) {\n return \"listbox\";\n }\n return \"combobox\";\n }\n return null;\n}\nfunction getExplicitRole(element) {\n var role = element.getAttribute(\"role\");\n if (role !== null) {\n var explicitRole = role.trim().split(\" \")[0];\n // String.prototype.split(sep, limit) will always return an array with at least one member\n // as long as limit is either undefined or > 0\n if (explicitRole.length > 0) {\n return explicitRole;\n }\n }\n return null;\n}\n//# sourceMappingURL=getRole.mjs.map","export { getLocalName } from \"./getRole.mjs\";\nimport getRole, { getLocalName } from \"./getRole.mjs\";\nexport var presentationRoles = [\"presentation\", \"none\"];\nexport function isElement(node) {\n return node !== null && node.nodeType === node.ELEMENT_NODE;\n}\nexport function isHTMLTableCaptionElement(node) {\n return isElement(node) && getLocalName(node) === \"caption\";\n}\nexport function isHTMLInputElement(node) {\n return isElement(node) && getLocalName(node) === \"input\";\n}\nexport function isHTMLOptGroupElement(node) {\n return isElement(node) && getLocalName(node) === \"optgroup\";\n}\nexport function isHTMLSelectElement(node) {\n return isElement(node) && getLocalName(node) === \"select\";\n}\nexport function isHTMLTableElement(node) {\n return isElement(node) && getLocalName(node) === \"table\";\n}\nexport function isHTMLTextAreaElement(node) {\n return isElement(node) && getLocalName(node) === \"textarea\";\n}\nexport function safeWindow(node) {\n var _ref = node.ownerDocument === null ? node : node.ownerDocument,\n defaultView = _ref.defaultView;\n if (defaultView === null) {\n throw new TypeError(\"no window available\");\n }\n return defaultView;\n}\nexport function isHTMLFieldSetElement(node) {\n return isElement(node) && getLocalName(node) === \"fieldset\";\n}\nexport function isHTMLLegendElement(node) {\n return isElement(node) && getLocalName(node) === \"legend\";\n}\nexport function isHTMLSlotElement(node) {\n return isElement(node) && getLocalName(node) === \"slot\";\n}\nexport function isSVGElement(node) {\n return isElement(node) && node.ownerSVGElement !== undefined;\n}\nexport function isSVGSVGElement(node) {\n return isElement(node) && getLocalName(node) === \"svg\";\n}\nexport function isSVGTitleElement(node) {\n return isSVGElement(node) && getLocalName(node) === \"title\";\n}\n\n/**\n *\n * @param {Node} node -\n * @param {string} attributeName -\n * @returns {Element[]} -\n */\nexport function queryIdRefs(node, attributeName) {\n if (isElement(node) && node.hasAttribute(attributeName)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute check\n var ids = node.getAttribute(attributeName).split(\" \");\n\n // Browsers that don't support shadow DOM won't have getRootNode\n var root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n return ids.map(function (id) {\n return root.getElementById(id);\n }).filter(function (element) {\n return element !== null;\n }\n // TODO: why does this not narrow?\n );\n }\n\n return [];\n}\nexport function hasAnyConcreteRoles(node, roles) {\n if (isElement(node)) {\n return roles.indexOf(getRole(node)) !== -1;\n }\n return false;\n}\n//# sourceMappingURL=util.mjs.map","/**\n * implements https://w3c.github.io/accname/\n */\nimport ArrayFrom from \"./polyfills/array.from.mjs\";\nimport SetLike from \"./polyfills/SetLike.mjs\";\nimport { hasAnyConcreteRoles, isElement, isHTMLTableCaptionElement, isHTMLInputElement, isHTMLSelectElement, isHTMLTextAreaElement, safeWindow, isHTMLFieldSetElement, isHTMLLegendElement, isHTMLOptGroupElement, isHTMLTableElement, isHTMLSlotElement, isSVGSVGElement, isSVGTitleElement, queryIdRefs, getLocalName, presentationRoles } from \"./util.mjs\";\n\n/**\n * A string of characters where all carriage returns, newlines, tabs, and form-feeds are replaced with a single space, and multiple spaces are reduced to a single space. The string contains only character data; it does not contain any markup.\n */\n\n/**\n * interface for an options-bag where `window.getComputedStyle` can be mocked\n */\n\n/**\n *\n * @param {string} string -\n * @returns {FlatString} -\n */\nfunction asFlatString(s) {\n return s.trim().replace(/\\s\\s+/g, \" \");\n}\n\n/**\n *\n * @param node -\n * @param options - These are not optional to prevent accidentally calling it without options in `computeAccessibleName`\n * @returns {boolean} -\n */\nfunction isHidden(node, getComputedStyleImplementation) {\n if (!isElement(node)) {\n return false;\n }\n if (node.hasAttribute(\"hidden\") || node.getAttribute(\"aria-hidden\") === \"true\") {\n return true;\n }\n var style = getComputedStyleImplementation(node);\n return style.getPropertyValue(\"display\") === \"none\" || style.getPropertyValue(\"visibility\") === \"hidden\";\n}\n\n/**\n * @param {Node} node -\n * @returns {boolean} - As defined in step 2E of https://w3c.github.io/accname/#mapping_additional_nd_te\n */\nfunction isControl(node) {\n return hasAnyConcreteRoles(node, [\"button\", \"combobox\", \"listbox\", \"textbox\"]) || hasAbstractRole(node, \"range\");\n}\nfunction hasAbstractRole(node, role) {\n if (!isElement(node)) {\n return false;\n }\n switch (role) {\n case \"range\":\n return hasAnyConcreteRoles(node, [\"meter\", \"progressbar\", \"scrollbar\", \"slider\", \"spinbutton\"]);\n default:\n throw new TypeError(\"No knowledge about abstract role '\".concat(role, \"'. This is likely a bug :(\"));\n }\n}\n\n/**\n * element.querySelectorAll but also considers owned tree\n * @param element\n * @param selectors\n */\nfunction querySelectorAllSubtree(element, selectors) {\n var elements = ArrayFrom(element.querySelectorAll(selectors));\n queryIdRefs(element, \"aria-owns\").forEach(function (root) {\n // babel transpiles this assuming an iterator\n elements.push.apply(elements, ArrayFrom(root.querySelectorAll(selectors)));\n });\n return elements;\n}\nfunction querySelectedOptions(listbox) {\n if (isHTMLSelectElement(listbox)) {\n // IE11 polyfill\n return listbox.selectedOptions || querySelectorAllSubtree(listbox, \"[selected]\");\n }\n return querySelectorAllSubtree(listbox, '[aria-selected=\"true\"]');\n}\nfunction isMarkedPresentational(node) {\n return hasAnyConcreteRoles(node, presentationRoles);\n}\n\n/**\n * Elements specifically listed in html-aam\n *\n * We don't need this for `label` or `legend` elements.\n * Their implicit roles already allow \"naming from content\".\n *\n * sources:\n *\n * - https://w3c.github.io/html-aam/#table-element\n */\nfunction isNativeHostLanguageTextAlternativeElement(node) {\n return isHTMLTableCaptionElement(node);\n}\n\n/**\n * https://w3c.github.io/aria/#namefromcontent\n */\nfunction allowsNameFromContent(node) {\n return hasAnyConcreteRoles(node, [\"button\", \"cell\", \"checkbox\", \"columnheader\", \"gridcell\", \"heading\", \"label\", \"legend\", \"link\", \"menuitem\", \"menuitemcheckbox\", \"menuitemradio\", \"option\", \"radio\", \"row\", \"rowheader\", \"switch\", \"tab\", \"tooltip\", \"treeitem\"]);\n}\n\n/**\n * TODO https://github.com/eps1lon/dom-accessibility-api/issues/100\n */\nfunction isDescendantOfNativeHostLanguageTextAlternativeElement(\n// eslint-disable-next-line @typescript-eslint/no-unused-vars -- not implemented yet\nnode) {\n return false;\n}\nfunction getValueOfTextbox(element) {\n if (isHTMLInputElement(element) || isHTMLTextAreaElement(element)) {\n return element.value;\n }\n // https://github.com/eps1lon/dom-accessibility-api/issues/4\n return element.textContent || \"\";\n}\nfunction getTextualContent(declaration) {\n var content = declaration.getPropertyValue(\"content\");\n if (/^[\"'].*[\"']$/.test(content)) {\n return content.slice(1, -1);\n }\n return \"\";\n}\n\n/**\n * https://html.spec.whatwg.org/multipage/forms.html#category-label\n * TODO: form-associated custom elements\n * @param element\n */\nfunction isLabelableElement(element) {\n var localName = getLocalName(element);\n return localName === \"button\" || localName === \"input\" && element.getAttribute(\"type\") !== \"hidden\" || localName === \"meter\" || localName === \"output\" || localName === \"progress\" || localName === \"select\" || localName === \"textarea\";\n}\n\n/**\n * > [...], then the first such descendant in tree order is the label element's labeled control.\n * -- https://html.spec.whatwg.org/multipage/forms.html#labeled-control\n * @param element\n */\nfunction findLabelableElement(element) {\n if (isLabelableElement(element)) {\n return element;\n }\n var labelableElement = null;\n element.childNodes.forEach(function (childNode) {\n if (labelableElement === null && isElement(childNode)) {\n var descendantLabelableElement = findLabelableElement(childNode);\n if (descendantLabelableElement !== null) {\n labelableElement = descendantLabelableElement;\n }\n }\n });\n return labelableElement;\n}\n\n/**\n * Polyfill of HTMLLabelElement.control\n * https://html.spec.whatwg.org/multipage/forms.html#labeled-control\n * @param label\n */\nfunction getControlOfLabel(label) {\n if (label.control !== undefined) {\n return label.control;\n }\n var htmlFor = label.getAttribute(\"for\");\n if (htmlFor !== null) {\n return label.ownerDocument.getElementById(htmlFor);\n }\n return findLabelableElement(label);\n}\n\n/**\n * Polyfill of HTMLInputElement.labels\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/labels\n * @param element\n */\nfunction getLabels(element) {\n var labelsProperty = element.labels;\n if (labelsProperty === null) {\n return labelsProperty;\n }\n if (labelsProperty !== undefined) {\n return ArrayFrom(labelsProperty);\n }\n\n // polyfill\n if (!isLabelableElement(element)) {\n return null;\n }\n var document = element.ownerDocument;\n return ArrayFrom(document.querySelectorAll(\"label\")).filter(function (label) {\n return getControlOfLabel(label) === element;\n });\n}\n\n/**\n * Gets the contents of a slot used for computing the accname\n * @param slot\n */\nfunction getSlotContents(slot) {\n // Computing the accessible name for elements containing slots is not\n // currently defined in the spec. This implementation reflects the\n // behavior of NVDA 2020.2/Firefox 81 and iOS VoiceOver/Safari 13.6.\n var assignedNodes = slot.assignedNodes();\n if (assignedNodes.length === 0) {\n // if no nodes are assigned to the slot, it displays the default content\n return ArrayFrom(slot.childNodes);\n }\n return assignedNodes;\n}\n\n/**\n * implements https://w3c.github.io/accname/#mapping_additional_nd_te\n * @param root\n * @param options\n * @returns\n */\nexport function computeTextAlternative(root) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var consultedNodes = new SetLike();\n var window = safeWindow(root);\n var _options$compute = options.compute,\n compute = _options$compute === void 0 ? \"name\" : _options$compute,\n _options$computedStyl = options.computedStyleSupportsPseudoElements,\n computedStyleSupportsPseudoElements = _options$computedStyl === void 0 ? options.getComputedStyle !== undefined : _options$computedStyl,\n _options$getComputedS = options.getComputedStyle,\n getComputedStyle = _options$getComputedS === void 0 ? window.getComputedStyle.bind(window) : _options$getComputedS,\n _options$hidden = options.hidden,\n hidden = _options$hidden === void 0 ? false : _options$hidden;\n\n // 2F.i\n function computeMiscTextAlternative(node, context) {\n var accumulatedText = \"\";\n if (isElement(node) && computedStyleSupportsPseudoElements) {\n var pseudoBefore = getComputedStyle(node, \"::before\");\n var beforeContent = getTextualContent(pseudoBefore);\n accumulatedText = \"\".concat(beforeContent, \" \").concat(accumulatedText);\n }\n\n // FIXME: Including aria-owns is not defined in the spec\n // But it is required in the web-platform-test\n var childNodes = isHTMLSlotElement(node) ? getSlotContents(node) : ArrayFrom(node.childNodes).concat(queryIdRefs(node, \"aria-owns\"));\n childNodes.forEach(function (child) {\n var result = computeTextAlternative(child, {\n isEmbeddedInLabel: context.isEmbeddedInLabel,\n isReferenced: false,\n recursion: true\n });\n // TODO: Unclear why display affects delimiter\n // see https://github.com/w3c/accname/issues/3\n var display = isElement(child) ? getComputedStyle(child).getPropertyValue(\"display\") : \"inline\";\n var separator = display !== \"inline\" ? \" \" : \"\";\n // trailing separator for wpt tests\n accumulatedText += \"\".concat(separator).concat(result).concat(separator);\n });\n if (isElement(node) && computedStyleSupportsPseudoElements) {\n var pseudoAfter = getComputedStyle(node, \"::after\");\n var afterContent = getTextualContent(pseudoAfter);\n accumulatedText = \"\".concat(accumulatedText, \" \").concat(afterContent);\n }\n return accumulatedText.trim();\n }\n\n /**\n *\n * @param element\n * @param attributeName\n * @returns A string non-empty string or `null`\n */\n function useAttribute(element, attributeName) {\n var attribute = element.getAttributeNode(attributeName);\n if (attribute !== null && !consultedNodes.has(attribute) && attribute.value.trim() !== \"\") {\n consultedNodes.add(attribute);\n return attribute.value;\n }\n return null;\n }\n function computeTooltipAttributeValue(node) {\n if (!isElement(node)) {\n return null;\n }\n return useAttribute(node, \"title\");\n }\n function computeElementTextAlternative(node) {\n if (!isElement(node)) {\n return null;\n }\n\n // https://w3c.github.io/html-aam/#fieldset-and-legend-elements\n if (isHTMLFieldSetElement(node)) {\n consultedNodes.add(node);\n var children = ArrayFrom(node.childNodes);\n for (var i = 0; i < children.length; i += 1) {\n var child = children[i];\n if (isHTMLLegendElement(child)) {\n return computeTextAlternative(child, {\n isEmbeddedInLabel: false,\n isReferenced: false,\n recursion: false\n });\n }\n }\n } else if (isHTMLTableElement(node)) {\n // https://w3c.github.io/html-aam/#table-element\n consultedNodes.add(node);\n var _children = ArrayFrom(node.childNodes);\n for (var _i = 0; _i < _children.length; _i += 1) {\n var _child = _children[_i];\n if (isHTMLTableCaptionElement(_child)) {\n return computeTextAlternative(_child, {\n isEmbeddedInLabel: false,\n isReferenced: false,\n recursion: false\n });\n }\n }\n } else if (isSVGSVGElement(node)) {\n // https://www.w3.org/TR/svg-aam-1.0/\n consultedNodes.add(node);\n var _children2 = ArrayFrom(node.childNodes);\n for (var _i2 = 0; _i2 < _children2.length; _i2 += 1) {\n var _child2 = _children2[_i2];\n if (isSVGTitleElement(_child2)) {\n return _child2.textContent;\n }\n }\n return null;\n } else if (getLocalName(node) === \"img\" || getLocalName(node) === \"area\") {\n // https://w3c.github.io/html-aam/#area-element\n // https://w3c.github.io/html-aam/#img-element\n var nameFromAlt = useAttribute(node, \"alt\");\n if (nameFromAlt !== null) {\n return nameFromAlt;\n }\n } else if (isHTMLOptGroupElement(node)) {\n var nameFromLabel = useAttribute(node, \"label\");\n if (nameFromLabel !== null) {\n return nameFromLabel;\n }\n }\n if (isHTMLInputElement(node) && (node.type === \"button\" || node.type === \"submit\" || node.type === \"reset\")) {\n // https://w3c.github.io/html-aam/#input-type-text-input-type-password-input-type-search-input-type-tel-input-type-email-input-type-url-and-textarea-element-accessible-description-computation\n var nameFromValue = useAttribute(node, \"value\");\n if (nameFromValue !== null) {\n return nameFromValue;\n }\n\n // TODO: l10n\n if (node.type === \"submit\") {\n return \"Submit\";\n }\n // TODO: l10n\n if (node.type === \"reset\") {\n return \"Reset\";\n }\n }\n var labels = getLabels(node);\n if (labels !== null && labels.length !== 0) {\n consultedNodes.add(node);\n return ArrayFrom(labels).map(function (element) {\n return computeTextAlternative(element, {\n isEmbeddedInLabel: true,\n isReferenced: false,\n recursion: true\n });\n }).filter(function (label) {\n return label.length > 0;\n }).join(\" \");\n }\n\n // https://w3c.github.io/html-aam/#input-type-image-accessible-name-computation\n // TODO: wpt test consider label elements but html-aam does not mention them\n // We follow existing implementations over spec\n if (isHTMLInputElement(node) && node.type === \"image\") {\n var _nameFromAlt = useAttribute(node, \"alt\");\n if (_nameFromAlt !== null) {\n return _nameFromAlt;\n }\n var nameFromTitle = useAttribute(node, \"title\");\n if (nameFromTitle !== null) {\n return nameFromTitle;\n }\n\n // TODO: l10n\n return \"Submit Query\";\n }\n if (hasAnyConcreteRoles(node, [\"button\"])) {\n // https://www.w3.org/TR/html-aam-1.0/#button-element\n var nameFromSubTree = computeMiscTextAlternative(node, {\n isEmbeddedInLabel: false,\n isReferenced: false\n });\n if (nameFromSubTree !== \"\") {\n return nameFromSubTree;\n }\n }\n return null;\n }\n function computeTextAlternative(current, context) {\n if (consultedNodes.has(current)) {\n return \"\";\n }\n\n // 2A\n if (!hidden && isHidden(current, getComputedStyle) && !context.isReferenced) {\n consultedNodes.add(current);\n return \"\";\n }\n\n // 2B\n var labelAttributeNode = isElement(current) ? current.getAttributeNode(\"aria-labelledby\") : null;\n // TODO: Do we generally need to block query IdRefs of attributes we have already consulted?\n var labelElements = labelAttributeNode !== null && !consultedNodes.has(labelAttributeNode) ? queryIdRefs(current, \"aria-labelledby\") : [];\n if (compute === \"name\" && !context.isReferenced && labelElements.length > 0) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Can't be null here otherwise labelElements would be empty\n consultedNodes.add(labelAttributeNode);\n return labelElements.map(function (element) {\n // TODO: Chrome will consider repeated values i.e. use a node multiple times while we'll bail out in computeTextAlternative.\n return computeTextAlternative(element, {\n isEmbeddedInLabel: context.isEmbeddedInLabel,\n isReferenced: true,\n // this isn't recursion as specified, otherwise we would skip\n // `aria-label` in\n // <input id=\"myself\" aria-label=\"foo\" aria-labelledby=\"myself\"\n recursion: false\n });\n }).join(\" \");\n }\n\n // 2C\n // Changed from the spec in anticipation of https://github.com/w3c/accname/issues/64\n // spec says we should only consider skipping if we have a non-empty label\n var skipToStep2E = context.recursion && isControl(current) && compute === \"name\";\n if (!skipToStep2E) {\n var ariaLabel = (isElement(current) && current.getAttribute(\"aria-label\") || \"\").trim();\n if (ariaLabel !== \"\" && compute === \"name\") {\n consultedNodes.add(current);\n return ariaLabel;\n }\n\n // 2D\n if (!isMarkedPresentational(current)) {\n var elementTextAlternative = computeElementTextAlternative(current);\n if (elementTextAlternative !== null) {\n consultedNodes.add(current);\n return elementTextAlternative;\n }\n }\n }\n\n // special casing, cheating to make tests pass\n // https://github.com/w3c/accname/issues/67\n if (hasAnyConcreteRoles(current, [\"menu\"])) {\n consultedNodes.add(current);\n return \"\";\n }\n\n // 2E\n if (skipToStep2E || context.isEmbeddedInLabel || context.isReferenced) {\n if (hasAnyConcreteRoles(current, [\"combobox\", \"listbox\"])) {\n consultedNodes.add(current);\n var selectedOptions = querySelectedOptions(current);\n if (selectedOptions.length === 0) {\n // defined per test `name_heading_combobox`\n return isHTMLInputElement(current) ? current.value : \"\";\n }\n return ArrayFrom(selectedOptions).map(function (selectedOption) {\n return computeTextAlternative(selectedOption, {\n isEmbeddedInLabel: context.isEmbeddedInLabel,\n isReferenced: false,\n recursion: true\n });\n }).join(\" \");\n }\n if (hasAbstractRole(current, \"range\")) {\n consultedNodes.add(current);\n if (current.hasAttribute(\"aria-valuetext\")) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard\n return current.getAttribute(\"aria-valuetext\");\n }\n if (current.hasAttribute(\"aria-valuenow\")) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard\n return current.getAttribute(\"aria-valuenow\");\n }\n // Otherwise, use the value as specified by a host language attribute.\n return current.getAttribute(\"value\") || \"\";\n }\n if (hasAnyConcreteRoles(current, [\"textbox\"])) {\n consultedNodes.add(current);\n return getValueOfTextbox(current);\n }\n }\n\n // 2F: https://w3c.github.io/accname/#step2F\n if (allowsNameFromContent(current) || isElement(current) && context.isReferenced || isNativeHostLanguageTextAlternativeElement(current) || isDescendantOfNativeHostLanguageTextAlternativeElement(current)) {\n var accumulatedText2F = computeMiscTextAlternative(current, {\n isEmbeddedInLabel: context.isEmbeddedInLabel,\n isReferenced: false\n });\n if (accumulatedText2F !== \"\") {\n consultedNodes.add(current);\n return accumulatedText2F;\n }\n }\n if (current.nodeType === current.TEXT_NODE) {\n consultedNodes.add(current);\n return current.textContent || \"\";\n }\n if (context.recursion) {\n consultedNodes.add(current);\n return computeMiscTextAlternative(current, {\n isEmbeddedInLabel: context.isEmbeddedInLabel,\n isReferenced: false\n });\n }\n var tooltipAttributeValue = computeTooltipAttributeValue(current);\n if (tooltipAttributeValue !== null) {\n consultedNodes.add(current);\n return tooltipAttributeValue;\n }\n\n // TODO should this be reachable?\n consultedNodes.add(current);\n return \"\";\n }\n return asFlatString(computeTextAlternative(root, {\n isEmbeddedInLabel: false,\n // by spec computeAccessibleDescription starts with the referenced elements as roots\n isReferenced: compute === \"description\",\n recursion: false\n }));\n}\n//# sourceMappingURL=accessible-name-and-description.mjs.map","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { computeTextAlternative } from \"./accessible-name-and-description.mjs\";\nimport { queryIdRefs } from \"./util.mjs\";\n\n/**\n * @param root\n * @param options\n * @returns\n */\nexport function computeAccessibleDescription(root) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var description = queryIdRefs(root, \"aria-describedby\").map(function (element) {\n return computeTextAlternative(element, _objectSpread(_objectSpread({}, options), {}, {\n compute: \"description\"\n }));\n }).join(\" \");\n\n // TODO: Technically we need to make sure that node wasn't used for the accessible name\n // This causes `description_1.0_combobox-focusable-manual` to fail\n\n // https://w3c.github.io/aria/#aria-description\n // mentions that aria-description should only be calculated if aria-describedby didn't provide\n // a description\n if (description === \"\") {\n var ariaDescription = root.getAttribute(\"aria-description\");\n description = ariaDescription === null ? \"\" : ariaDescription;\n }\n\n // https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation\n // says for so many elements to use the `title` that we assume all elements are considered\n if (description === \"\") {\n var title = root.getAttribute(\"title\");\n description = title === null ? \"\" : title;\n }\n return description;\n}\n//# sourceMappingURL=accessible-description.mjs.map","import { computeTextAlternative } from \"./accessible-name-and-description.mjs\";\nimport { hasAnyConcreteRoles } from \"./util.mjs\";\n\n/**\n * https://w3c.github.io/aria/#namefromprohibited\n */\nfunction prohibitsNaming(node) {\n return hasAnyConcreteRoles(node, [\"caption\", \"code\", \"deletion\", \"emphasis\", \"generic\", \"insertion\", \"none\", \"paragraph\", \"presentation\", \"strong\", \"subscript\", \"superscript\"]);\n}\n\n/**\n * implements https://w3c.github.io/accname/#mapping_additional_nd_name\n * @param root\n * @param options\n * @returns\n */\nexport function computeAccessibleName(root) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (prohibitsNaming(root)) {\n return \"\";\n }\n return computeTextAlternative(root, options);\n}\n//# sourceMappingURL=accessible-name.mjs.map","'use strict';\n\nconst stringReplaceAll = (string, substring, replacer) => {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.substr(endIndex, index - endIndex) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nconst stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.substr(endIndex);\n\treturn returnValue;\n};\n\nmodule.exports = {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n};\n","'use strict';\nconst TEMPLATE_REGEX = /(?:\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.))|(?:\\{(~)?(\\w+(?:\\([^)]*\\))?(?:\\.\\w+(?:\\([^)]*\\))?)*)(?:[ \\t]|(?=\\r?\\n)))|(\\})|((?:.|[\\r\\n\\f])+?)/gi;\nconst STYLE_REGEX = /(?:^|\\.)(\\w+)(?:\\(([^)]*)\\))?/g;\nconst STRING_REGEX = /^(['\"])((?:\\\\.|(?!\\1)[^\\\\])*)\\1$/;\nconst ESCAPE_REGEX = /\\\\(u(?:[a-f\\d]{4}|\\{[a-f\\d]{1,6}\\})|x[a-f\\d]{2}|.)|([^\\\\])/gi;\n\nconst ESCAPES = new Map([\n\t['n', '\\n'],\n\t['r', '\\r'],\n\t['t', '\\t'],\n\t['b', '\\b'],\n\t['f', '\\f'],\n\t['v', '\\v'],\n\t['0', '\\0'],\n\t['\\\\', '\\\\'],\n\t['e', '\\u001B'],\n\t['a', '\\u0007']\n]);\n\nfunction unescape(c) {\n\tconst u = c[0] === 'u';\n\tconst bracket = c[1] === '{';\n\n\tif ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {\n\t\treturn String.fromCharCode(parseInt(c.slice(1), 16));\n\t}\n\n\tif (u && bracket) {\n\t\treturn String.fromCodePoint(parseInt(c.slice(2, -1), 16));\n\t}\n\n\treturn ESCAPES.get(c) || c;\n}\n\nfunction parseArguments(name, arguments_) {\n\tconst results = [];\n\tconst chunks = arguments_.trim().split(/\\s*,\\s*/g);\n\tlet matches;\n\n\tfor (const chunk of chunks) {\n\t\tconst number = Number(chunk);\n\t\tif (!Number.isNaN(number)) {\n\t\t\tresults.push(number);\n\t\t} else if ((matches = chunk.match(STRING_REGEX))) {\n\t\t\tresults.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));\n\t\t} else {\n\t\t\tthrow new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction parseStyle(style) {\n\tSTYLE_REGEX.lastIndex = 0;\n\n\tconst results = [];\n\tlet matches;\n\n\twhile ((matches = STYLE_REGEX.exec(style)) !== null) {\n\t\tconst name = matches[1];\n\n\t\tif (matches[2]) {\n\t\t\tconst args = parseArguments(name, matches[2]);\n\t\t\tresults.push([name].concat(args));\n\t\t} else {\n\t\t\tresults.push([name]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\nfunction buildStyle(chalk, styles) {\n\tconst enabled = {};\n\n\tfor (const layer of styles) {\n\t\tfor (const style of layer.styles) {\n\t\t\tenabled[style[0]] = layer.inverse ? null : style.slice(1);\n\t\t}\n\t}\n\n\tlet current = chalk;\n\tfor (const [styleName, styles] of Object.entries(enabled)) {\n\t\tif (!Array.isArray(styles)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!(styleName in current)) {\n\t\t\tthrow new Error(`Unknown Chalk style: ${styleName}`);\n\t\t}\n\n\t\tcurrent = styles.length > 0 ? current[styleName](...styles) : current[styleName];\n\t}\n\n\treturn current;\n}\n\nmodule.exports = (chalk, temporary) => {\n\tconst styles = [];\n\tconst chunks = [];\n\tlet chunk = [];\n\n\t// eslint-disable-next-line max-params\n\ttemporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {\n\t\tif (escapeCharacter) {\n\t\t\tchunk.push(unescape(escapeCharacter));\n\t\t} else if (style) {\n\t\t\tconst string = chunk.join('');\n\t\t\tchunk = [];\n\t\t\tchunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));\n\t\t\tstyles.push({inverse, styles: parseStyle(style)});\n\t\t} else if (close) {\n\t\t\tif (styles.length === 0) {\n\t\t\t\tthrow new Error('Found extraneous } in Chalk template literal');\n\t\t\t}\n\n\t\t\tchunks.push(buildStyle(chalk, styles)(chunk.join('')));\n\t\t\tchunk = [];\n\t\t\tstyles.pop();\n\t\t} else {\n\t\t\tchunk.push(character);\n\t\t}\n\t});\n\n\tchunks.push(chunk.join(''));\n\n\tif (styles.length > 0) {\n\t\tconst errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\\`}\\`)`;\n\t\tthrow new Error(errMsg);\n\t}\n\n\treturn chunks.join('');\n};\n","'use strict';\nconst ansiStyles = require('ansi-styles');\nconst {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');\nconst {\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex\n} = require('./util');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m'\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level > 3 || options.level < 0) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nclass ChalkClass {\n\tconstructor(options) {\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = {};\n\tapplyOptions(chalk, options);\n\n\tchalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);\n\n\tObject.setPrototypeOf(chalk, Chalk.prototype);\n\tObject.setPrototypeOf(chalk.template, chalk);\n\n\tchalk.template.constructor = () => {\n\t\tthrow new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');\n\t};\n\n\tchalk.template.Instance = ChalkClass;\n\n\treturn chalk.template;\n};\n\nfunction Chalk(options) {\n\treturn chalkFactory(options);\n}\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t}\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this._styler, true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t}\n};\n\nconst usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nfor (const model of usedModels) {\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);\n\t\t\t\treturn createBuilder(this, styler, this._isEmpty);\n\t\t\t};\n\t\t}\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this._generator.level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis._generator.level = level;\n\t\t}\n\t}\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\tconst builder = (...arguments_) => {\n\t\t// Single argument is hot path, implicit coercion is faster than anything\n\t\t// eslint-disable-next-line no-implicit-coercion\n\t\treturn applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\t};\n\n\t// `__proto__` is used because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tbuilder.__proto__ = proto; // eslint-disable-line no-proto\n\n\tbuilder._generator = self;\n\tbuilder._styler = _styler;\n\tbuilder._isEmpty = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self._isEmpty ? '' : string;\n\t}\n\n\tlet styler = self._styler;\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.indexOf('\\u001B') !== -1) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nlet template;\nconst chalkTag = (chalk, ...strings) => {\n\tconst [firstString] = strings;\n\n\tif (!Array.isArray(firstString)) {\n\t\t// If chalk() was called by itself or with a string,\n\t\t// return the string itself as a string.\n\t\treturn strings.join(' ');\n\t}\n\n\tconst arguments_ = strings.slice(1);\n\tconst parts = [firstString.raw[0]];\n\n\tfor (let i = 1; i < firstString.length; i++) {\n\t\tparts.push(\n\t\t\tString(arguments_[i - 1]).replace(/[{}\\\\]/g, '\\\\$&'),\n\t\t\tString(firstString.raw[i])\n\t\t);\n\t}\n\n\tif (template === undefined) {\n\t\ttemplate = require('./templates');\n\t}\n\n\treturn template(chalk, parts.join(''));\n};\n\nObject.defineProperties(Chalk.prototype, styles);\n\nconst chalk = Chalk(); // eslint-disable-line new-cap\nchalk.supportsColor = stdoutColor;\nchalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap\nchalk.stderr.supportsColor = stderrColor;\n\n// For TypeScript\nchalk.Level = {\n\tNone: 0,\n\tBasic: 1,\n\tAnsi256: 2,\n\tTrueColor: 3,\n\t0: 'None',\n\t1: 'Basic',\n\t2: 'Ansi256',\n\t3: 'TrueColor'\n};\n\nmodule.exports = chalk;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\nfunction isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n}\n\nmodule.exports = isEqualWith;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nmodule.exports = uniq;\n","/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n;(function(root, factory) {\n\t// https://github.com/umdjs/umd/blob/master/returnExports.js\n\tif (typeof exports == 'object') {\n\t\t// For Node.js.\n\t\tmodule.exports = factory(root);\n\t} else if (typeof define == 'function' && define.amd) {\n\t\t// For AMD. Register as an anonymous module.\n\t\tdefine([], factory.bind(root, root));\n\t} else {\n\t\t// For browser globals (not exposing the function separately).\n\t\tfactory(root);\n\t}\n}(typeof global != 'undefined' ? global : this, function(root) {\n\n\tif (root.CSS && root.CSS.escape) {\n\t\treturn root.CSS.escape;\n\t}\n\n\t// https://drafts.csswg.org/cssom/#serialize-an-identifier\n\tvar cssEscape = function(value) {\n\t\tif (arguments.length == 0) {\n\t\t\tthrow new TypeError('`CSS.escape` requires an argument.');\n\t\t}\n\t\tvar string = String(value);\n\t\tvar length = string.length;\n\t\tvar index = -1;\n\t\tvar codeUnit;\n\t\tvar result = '';\n\t\tvar firstCodeUnit = string.charCodeAt(0);\n\t\twhile (++index < length) {\n\t\t\tcodeUnit = string.charCodeAt(index);\n\t\t\t// Note: there’s no need to special-case astral symbols, surrogate\n\t\t\t// pairs, or lone surrogates.\n\n\t\t\t// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n\t\t\t// (U+FFFD).\n\t\t\tif (codeUnit == 0x0000) {\n\t\t\t\tresult += '\\uFFFD';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n\t\t\t\t// U+007F, […]\n\t\t\t\t(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n\t\t\t\t// If the character is the first character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039), […]\n\t\t\t\t(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n\t\t\t\t// If the character is the second character and is in the range [0-9]\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n\t\t\t\t(\n\t\t\t\t\tindex == 1 &&\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n\t\t\t\t\tfirstCodeUnit == 0x002D\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n\t\t\t\tresult += '\\\\' + codeUnit.toString(16) + ' ';\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// If the character is the first character and is a `-` (U+002D), and\n\t\t\t\t// there is no second character, […]\n\t\t\t\tindex == 0 &&\n\t\t\t\tlength == 1 &&\n\t\t\t\tcodeUnit == 0x002D\n\t\t\t) {\n\t\t\t\tresult += '\\\\' + string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If the character is not handled by one of the above rules and is\n\t\t\t// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n\t\t\t// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n\t\t\t// U+005A), or [a-z] (U+0061 to U+007A), […]\n\t\t\tif (\n\t\t\t\tcodeUnit >= 0x0080 ||\n\t\t\t\tcodeUnit == 0x002D ||\n\t\t\t\tcodeUnit == 0x005F ||\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\n\t\t\t) {\n\t\t\t\t// the character itself\n\t\t\t\tresult += string.charAt(index);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Otherwise, the escaped character.\n\t\t\t// https://drafts.csswg.org/cssom/#escape-a-character\n\t\t\tresult += '\\\\' + string.charAt(index);\n\n\t\t}\n\t\treturn result;\n\t};\n\n\tif (!root.CSS) {\n\t\troot.CSS = {};\n\t}\n\n\troot.CSS.escape = cssEscape;\n\treturn cssEscape;\n\n}));\n","import redent from 'redent';\nimport isEqual from 'lodash/isEqual.js';\nimport { parse } from '@adobe/css-tools';\nimport { computeAccessibleDescription, computeAccessibleName } from 'dom-accessibility-api';\nimport { elementRoles, roles } from 'aria-query';\nimport chalk from 'chalk';\nimport isEqualWith from 'lodash/isEqualWith.js';\nimport uniq from 'lodash/uniq.js';\nimport escape from 'css.escape';\n\nclass GenericTypeError extends Error {\n constructor(expectedString, received, matcherFn, context) {\n super();\n\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, matcherFn);\n }\n let withType = '';\n try {\n withType = context.utils.printWithType(\n 'Received',\n received,\n context.utils.printReceived,\n );\n } catch (e) {\n // Can throw for Document:\n // https://github.com/jsdom/jsdom/issues/2304\n }\n this.message = [\n context.utils.matcherHint(\n `${context.isNot ? '.not' : ''}.${matcherFn.name}`,\n 'received',\n '',\n ),\n '',\n // eslint-disable-next-line new-cap\n `${context.utils.RECEIVED_COLOR(\n 'received',\n )} value must ${expectedString}.`,\n withType,\n ].join('\\n');\n }\n}\n\nclass HtmlElementTypeError extends GenericTypeError {\n constructor(...args) {\n super('be an HTMLElement or an SVGElement', ...args);\n }\n}\n\nclass NodeTypeError extends GenericTypeError {\n constructor(...args) {\n super('be a Node', ...args);\n }\n}\n\nfunction checkHasWindow(htmlElement, ErrorClass, ...args) {\n if (\n !htmlElement ||\n !htmlElement.ownerDocument ||\n !htmlElement.ownerDocument.defaultView\n ) {\n throw new ErrorClass(htmlElement, ...args)\n }\n}\n\nfunction checkNode(node, ...args) {\n checkHasWindow(node, NodeTypeError, ...args);\n const window = node.ownerDocument.defaultView;\n\n if (!(node instanceof window.Node)) {\n throw new NodeTypeError(node, ...args)\n }\n}\n\nfunction checkHtmlElement(htmlElement, ...args) {\n checkHasWindow(htmlElement, HtmlElementTypeError, ...args);\n const window = htmlElement.ownerDocument.defaultView;\n\n if (\n !(htmlElement instanceof window.HTMLElement) &&\n !(htmlElement instanceof window.SVGElement)\n ) {\n throw new HtmlElementTypeError(htmlElement, ...args)\n }\n}\n\nclass InvalidCSSError extends Error {\n constructor(received, matcherFn, context) {\n super();\n\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, matcherFn);\n }\n this.message = [\n received.message,\n '',\n // eslint-disable-next-line new-cap\n context.utils.RECEIVED_COLOR(`Failing css:`),\n // eslint-disable-next-line new-cap\n context.utils.RECEIVED_COLOR(`${received.css}`),\n ].join('\\n');\n }\n}\n\nfunction parseCSS(css, ...args) {\n const ast = parse(`selector { ${css} }`, {silent: true}).stylesheet;\n\n if (ast.parsingErrors && ast.parsingErrors.length > 0) {\n const {reason, line} = ast.parsingErrors[0];\n\n throw new InvalidCSSError(\n {\n css,\n message: `Syntax error parsing expected css: ${reason} on line: ${line}`,\n },\n ...args,\n )\n }\n\n const parsedRules = ast.rules[0].declarations\n .filter(d => d.type === 'declaration')\n .reduce(\n (obj, {property, value}) => Object.assign(obj, {[property]: value}),\n {},\n );\n return parsedRules\n}\n\nfunction display(context, value) {\n return typeof value === 'string' ? value : context.utils.stringify(value)\n}\n\nfunction getMessage(\n context,\n matcher,\n expectedLabel,\n expectedValue,\n receivedLabel,\n receivedValue,\n) {\n return [\n `${matcher}\\n`,\n // eslint-disable-next-line new-cap\n `${expectedLabel}:\\n${context.utils.EXPECTED_COLOR(\n redent(display(context, expectedValue), 2),\n )}`,\n // eslint-disable-next-line new-cap\n `${receivedLabel}:\\n${context.utils.RECEIVED_COLOR(\n redent(display(context, receivedValue), 2),\n )}`,\n ].join('\\n')\n}\n\nfunction matches(textToMatch, matcher) {\n if (matcher instanceof RegExp) {\n return matcher.test(textToMatch)\n } else {\n return textToMatch.includes(String(matcher))\n }\n}\n\nfunction deprecate(name, replacementText) {\n // Notify user that they are using deprecated functionality.\n // eslint-disable-next-line no-console\n console.warn(\n `Warning: ${name} has been deprecated and will be removed in future updates.`,\n replacementText,\n );\n}\n\nfunction normalize(text) {\n return text.replace(/\\s+/g, ' ').trim()\n}\n\nfunction getTag(element) {\n return element.tagName && element.tagName.toLowerCase()\n}\n\nfunction getSelectValue({multiple, options}) {\n const selectedOptions = [...options].filter(option => option.selected);\n\n if (multiple) {\n return [...selectedOptions].map(opt => opt.value)\n }\n /* istanbul ignore if */\n if (selectedOptions.length === 0) {\n return undefined // Couldn't make this happen, but just in case\n }\n return selectedOptions[0].value\n}\n\nfunction getInputValue(inputElement) {\n switch (inputElement.type) {\n case 'number':\n return inputElement.value === '' ? null : Number(inputElement.value)\n case 'checkbox':\n return inputElement.checked\n default:\n return inputElement.value\n }\n}\n\nfunction getSingleElementValue(element) {\n /* istanbul ignore if */\n if (!element) {\n return undefined\n }\n switch (element.tagName.toLowerCase()) {\n case 'input':\n return getInputValue(element)\n case 'select':\n return getSelectValue(element)\n default:\n return element.value\n }\n}\n\nfunction compareArraysAsSet(a, b) {\n if (Array.isArray(a) && Array.isArray(b)) {\n return isEqual(new Set(a), new Set(b))\n }\n return undefined\n}\n\nfunction toSentence(\n array,\n {wordConnector = ', ', lastWordConnector = ' and '} = {},\n) {\n return [array.slice(0, -1).join(wordConnector), array[array.length - 1]].join(\n array.length > 1 ? lastWordConnector : '',\n )\n}\n\nfunction toBeInTheDOM(element, container) {\n deprecate(\n 'toBeInTheDOM',\n 'Please use toBeInTheDocument for searching the entire document and toContainElement for searching a specific container.',\n );\n\n if (element) {\n checkHtmlElement(element, toBeInTheDOM, this);\n }\n\n if (container) {\n checkHtmlElement(container, toBeInTheDOM, this);\n }\n\n return {\n pass: container ? container.contains(element) : !!element,\n message: () => {\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeInTheDOM`,\n 'element',\n '',\n ),\n '',\n 'Received:',\n ` ${this.utils.printReceived(\n element ? element.cloneNode(false) : element,\n )}`,\n ].join('\\n')\n },\n }\n}\n\nfunction toBeInTheDocument(element) {\n if (element !== null || !this.isNot) {\n checkHtmlElement(element, toBeInTheDocument, this);\n }\n\n const pass =\n element === null\n ? false\n : element.ownerDocument === element.getRootNode({composed: true});\n\n const errorFound = () => {\n return `expected document not to contain element, found ${this.utils.stringify(\n element.cloneNode(true),\n )} instead`\n };\n const errorNotFound = () => {\n return `element could not be found in the document`\n };\n\n return {\n pass,\n message: () => {\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeInTheDocument`,\n 'element',\n '',\n ),\n '',\n // eslint-disable-next-line new-cap\n this.utils.RECEIVED_COLOR(this.isNot ? errorFound() : errorNotFound()),\n ].join('\\n')\n },\n }\n}\n\nfunction toBeEmpty(element) {\n deprecate(\n 'toBeEmpty',\n 'Please use instead toBeEmptyDOMElement for finding empty nodes in the DOM.',\n );\n checkHtmlElement(element, toBeEmpty, this);\n\n return {\n pass: element.innerHTML === '',\n message: () => {\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeEmpty`,\n 'element',\n '',\n ),\n '',\n 'Received:',\n ` ${this.utils.printReceived(element.innerHTML)}`,\n ].join('\\n')\n },\n }\n}\n\nfunction toBeEmptyDOMElement(element) {\n checkHtmlElement(element, toBeEmptyDOMElement, this);\n\n return {\n pass: isEmptyElement(element),\n message: () => {\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeEmptyDOMElement`,\n 'element',\n '',\n ),\n '',\n 'Received:',\n ` ${this.utils.printReceived(element.innerHTML)}`,\n ].join('\\n')\n },\n }\n}\n\n/**\n * Identifies if an element doesn't contain child nodes (excluding comments)\n * ℹ Node.COMMENT_NODE can't be used because of the following issue \n * https://github.com/jsdom/jsdom/issues/2220\n *\n * @param {*} element an HtmlElement or SVGElement\n * @return {*} true if the element only contains comments or none\n */\nfunction isEmptyElement(element){\n const nonCommentChildNodes = [...element.childNodes].filter(node => node.nodeType !== 8);\n return nonCommentChildNodes.length === 0;\n}\n\nfunction toContainElement(container, element) {\n checkHtmlElement(container, toContainElement, this);\n\n if (element !== null) {\n checkHtmlElement(element, toContainElement, this);\n }\n\n return {\n pass: container.contains(element),\n message: () => {\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toContainElement`,\n 'element',\n 'element',\n ),\n '',\n // eslint-disable-next-line new-cap\n this.utils.RECEIVED_COLOR(`${this.utils.stringify(\n container.cloneNode(false),\n )} ${\n this.isNot ? 'contains:' : 'does not contain:'\n } ${this.utils.stringify(element ? element.cloneNode(false) : element)}\n `),\n ].join('\\n')\n },\n }\n}\n\nfunction getNormalizedHtml(container, htmlText) {\n const div = container.ownerDocument.createElement('div');\n div.innerHTML = htmlText;\n return div.innerHTML\n}\n\nfunction toContainHTML(container, htmlText) {\n checkHtmlElement(container, toContainHTML, this);\n\n if (typeof htmlText !== 'string') {\n throw new Error(`.toContainHTML() expects a string value, got ${htmlText}`)\n }\n\n return {\n pass: container.outerHTML.includes(getNormalizedHtml(container, htmlText)),\n message: () => {\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toContainHTML`,\n 'element',\n '',\n ),\n 'Expected:',\n // eslint-disable-next-line new-cap\n ` ${this.utils.EXPECTED_COLOR(htmlText)}`,\n 'Received:',\n ` ${this.utils.printReceived(container.cloneNode(true))}`,\n ].join('\\n')\n },\n }\n}\n\nfunction toHaveTextContent(\n node,\n checkWith,\n options = {normalizeWhitespace: true},\n) {\n checkNode(node, toHaveTextContent, this);\n\n const textContent = options.normalizeWhitespace\n ? normalize(node.textContent)\n : node.textContent.replace(/\\u00a0/g, ' '); // Replace with normal spaces\n\n const checkingWithEmptyString = textContent !== '' && checkWith === '';\n\n return {\n pass: !checkingWithEmptyString && matches(textContent, checkWith),\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveTextContent`,\n 'element',\n '',\n ),\n checkingWithEmptyString\n ? `Checking with empty string will always match, use .toBeEmptyDOMElement() instead`\n : `Expected element ${to} have text content`,\n checkWith,\n 'Received',\n textContent,\n )\n },\n }\n}\n\nfunction toHaveAccessibleDescription(\n htmlElement,\n expectedAccessibleDescription,\n) {\n checkHtmlElement(htmlElement, toHaveAccessibleDescription, this);\n const actualAccessibleDescription = computeAccessibleDescription(htmlElement);\n const missingExpectedValue = arguments.length === 1;\n\n let pass = false;\n if (missingExpectedValue) {\n // When called without an expected value we only want to validate that the element has an\n // accessible description, whatever it may be.\n pass = actualAccessibleDescription !== '';\n } else {\n pass =\n expectedAccessibleDescription instanceof RegExp\n ? expectedAccessibleDescription.test(actualAccessibleDescription)\n : this.equals(\n actualAccessibleDescription,\n expectedAccessibleDescription,\n );\n }\n\n return {\n pass,\n\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.${toHaveAccessibleDescription.name}`,\n 'element',\n '',\n ),\n `Expected element ${to} have accessible description`,\n expectedAccessibleDescription,\n 'Received',\n actualAccessibleDescription,\n )\n },\n }\n}\n\nconst ariaInvalidName = 'aria-invalid';\nconst validStates = ['false'];\n\n// See `aria-errormessage` spec at https://www.w3.org/TR/wai-aria-1.2/#aria-errormessage\nfunction toHaveAccessibleErrorMessage(\n htmlElement,\n expectedAccessibleErrorMessage,\n) {\n checkHtmlElement(htmlElement, toHaveAccessibleErrorMessage, this);\n const to = this.isNot ? 'not to' : 'to';\n const method = this.isNot\n ? '.not.toHaveAccessibleErrorMessage'\n : '.toHaveAccessibleErrorMessage';\n\n // Enforce Valid Id\n const errormessageId = htmlElement.getAttribute('aria-errormessage');\n const errormessageIdInvalid = !!errormessageId && /\\s+/.test(errormessageId);\n\n if (errormessageIdInvalid) {\n return {\n pass: false,\n message: () => {\n return getMessage(\n this,\n this.utils.matcherHint(method, 'element'),\n \"Expected element's `aria-errormessage` attribute to be empty or a single, valid ID\",\n '',\n 'Received',\n `aria-errormessage=\"${errormessageId}\"`,\n )\n },\n }\n }\n\n // See `aria-invalid` spec at https://www.w3.org/TR/wai-aria-1.2/#aria-invalid\n const ariaInvalidVal = htmlElement.getAttribute(ariaInvalidName);\n const fieldValid =\n !htmlElement.hasAttribute(ariaInvalidName) ||\n validStates.includes(ariaInvalidVal);\n\n // Enforce Valid `aria-invalid` Attribute\n if (fieldValid) {\n return {\n pass: false,\n message: () => {\n return getMessage(\n this,\n this.utils.matcherHint(method, 'element'),\n 'Expected element to be marked as invalid with attribute',\n `${ariaInvalidName}=\"${String(true)}\"`,\n 'Received',\n htmlElement.hasAttribute('aria-invalid')\n ? `${ariaInvalidName}=\"${htmlElement.getAttribute(ariaInvalidName)}`\n : null,\n )\n },\n }\n }\n\n const error = normalize(\n htmlElement.ownerDocument.getElementById(errormessageId)?.textContent ?? '',\n );\n\n return {\n pass:\n expectedAccessibleErrorMessage === undefined\n ? Boolean(error)\n : expectedAccessibleErrorMessage instanceof RegExp\n ? expectedAccessibleErrorMessage.test(error)\n : this.equals(error, expectedAccessibleErrorMessage),\n\n message: () => {\n return getMessage(\n this,\n this.utils.matcherHint(method, 'element'),\n `Expected element ${to} have accessible error message`,\n expectedAccessibleErrorMessage ?? '',\n 'Received',\n error,\n )\n },\n }\n}\n\nconst elementRoleList = buildElementRoleList(elementRoles);\n\nfunction toHaveRole(htmlElement, expectedRole) {\n checkHtmlElement(htmlElement, toHaveRole, this);\n\n const actualRoles = getExplicitOrImplicitRoles(htmlElement);\n const pass = actualRoles.some(el => el === expectedRole);\n\n return {\n pass,\n\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.${toHaveRole.name}`,\n 'element',\n '',\n ),\n `Expected element ${to} have role`,\n expectedRole,\n 'Received',\n actualRoles.join(', '),\n )\n },\n }\n}\n\nfunction getExplicitOrImplicitRoles(htmlElement) {\n const hasExplicitRole = htmlElement.hasAttribute('role');\n\n if (hasExplicitRole) {\n const roleValue = htmlElement.getAttribute('role');\n\n // Handle fallback roles, such as role=\"switch button\"\n // testing-library gates this behind the `queryFallbacks` flag; it is\n // unclear why, but it makes sense to support this pattern out of the box\n // https://testing-library.com/docs/queries/byrole/#queryfallbacks\n return roleValue.split(' ').filter(Boolean)\n }\n\n const implicitRoles = getImplicitAriaRoles(htmlElement);\n\n return implicitRoles\n}\n\nfunction getImplicitAriaRoles(currentNode) {\n for (const {match, roles} of elementRoleList) {\n if (match(currentNode)) {\n return [...roles]\n }\n }\n\n /* istanbul ignore next */\n return [] // this does not get reached in practice, since elements have at least a 'generic' role\n}\n\n/**\n * Transform the roles map (with required attributes and constraints) to a list\n * of roles. Each item in the list has functions to match an element against it.\n *\n * Essentially copied over from [dom-testing-library's\n * helpers](https://github.com/testing-library/dom-testing-library/blob/bd04cf95a1ed85a2238f7dfc1a77d5d16b4f59dc/src/role-helpers.js#L80)\n *\n * TODO: If we are truly just copying over stuff, would it make sense to move\n * this to a separate package?\n *\n * TODO: This technique relies on CSS selectors; are those consistently\n * available in all jest-dom environments? Why do other matchers in this package\n * not use them like this?\n */\nfunction buildElementRoleList(elementRolesMap) {\n function makeElementSelector({name, attributes}) {\n return `${name}${attributes\n .map(({name: attributeName, value, constraints = []}) => {\n const shouldNotExist = constraints.indexOf('undefined') !== -1;\n if (shouldNotExist) {\n return `:not([${attributeName}])`\n } else if (value) {\n return `[${attributeName}=\"${value}\"]`\n } else {\n return `[${attributeName}]`\n }\n })\n .join('')}`\n }\n\n function getSelectorSpecificity({attributes = []}) {\n return attributes.length\n }\n\n function bySelectorSpecificity(\n {specificity: leftSpecificity},\n {specificity: rightSpecificity},\n ) {\n return rightSpecificity - leftSpecificity\n }\n\n function match(element) {\n let {attributes = []} = element;\n\n // https://github.com/testing-library/dom-testing-library/issues/814\n const typeTextIndex = attributes.findIndex(\n attribute =>\n attribute.value &&\n attribute.name === 'type' &&\n attribute.value === 'text',\n );\n\n if (typeTextIndex >= 0) {\n // not using splice to not mutate the attributes array\n attributes = [\n ...attributes.slice(0, typeTextIndex),\n ...attributes.slice(typeTextIndex + 1),\n ];\n }\n\n const selector = makeElementSelector({...element, attributes});\n\n return node => {\n if (typeTextIndex >= 0 && node.type !== 'text') {\n return false\n }\n\n return node.matches(selector)\n }\n }\n\n let result = [];\n\n for (const [element, roles] of elementRolesMap.entries()) {\n result = [\n ...result,\n {\n match: match(element),\n roles: Array.from(roles),\n specificity: getSelectorSpecificity(element),\n },\n ];\n }\n\n return result.sort(bySelectorSpecificity)\n}\n\nfunction toHaveAccessibleName(htmlElement, expectedAccessibleName) {\n checkHtmlElement(htmlElement, toHaveAccessibleName, this);\n const actualAccessibleName = computeAccessibleName(htmlElement);\n const missingExpectedValue = arguments.length === 1;\n\n let pass = false;\n if (missingExpectedValue) {\n // When called without an expected value we only want to validate that the element has an\n // accessible name, whatever it may be.\n pass = actualAccessibleName !== '';\n } else {\n pass =\n expectedAccessibleName instanceof RegExp\n ? expectedAccessibleName.test(actualAccessibleName)\n : this.equals(actualAccessibleName, expectedAccessibleName);\n }\n\n return {\n pass,\n\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.${toHaveAccessibleName.name}`,\n 'element',\n '',\n ),\n `Expected element ${to} have accessible name`,\n expectedAccessibleName,\n 'Received',\n actualAccessibleName,\n )\n },\n }\n}\n\nfunction printAttribute(stringify, name, value) {\n return value === undefined ? name : `${name}=${stringify(value)}`\n}\n\nfunction getAttributeComment(stringify, name, value) {\n return value === undefined\n ? `element.hasAttribute(${stringify(name)})`\n : `element.getAttribute(${stringify(name)}) === ${stringify(value)}`\n}\n\nfunction toHaveAttribute(htmlElement, name, expectedValue) {\n checkHtmlElement(htmlElement, toHaveAttribute, this);\n const isExpectedValuePresent = expectedValue !== undefined;\n const hasAttribute = htmlElement.hasAttribute(name);\n const receivedValue = htmlElement.getAttribute(name);\n return {\n pass: isExpectedValuePresent\n ? hasAttribute && this.equals(receivedValue, expectedValue)\n : hasAttribute,\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n const receivedAttribute = hasAttribute\n ? printAttribute(this.utils.stringify, name, receivedValue)\n : null;\n const matcher = this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveAttribute`,\n 'element',\n this.utils.printExpected(name),\n {\n secondArgument: isExpectedValuePresent\n ? this.utils.printExpected(expectedValue)\n : undefined,\n comment: getAttributeComment(\n this.utils.stringify,\n name,\n expectedValue,\n ),\n },\n );\n return getMessage(\n this,\n matcher,\n `Expected the element ${to} have attribute`,\n printAttribute(this.utils.stringify, name, expectedValue),\n 'Received',\n receivedAttribute,\n )\n },\n }\n}\n\nfunction getExpectedClassNamesAndOptions(params) {\n const lastParam = params.pop();\n let expectedClassNames, options;\n\n if (typeof lastParam === 'object' && !(lastParam instanceof RegExp)) {\n expectedClassNames = params;\n options = lastParam;\n } else {\n expectedClassNames = params.concat(lastParam);\n options = {exact: false};\n }\n return {expectedClassNames, options}\n}\n\nfunction splitClassNames(str) {\n if (!str) return []\n return str.split(/\\s+/).filter(s => s.length > 0)\n}\n\nfunction isSubset$1(subset, superset) {\n return subset.every(strOrRegexp =>\n typeof strOrRegexp === 'string'\n ? superset.includes(strOrRegexp)\n : superset.some(className => strOrRegexp.test(className)),\n )\n}\n\nfunction toHaveClass(htmlElement, ...params) {\n checkHtmlElement(htmlElement, toHaveClass, this);\n const {expectedClassNames, options} = getExpectedClassNamesAndOptions(params);\n\n const received = splitClassNames(htmlElement.getAttribute('class'));\n const expected = expectedClassNames.reduce(\n (acc, className) =>\n acc.concat(\n typeof className === 'string' || !className\n ? splitClassNames(className)\n : className,\n ),\n [],\n );\n\n const hasRegExp = expected.some(className => className instanceof RegExp);\n if (options.exact && hasRegExp) {\n throw new Error('Exact option does not support RegExp expected class names')\n }\n\n if (options.exact) {\n return {\n pass: isSubset$1(expected, received) && expected.length === received.length,\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveClass`,\n 'element',\n this.utils.printExpected(expected.join(' ')),\n ),\n `Expected the element ${to} have EXACTLY defined classes`,\n expected.join(' '),\n 'Received',\n received.join(' '),\n )\n },\n }\n }\n\n return expected.length > 0\n ? {\n pass: isSubset$1(expected, received),\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveClass`,\n 'element',\n this.utils.printExpected(expected.join(' ')),\n ),\n `Expected the element ${to} have class`,\n expected.join(' '),\n 'Received',\n received.join(' '),\n )\n },\n }\n : {\n pass: this.isNot ? received.length > 0 : false,\n message: () =>\n this.isNot\n ? getMessage(\n this,\n this.utils.matcherHint('.not.toHaveClass', 'element', ''),\n 'Expected the element to have classes',\n '(none)',\n 'Received',\n received.join(' '),\n )\n : [\n this.utils.matcherHint(`.toHaveClass`, 'element'),\n 'At least one expected class must be provided.',\n ].join('\\n'),\n }\n}\n\nfunction getStyleDeclaration(document, css) {\n const styles = {};\n\n // The next block is necessary to normalize colors\n const copy = document.createElement('div');\n Object.keys(css).forEach(property => {\n copy.style[property] = css[property];\n styles[property] = copy.style[property];\n });\n\n return styles\n}\n\nfunction isSubset(styles, computedStyle) {\n return (\n !!Object.keys(styles).length &&\n Object.entries(styles).every(([prop, value]) => {\n const isCustomProperty = prop.startsWith('--');\n const spellingVariants = [prop];\n if (!isCustomProperty) spellingVariants.push(prop.toLowerCase());\n\n return spellingVariants.some(\n name =>\n computedStyle[name] === value ||\n computedStyle.getPropertyValue(name) === value,\n )\n })\n )\n}\n\nfunction printoutStyles(styles) {\n return Object.keys(styles)\n .sort()\n .map(prop => `${prop}: ${styles[prop]};`)\n .join('\\n')\n}\n\n// Highlights only style rules that were expected but were not found in the\n// received computed styles\nfunction expectedDiff(diffFn, expected, computedStyles) {\n const received = Array.from(computedStyles)\n .filter(prop => expected[prop] !== undefined)\n .reduce(\n (obj, prop) =>\n Object.assign(obj, {[prop]: computedStyles.getPropertyValue(prop)}),\n {},\n );\n const diffOutput = diffFn(printoutStyles(expected), printoutStyles(received));\n // Remove the \"+ Received\" annotation because this is a one-way diff\n return diffOutput.replace(`${chalk.red('+ Received')}\\n`, '')\n}\n\nfunction toHaveStyle(htmlElement, css) {\n checkHtmlElement(htmlElement, toHaveStyle, this);\n const parsedCSS =\n typeof css === 'object' ? css : parseCSS(css, toHaveStyle, this);\n const {getComputedStyle} = htmlElement.ownerDocument.defaultView;\n\n const expected = getStyleDeclaration(htmlElement.ownerDocument, parsedCSS);\n const received = getComputedStyle(htmlElement);\n\n return {\n pass: isSubset(expected, received),\n message: () => {\n const matcher = `${this.isNot ? '.not' : ''}.toHaveStyle`;\n return [\n this.utils.matcherHint(matcher, 'element', ''),\n expectedDiff(this.utils.diff, expected, received),\n ].join('\\n\\n')\n },\n }\n}\n\nfunction toHaveFocus(element) {\n checkHtmlElement(element, toHaveFocus, this);\n\n return {\n pass: element.ownerDocument.activeElement === element,\n message: () => {\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveFocus`,\n 'element',\n '',\n ),\n '',\n ...(this.isNot\n ? [\n 'Received element is focused:',\n ` ${this.utils.printReceived(element)}`,\n ]\n : [\n 'Expected element with focus:',\n ` ${this.utils.printExpected(element)}`,\n 'Received element with focus:',\n ` ${this.utils.printReceived(\n element.ownerDocument.activeElement,\n )}`,\n ]),\n ].join('\\n')\n },\n }\n}\n\n// Returns the combined value of several elements that have the same name\n// e.g. radio buttons or groups of checkboxes\nfunction getMultiElementValue(elements) {\n const types = uniq(elements.map(element => element.type));\n if (types.length !== 1) {\n throw new Error(\n 'Multiple form elements with the same name must be of the same type',\n )\n }\n switch (types[0]) {\n case 'radio': {\n const theChosenOne = elements.find(radio => radio.checked);\n return theChosenOne ? theChosenOne.value : undefined\n }\n case 'checkbox':\n return elements\n .filter(checkbox => checkbox.checked)\n .map(checkbox => checkbox.value)\n default:\n // NOTE: Not even sure this is a valid use case, but just in case...\n return elements.map(element => element.value)\n }\n}\n\nfunction getFormValue(container, name) {\n const elements = [...container.querySelectorAll(`[name=\"${escape(name)}\"]`)];\n /* istanbul ignore if */\n if (elements.length === 0) {\n return undefined // shouldn't happen, but just in case\n }\n switch (elements.length) {\n case 1:\n return getSingleElementValue(elements[0])\n default:\n return getMultiElementValue(elements)\n }\n}\n\n// Strips the `[]` suffix off a form value name\nfunction getPureName(name) {\n return /\\[\\]$/.test(name) ? name.slice(0, -2) : name\n}\n\nfunction getAllFormValues(container) {\n const names = Array.from(container.elements).map(element => element.name);\n return names.reduce(\n (obj, name) => ({\n ...obj,\n [getPureName(name)]: getFormValue(container, name),\n }),\n {},\n )\n}\n\nfunction toHaveFormValues(formElement, expectedValues) {\n checkHtmlElement(formElement, toHaveFormValues, this);\n if (!formElement.elements) {\n // TODO: Change condition to use instanceof against the appropriate element classes instead\n throw new Error('toHaveFormValues must be called on a form or a fieldset')\n }\n const formValues = getAllFormValues(formElement);\n return {\n pass: Object.entries(expectedValues).every(([name, expectedValue]) =>\n isEqualWith(formValues[name], expectedValue, compareArraysAsSet),\n ),\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n const matcher = `${this.isNot ? '.not' : ''}.toHaveFormValues`;\n const commonKeyValues = Object.keys(formValues)\n .filter(key => expectedValues.hasOwnProperty(key))\n .reduce((obj, key) => ({...obj, [key]: formValues[key]}), {});\n return [\n this.utils.matcherHint(matcher, 'element', ''),\n `Expected the element ${to} have form values`,\n this.utils.diff(expectedValues, commonKeyValues),\n ].join('\\n\\n')\n },\n }\n}\n\nfunction isStyleVisible(element) {\n const {getComputedStyle} = element.ownerDocument.defaultView;\n\n const {display, visibility, opacity} = getComputedStyle(element);\n return (\n display !== 'none' &&\n visibility !== 'hidden' &&\n visibility !== 'collapse' &&\n opacity !== '0' &&\n opacity !== 0\n )\n}\n\nfunction isAttributeVisible(element, previousElement) {\n let detailsVisibility;\n\n if (previousElement) {\n detailsVisibility =\n element.nodeName === 'DETAILS' && previousElement.nodeName !== 'SUMMARY'\n ? element.hasAttribute('open')\n : true;\n } else {\n detailsVisibility =\n element.nodeName === 'DETAILS' ? element.hasAttribute('open') : true;\n }\n\n return !element.hasAttribute('hidden') && detailsVisibility\n}\n\nfunction isElementVisible(element, previousElement) {\n return (\n isStyleVisible(element) &&\n isAttributeVisible(element, previousElement) &&\n (!element.parentElement || isElementVisible(element.parentElement, element))\n )\n}\n\nfunction toBeVisible(element) {\n checkHtmlElement(element, toBeVisible, this);\n const isInDocument =\n element.ownerDocument === element.getRootNode({composed: true});\n const isVisible = isInDocument && isElementVisible(element);\n return {\n pass: isVisible,\n message: () => {\n const is = isVisible ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeVisible`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} visible${\n isInDocument ? '' : ' (element is not in the document)'\n }:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\n// form elements that support 'disabled'\nconst FORM_TAGS$2 = [\n 'fieldset',\n 'input',\n 'select',\n 'optgroup',\n 'option',\n 'button',\n 'textarea',\n];\n\n/*\n * According to specification:\n * If <fieldset> is disabled, the form controls that are its descendants,\n * except descendants of its first optional <legend> element, are disabled\n *\n * https://html.spec.whatwg.org/multipage/form-elements.html#concept-fieldset-disabled\n *\n * This method tests whether element is first legend child of fieldset parent\n */\nfunction isFirstLegendChildOfFieldset(element, parent) {\n return (\n getTag(element) === 'legend' &&\n getTag(parent) === 'fieldset' &&\n element.isSameNode(\n Array.from(parent.children).find(child => getTag(child) === 'legend'),\n )\n )\n}\n\nfunction isElementDisabledByParent(element, parent) {\n return (\n isElementDisabled(parent) && !isFirstLegendChildOfFieldset(element, parent)\n )\n}\n\nfunction isCustomElement(tag) {\n return tag.includes('-')\n}\n\n/*\n * Only certain form elements and custom elements can actually be disabled:\n * https://html.spec.whatwg.org/multipage/semantics-other.html#disabled-elements\n */\nfunction canElementBeDisabled(element) {\n const tag = getTag(element);\n return FORM_TAGS$2.includes(tag) || isCustomElement(tag)\n}\n\nfunction isElementDisabled(element) {\n return canElementBeDisabled(element) && element.hasAttribute('disabled')\n}\n\nfunction isAncestorDisabled(element) {\n const parent = element.parentElement;\n return (\n Boolean(parent) &&\n (isElementDisabledByParent(element, parent) || isAncestorDisabled(parent))\n )\n}\n\nfunction isElementOrAncestorDisabled(element) {\n return (\n canElementBeDisabled(element) &&\n (isElementDisabled(element) || isAncestorDisabled(element))\n )\n}\n\nfunction toBeDisabled(element) {\n checkHtmlElement(element, toBeDisabled, this);\n\n const isDisabled = isElementOrAncestorDisabled(element);\n\n return {\n pass: isDisabled,\n message: () => {\n const is = isDisabled ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeDisabled`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} disabled:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\nfunction toBeEnabled(element) {\n checkHtmlElement(element, toBeEnabled, this);\n\n const isEnabled = !isElementOrAncestorDisabled(element);\n\n return {\n pass: isEnabled,\n message: () => {\n const is = isEnabled ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeEnabled`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} enabled:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\n// form elements that support 'required'\nconst FORM_TAGS$1 = ['select', 'textarea'];\n\nconst ARIA_FORM_TAGS = ['input', 'select', 'textarea'];\n\nconst UNSUPPORTED_INPUT_TYPES = [\n 'color',\n 'hidden',\n 'range',\n 'submit',\n 'image',\n 'reset',\n];\n\nconst SUPPORTED_ARIA_ROLES = [\n 'combobox',\n 'gridcell',\n 'radiogroup',\n 'spinbutton',\n 'tree',\n];\n\nfunction isRequiredOnFormTagsExceptInput(element) {\n return FORM_TAGS$1.includes(getTag(element)) && element.hasAttribute('required')\n}\n\nfunction isRequiredOnSupportedInput(element) {\n return (\n getTag(element) === 'input' &&\n element.hasAttribute('required') &&\n ((element.hasAttribute('type') &&\n !UNSUPPORTED_INPUT_TYPES.includes(element.getAttribute('type'))) ||\n !element.hasAttribute('type'))\n )\n}\n\nfunction isElementRequiredByARIA(element) {\n return (\n element.hasAttribute('aria-required') &&\n element.getAttribute('aria-required') === 'true' &&\n (ARIA_FORM_TAGS.includes(getTag(element)) ||\n (element.hasAttribute('role') &&\n SUPPORTED_ARIA_ROLES.includes(element.getAttribute('role'))))\n )\n}\n\nfunction toBeRequired(element) {\n checkHtmlElement(element, toBeRequired, this);\n\n const isRequired =\n isRequiredOnFormTagsExceptInput(element) ||\n isRequiredOnSupportedInput(element) ||\n isElementRequiredByARIA(element);\n\n return {\n pass: isRequired,\n message: () => {\n const is = isRequired ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeRequired`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} required:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\nconst FORM_TAGS = ['form', 'input', 'select', 'textarea'];\n\nfunction isElementHavingAriaInvalid(element) {\n return (\n element.hasAttribute('aria-invalid') &&\n element.getAttribute('aria-invalid') !== 'false'\n )\n}\n\nfunction isSupportsValidityMethod(element) {\n return FORM_TAGS.includes(getTag(element))\n}\n\nfunction isElementInvalid(element) {\n const isHaveAriaInvalid = isElementHavingAriaInvalid(element);\n if (isSupportsValidityMethod(element)) {\n return isHaveAriaInvalid || !element.checkValidity()\n } else {\n return isHaveAriaInvalid\n }\n}\n\nfunction toBeInvalid(element) {\n checkHtmlElement(element, toBeInvalid, this);\n\n const isInvalid = isElementInvalid(element);\n\n return {\n pass: isInvalid,\n message: () => {\n const is = isInvalid ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeInvalid`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} currently invalid:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\nfunction toBeValid(element) {\n checkHtmlElement(element, toBeValid, this);\n\n const isValid = !isElementInvalid(element);\n\n return {\n pass: isValid,\n message: () => {\n const is = isValid ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeValid`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} currently valid:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\nfunction toHaveValue(htmlElement, expectedValue) {\n checkHtmlElement(htmlElement, toHaveValue, this);\n\n if (\n htmlElement.tagName.toLowerCase() === 'input' &&\n ['checkbox', 'radio'].includes(htmlElement.type)\n ) {\n throw new Error(\n 'input with type=checkbox or type=radio cannot be used with .toHaveValue(). Use .toBeChecked() for type=checkbox or .toHaveFormValues() instead',\n )\n }\n\n const receivedValue = getSingleElementValue(htmlElement);\n const expectsValue = expectedValue !== undefined;\n\n let expectedTypedValue = expectedValue;\n let receivedTypedValue = receivedValue;\n if (expectedValue == receivedValue && expectedValue !== receivedValue) {\n expectedTypedValue = `${expectedValue} (${typeof expectedValue})`;\n receivedTypedValue = `${receivedValue} (${typeof receivedValue})`;\n }\n\n return {\n pass: expectsValue\n ? isEqualWith(receivedValue, expectedValue, compareArraysAsSet)\n : Boolean(receivedValue),\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n const matcher = this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveValue`,\n 'element',\n expectedValue,\n );\n return getMessage(\n this,\n matcher,\n `Expected the element ${to} have value`,\n expectsValue ? expectedTypedValue : '(any)',\n 'Received',\n receivedTypedValue,\n )\n },\n }\n}\n\nfunction toHaveDisplayValue(htmlElement, expectedValue) {\n checkHtmlElement(htmlElement, toHaveDisplayValue, this);\n const tagName = htmlElement.tagName.toLowerCase();\n\n if (!['select', 'input', 'textarea'].includes(tagName)) {\n throw new Error(\n '.toHaveDisplayValue() currently supports only input, textarea or select elements, try with another matcher instead.',\n )\n }\n\n if (tagName === 'input' && ['radio', 'checkbox'].includes(htmlElement.type)) {\n throw new Error(\n `.toHaveDisplayValue() currently does not support input[type=\"${htmlElement.type}\"], try with another matcher instead.`,\n )\n }\n\n const values = getValues(tagName, htmlElement);\n const expectedValues = getExpectedValues(expectedValue);\n const numberOfMatchesWithValues = expectedValues.filter(expected =>\n values.some(value =>\n expected instanceof RegExp\n ? expected.test(value)\n : this.equals(value, String(expected)),\n ),\n ).length;\n\n const matchedWithAllValues = numberOfMatchesWithValues === values.length;\n const matchedWithAllExpectedValues =\n numberOfMatchesWithValues === expectedValues.length;\n\n return {\n pass: matchedWithAllValues && matchedWithAllExpectedValues,\n message: () =>\n getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveDisplayValue`,\n 'element',\n '',\n ),\n `Expected element ${this.isNot ? 'not ' : ''}to have display value`,\n expectedValue,\n 'Received',\n values,\n ),\n }\n}\n\nfunction getValues(tagName, htmlElement) {\n return tagName === 'select'\n ? Array.from(htmlElement)\n .filter(option => option.selected)\n .map(option => option.textContent)\n : [htmlElement.value]\n}\n\nfunction getExpectedValues(expectedValue) {\n return expectedValue instanceof Array ? expectedValue : [expectedValue]\n}\n\nfunction toBeChecked(element) {\n checkHtmlElement(element, toBeChecked, this);\n\n const isValidInput = () => {\n return (\n element.tagName.toLowerCase() === 'input' &&\n ['checkbox', 'radio'].includes(element.type)\n )\n };\n\n const isValidAriaElement = () => {\n return (\n roleSupportsChecked(element.getAttribute('role')) &&\n ['true', 'false'].includes(element.getAttribute('aria-checked'))\n )\n };\n\n if (!isValidInput() && !isValidAriaElement()) {\n return {\n pass: false,\n message: () =>\n `only inputs with type=\"checkbox\" or type=\"radio\" or elements with ${supportedRolesSentence()} and a valid aria-checked attribute can be used with .toBeChecked(). Use .toHaveValue() instead`,\n }\n }\n\n const isChecked = () => {\n if (isValidInput()) return element.checked\n return element.getAttribute('aria-checked') === 'true'\n };\n\n return {\n pass: isChecked(),\n message: () => {\n const is = isChecked() ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBeChecked`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} checked:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\nfunction supportedRolesSentence() {\n return toSentence(\n supportedRoles().map(role => `role=\"${role}\"`),\n {lastWordConnector: ' or '},\n )\n}\n\nfunction supportedRoles() {\n return roles.keys().filter(roleSupportsChecked)\n}\n\nfunction roleSupportsChecked(role) {\n return roles.get(role)?.props['aria-checked'] !== undefined\n}\n\nfunction toBePartiallyChecked(element) {\n checkHtmlElement(element, toBePartiallyChecked, this);\n\n const isValidInput = () => {\n return (\n element.tagName.toLowerCase() === 'input' && element.type === 'checkbox'\n )\n };\n\n const isValidAriaElement = () => {\n return element.getAttribute('role') === 'checkbox'\n };\n\n if (!isValidInput() && !isValidAriaElement()) {\n return {\n pass: false,\n message: () =>\n 'only inputs with type=\"checkbox\" or elements with role=\"checkbox\" and a valid aria-checked attribute can be used with .toBePartiallyChecked(). Use .toHaveValue() instead',\n }\n }\n\n const isPartiallyChecked = () => {\n const isAriaMixed = element.getAttribute('aria-checked') === 'mixed';\n\n if (isValidInput()) {\n return element.indeterminate || isAriaMixed\n }\n\n return isAriaMixed\n };\n\n return {\n pass: isPartiallyChecked(),\n message: () => {\n const is = isPartiallyChecked() ? 'is' : 'is not';\n return [\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toBePartiallyChecked`,\n 'element',\n '',\n ),\n '',\n `Received element ${is} partially checked:`,\n ` ${this.utils.printReceived(element.cloneNode(false))}`,\n ].join('\\n')\n },\n }\n}\n\n// See algoritm: https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description\nfunction toHaveDescription(htmlElement, checkWith) {\n deprecate(\n 'toHaveDescription',\n 'Please use toHaveAccessibleDescription.',\n );\n\n checkHtmlElement(htmlElement, toHaveDescription, this);\n\n const expectsDescription = checkWith !== undefined;\n\n const descriptionIDRaw = htmlElement.getAttribute('aria-describedby') || '';\n const descriptionIDs = descriptionIDRaw.split(/\\s+/).filter(Boolean);\n let description = '';\n if (descriptionIDs.length > 0) {\n const document = htmlElement.ownerDocument;\n const descriptionEls = descriptionIDs\n .map(descriptionID => document.getElementById(descriptionID))\n .filter(Boolean);\n description = normalize(descriptionEls.map(el => el.textContent).join(' '));\n }\n\n return {\n pass: expectsDescription\n ? checkWith instanceof RegExp\n ? checkWith.test(description)\n : this.equals(description, checkWith)\n : Boolean(description),\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveDescription`,\n 'element',\n '',\n ),\n `Expected the element ${to} have description`,\n this.utils.printExpected(checkWith),\n 'Received',\n this.utils.printReceived(description),\n )\n },\n }\n}\n\n// See aria-errormessage spec https://www.w3.org/TR/wai-aria-1.2/#aria-errormessage\nfunction toHaveErrorMessage(htmlElement, checkWith) {\n deprecate('toHaveErrorMessage', 'Please use toHaveAccessibleErrorMessage.');\n checkHtmlElement(htmlElement, toHaveErrorMessage, this);\n\n if (\n !htmlElement.hasAttribute('aria-invalid') ||\n htmlElement.getAttribute('aria-invalid') === 'false'\n ) {\n const not = this.isNot ? '.not' : '';\n\n return {\n pass: false,\n message: () => {\n return getMessage(\n this,\n this.utils.matcherHint(`${not}.toHaveErrorMessage`, 'element', ''),\n `Expected the element to have invalid state indicated by`,\n 'aria-invalid=\"true\"',\n 'Received',\n htmlElement.hasAttribute('aria-invalid')\n ? `aria-invalid=\"${htmlElement.getAttribute('aria-invalid')}\"`\n : this.utils.printReceived(''),\n )\n },\n }\n }\n\n const expectsErrorMessage = checkWith !== undefined;\n\n const errormessageIDRaw = htmlElement.getAttribute('aria-errormessage') || '';\n const errormessageIDs = errormessageIDRaw.split(/\\s+/).filter(Boolean);\n\n let errormessage = '';\n if (errormessageIDs.length > 0) {\n const document = htmlElement.ownerDocument;\n\n const errormessageEls = errormessageIDs\n .map(errormessageID => document.getElementById(errormessageID))\n .filter(Boolean);\n\n errormessage = normalize(\n errormessageEls.map(el => el.textContent).join(' '),\n );\n }\n\n return {\n pass: expectsErrorMessage\n ? checkWith instanceof RegExp\n ? checkWith.test(errormessage)\n : this.equals(errormessage, checkWith)\n : Boolean(errormessage),\n message: () => {\n const to = this.isNot ? 'not to' : 'to';\n return getMessage(\n this,\n this.utils.matcherHint(\n `${this.isNot ? '.not' : ''}.toHaveErrorMessage`,\n 'element',\n '',\n ),\n `Expected the element ${to} have error message`,\n this.utils.printExpected(checkWith),\n 'Received',\n this.utils.printReceived(errormessage),\n )\n },\n }\n}\n\nvar extensions = /*#__PURE__*/Object.freeze({\n __proto__: null,\n toBeChecked: toBeChecked,\n toBeDisabled: toBeDisabled,\n toBeEmpty: toBeEmpty,\n toBeEmptyDOMElement: toBeEmptyDOMElement,\n toBeEnabled: toBeEnabled,\n toBeInTheDOM: toBeInTheDOM,\n toBeInTheDocument: toBeInTheDocument,\n toBeInvalid: toBeInvalid,\n toBePartiallyChecked: toBePartiallyChecked,\n toBeRequired: toBeRequired,\n toBeValid: toBeValid,\n toBeVisible: toBeVisible,\n toContainElement: toContainElement,\n toContainHTML: toContainHTML,\n toHaveAccessibleDescription: toHaveAccessibleDescription,\n toHaveAccessibleErrorMessage: toHaveAccessibleErrorMessage,\n toHaveAccessibleName: toHaveAccessibleName,\n toHaveAttribute: toHaveAttribute,\n toHaveClass: toHaveClass,\n toHaveDescription: toHaveDescription,\n toHaveDisplayValue: toHaveDisplayValue,\n toHaveErrorMessage: toHaveErrorMessage,\n toHaveFocus: toHaveFocus,\n toHaveFormValues: toHaveFormValues,\n toHaveRole: toHaveRole,\n toHaveStyle: toHaveStyle,\n toHaveTextContent: toHaveTextContent,\n toHaveValue: toHaveValue\n});\n\nexport { toBePartiallyChecked as A, toHaveDescription as B, toHaveErrorMessage as C, toBeInTheDocument as a, toBeEmpty as b, toBeEmptyDOMElement as c, toContainElement as d, extensions as e, toContainHTML as f, toHaveTextContent as g, toHaveAccessibleDescription as h, toHaveAccessibleErrorMessage as i, toHaveRole as j, toHaveAccessibleName as k, toHaveAttribute as l, toHaveClass as m, toHaveStyle as n, toHaveFocus as o, toHaveFormValues as p, toBeVisible as q, toBeDisabled as r, toBeEnabled as s, toBeInTheDOM as t, toBeRequired as u, toBeInvalid as v, toBeValid as w, toHaveValue as x, toHaveDisplayValue as y, toBeChecked as z };\n","import { e as extensions } from './matchers-7883f120.mjs';\nimport 'redent';\nimport 'lodash/isEqual.js';\nimport '@adobe/css-tools';\nimport 'dom-accessibility-api';\nimport 'aria-query';\nimport 'chalk';\nimport 'lodash/isEqualWith.js';\nimport 'lodash/uniq.js';\nimport 'css.escape';\n\nexpect.extend(extensions);\n"],"names":["minIndent","string","match","r","a","require$$0","stripIndent","indent","regex","indentString","count","options","require$$1","redent","$parcel$defineInteropFlag","$parcel$export","n","v","s","$009ddb00d3ec72b8$exports","$009ddb00d3ec72b8$export$2e2bcd8739ae039","filename","msg","lineno","column","css","$0865a9fb4cc365fe$exports","$0865a9fb4cc365fe$export$2e2bcd8739ae039","start","end","source","$b2e137848b48cf4f$exports","$b2e137848b48cf4f$export$9be5dd6e61d5d73a","CssTypes","$d708735ed1303b43$var$commentre","$d708735ed1303b43$export$98e6a39c04603d36","updatePosition","str","lines","i","position","node","whitespace","errorsList","error","err","stylesheet","rulesList","rules","open","close","comments","atrule","rule","re","m","c","comment","pos","findClosingParenthese","depth","ptr","found","closeParentheses","nextParentheses","selector","res","$d708735ed1303b43$var$trim","startParentheses","declaration","propMatch","propValue","val","ret","declarations","decls","decl","keyframe","vals","atkeyframes","m1","vendor","m2","name","frame","frames","atsupports","supports","style","athost","atcontainer","container","atlayer","layer","atmedia","media","atcustommedia","atpage","sel","atdocument","doc","atfontface","atimport","_compileAtrule","atcharset","atnamespace","$d708735ed1303b43$var$addParent","obj","parent","isNode","childParent","k","value","$d708735ed1303b43$export$2e2bcd8739ae039","$149c1bd638913645$export$98e6a39c04603d36","toStr","isCallable","fn","toInteger","number","maxSafeInteger","toLength","len","arrayFrom","arrayLike","mapFn","C","items","A","kValue","_typeof","o","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","key","arg","_toPrimitive","input","hint","prim","SetLike","previousLength","item","callbackfn","_this","SetLike$1","getLocalName","element","_element$localName","localNameToRoleMappings","prohibitedAttributes","hasGlobalAriaAttributes","role","attributeName","_prohibitedAttributes","ignorePresentationalRole","implicitRole","getRole","explicitRole","getExplicitRole","presentationRoles","getImplicitRole","mappedByTag","_ref","type","isElement","isHTMLTableCaptionElement","isHTMLInputElement","isHTMLOptGroupElement","isHTMLSelectElement","isHTMLTableElement","isHTMLTextAreaElement","safeWindow","defaultView","isHTMLFieldSetElement","isHTMLLegendElement","isHTMLSlotElement","isSVGElement","isSVGSVGElement","isSVGTitleElement","queryIdRefs","ids","root","id","hasAnyConcreteRoles","roles","asFlatString","isHidden","getComputedStyleImplementation","isControl","hasAbstractRole","querySelectorAllSubtree","selectors","elements","ArrayFrom","querySelectedOptions","listbox","isMarkedPresentational","isNativeHostLanguageTextAlternativeElement","allowsNameFromContent","isDescendantOfNativeHostLanguageTextAlternativeElement","getValueOfTextbox","getTextualContent","content","isLabelableElement","localName","findLabelableElement","labelableElement","childNode","descendantLabelableElement","getControlOfLabel","label","htmlFor","getLabels","labelsProperty","document","getSlotContents","slot","assignedNodes","computeTextAlternative","consultedNodes","window","_options$compute","compute","_options$computedStyl","computedStyleSupportsPseudoElements","_options$getComputedS","getComputedStyle","_options$hidden","hidden","computeMiscTextAlternative","context","accumulatedText","pseudoBefore","beforeContent","childNodes","child","result","display","separator","pseudoAfter","afterContent","useAttribute","attribute","computeTooltipAttributeValue","computeElementTextAlternative","children","_children","_i","_child","_children2","_i2","_child2","nameFromAlt","nameFromLabel","nameFromValue","labels","_nameFromAlt","nameFromTitle","nameFromSubTree","current","labelAttributeNode","labelElements","skipToStep2E","ariaLabel","elementTextAlternative","selectedOptions","selectedOption","accumulatedText2F","tooltipAttributeValue","ownKeys","t","_objectSpread","computeAccessibleDescription","description","ariaDescription","title","prohibitsNaming","computeAccessibleName","stringReplaceAll","substring","replacer","index","substringLength","endIndex","returnValue","stringEncaseCRLFWithFirstIndex","prefix","postfix","gotCR","util","TEMPLATE_REGEX","STYLE_REGEX","STRING_REGEX","ESCAPE_REGEX","ESCAPES","unescape","u","bracket","parseArguments","arguments_","results","chunks","matches","chunk","escape","character","parseStyle","args","buildStyle","chalk","styles","enabled","styleName","templates","temporary","escapeCharacter","inverse","errMsg","ansiStyles","stdoutColor","stderrColor","require$$2","levelMapping","applyOptions","object","colorLevel","ChalkClass","chalkFactory","chalkTag","Chalk","builder","createBuilder","createStyler","usedModels","model","level","styler","bgModel","proto","openAll","closeAll","self","_styler","_isEmpty","applyStyle","lfIndex","template","strings","firstString","parts","require$$3","baseIsEqual","isEqualWith","other","customizer","isEqualWith_1","baseUniq","uniq","array","uniq_1","factory","module","global","this","cssEscape","length","codeUnit","firstCodeUnit","GenericTypeError","expectedString","received","matcherFn","withType","HtmlElementTypeError","NodeTypeError","checkHasWindow","htmlElement","ErrorClass","checkNode","checkHtmlElement","InvalidCSSError","parseCSS","ast","parse","reason","line","d","property","getMessage","matcher","expectedLabel","expectedValue","receivedLabel","receivedValue","textToMatch","deprecate","replacementText","normalize","text","getTag","getSelectValue","multiple","option","opt","getInputValue","inputElement","getSingleElementValue","compareArraysAsSet","b","isEqual","toSentence","wordConnector","lastWordConnector","toBeInTheDOM","toBeInTheDocument","pass","errorFound","errorNotFound","toBeEmpty","toBeEmptyDOMElement","isEmptyElement","toContainElement","getNormalizedHtml","htmlText","div","toContainHTML","toHaveTextContent","checkWith","textContent","checkingWithEmptyString","to","toHaveAccessibleDescription","expectedAccessibleDescription","actualAccessibleDescription","missingExpectedValue","ariaInvalidName","validStates","toHaveAccessibleErrorMessage","expectedAccessibleErrorMessage","method","errormessageId","ariaInvalidVal","_a","elementRoleList","buildElementRoleList","elementRoles","toHaveRole","expectedRole","actualRoles","getExplicitOrImplicitRoles","el","getImplicitAriaRoles","currentNode","elementRolesMap","makeElementSelector","attributes","constraints","getSelectorSpecificity","bySelectorSpecificity","leftSpecificity","rightSpecificity","typeTextIndex","toHaveAccessibleName","expectedAccessibleName","actualAccessibleName","printAttribute","stringify","getAttributeComment","toHaveAttribute","isExpectedValuePresent","hasAttribute","receivedAttribute","getExpectedClassNamesAndOptions","params","lastParam","expectedClassNames","splitClassNames","isSubset$1","subset","superset","strOrRegexp","className","toHaveClass","expected","acc","hasRegExp","getStyleDeclaration","copy","isSubset","computedStyle","prop","isCustomProperty","spellingVariants","printoutStyles","expectedDiff","diffFn","computedStyles","toHaveStyle","parsedCSS","toHaveFocus","getMultiElementValue","types","theChosenOne","radio","checkbox","getFormValue","getPureName","getAllFormValues","toHaveFormValues","formElement","expectedValues","formValues","commonKeyValues","isStyleVisible","visibility","opacity","isAttributeVisible","previousElement","detailsVisibility","isElementVisible","toBeVisible","isInDocument","isVisible","is","FORM_TAGS$2","isFirstLegendChildOfFieldset","isElementDisabledByParent","isElementDisabled","isCustomElement","tag","canElementBeDisabled","isAncestorDisabled","isElementOrAncestorDisabled","toBeDisabled","isDisabled","toBeEnabled","isEnabled","FORM_TAGS$1","ARIA_FORM_TAGS","UNSUPPORTED_INPUT_TYPES","SUPPORTED_ARIA_ROLES","isRequiredOnFormTagsExceptInput","isRequiredOnSupportedInput","isElementRequiredByARIA","toBeRequired","isRequired","FORM_TAGS","isElementHavingAriaInvalid","isSupportsValidityMethod","isElementInvalid","isHaveAriaInvalid","toBeInvalid","isInvalid","toBeValid","isValid","toHaveValue","expectsValue","expectedTypedValue","receivedTypedValue","toHaveDisplayValue","tagName","values","getValues","getExpectedValues","numberOfMatchesWithValues","matchedWithAllValues","matchedWithAllExpectedValues","toBeChecked","isValidInput","isValidAriaElement","roleSupportsChecked","supportedRolesSentence","isChecked","supportedRoles","toBePartiallyChecked","isPartiallyChecked","isAriaMixed","toHaveDescription","expectsDescription","descriptionIDs","descriptionEls","descriptionID","toHaveErrorMessage","not","expectsErrorMessage","errormessageIDs","errormessage","errormessageEls","errormessageID","extensions"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
|
package/dist/index-kvi6aotO.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-kvi6aotO.js","sources":["../node_modules/.pnpm/@mui+x-date-pickers@6.19.9_@emotion+react@11.11.4_@emotion+styled@11.11.5_@mui+material@5.15._dgawtrwqq3adi55nnwn2nlv6jq/node_modules/@mui/x-date-pickers/icons/index.js"],"sourcesContent":["import { createSvgIcon } from '@mui/material/utils';\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), 'ArrowDropDown');\n\n/**\n * @ignore - internal component.\n */\nexport const ArrowLeftIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z\"\n}), 'ArrowLeft');\n\n/**\n * @ignore - internal component.\n */\nexport const ArrowRightIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z\"\n}), 'ArrowRight');\n\n/**\n * @ignore - internal component.\n */\nexport const CalendarIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z\"\n}), 'Calendar');\n\n/**\n * @ignore - internal component.\n */\nexport const ClockIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n })]\n}), 'Clock');\n\n/**\n * @ignore - internal component.\n */\nexport const DateRangeIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z\"\n}), 'DateRange');\n\n/**\n * @ignore - internal component.\n */\nexport const TimeIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n })]\n}), 'Time');\n\n/**\n * @ignore - internal component.\n */\nexport const ClearIcon = createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Clear');"],"names":["ArrowDropDownIcon","createSvgIcon","_jsx","ArrowLeftIcon","ArrowRightIcon","CalendarIcon","_jsxs","React","DateRangeIcon","TimeIcon","ClearIcon"],"mappings":";;;AAQY,MAACA,IAAoBC,EAA4BC,gBAAAA,EAAK,QAAQ;AAAA,EACxE,GAAG;AACL,CAAC,GAAG,eAAe,GAKNC,IAAgBF,EAA4BC,gBAAAA,EAAK,QAAQ;AAAA,EACpE,GAAG;AACL,CAAC,GAAG,WAAW,GAKFE,IAAiBH,EAA4BC,gBAAAA,EAAK,QAAQ;AAAA,EACrE,GAAG;AACL,CAAC,GAAG,YAAY,GAKHG,IAAeJ,EAA4BC,gBAAAA,EAAK,QAAQ;AAAA,EACnE,GAAG;AACL,CAAC,GAAG,UAAU;AAKWD,EAA4BK,gBAAAA,EAAMC,EAAM,UAAU;AAAA,EACzE,UAAU,CAAcL,gBAAAA,EAAK,QAAQ;AAAA,IACnC,GAAG;AAAA,EACP,CAAG,GAAgBA,gBAAAA,EAAK,QAAQ;AAAA,IAC5B,GAAG;AAAA,EACP,CAAG,CAAC;AACJ,CAAC,GAAG,OAAO;AAKC,MAACM,IAAgBP,EAA4BC,gBAAAA,EAAK,QAAQ;AAAA,EACpE,GAAG;AACL,CAAC,GAAG,WAAW,GAKFO,IAAWR,EAA4BK,gBAAAA,EAAMC,EAAM,UAAU;AAAA,EACxE,UAAU,CAAcL,gBAAAA,EAAK,QAAQ;AAAA,IACnC,GAAG;AAAA,EACP,CAAG,GAAgBA,gBAAAA,EAAK,QAAQ;AAAA,IAC5B,GAAG;AAAA,EACP,CAAG,CAAC;AACJ,CAAC,GAAG,MAAM,GAKGQ,IAAYT,EAA4BC,gBAAAA,EAAK,QAAQ;AAAA,EAChE,GAAG;AACL,CAAC,GAAG,OAAO;","x_google_ignoreList":[0]}
|