@semiont/react-ui 0.4.21 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PdfAnnotationCanvas.client-6ZGFEN2N.mjs → PdfAnnotationCanvas.client-5QESNO5H.mjs} +10 -9
- package/dist/PdfAnnotationCanvas.client-5QESNO5H.mjs.map +1 -0
- package/dist/{chunk-KEDFYI6N.mjs → chunk-4NOUO3W6.mjs} +2 -2
- package/dist/{chunk-KEDFYI6N.mjs.map → chunk-4NOUO3W6.mjs.map} +1 -1
- package/dist/index.d.mts +54 -79
- package/dist/index.mjs +255 -254
- package/dist/index.mjs.map +1 -1
- package/dist/test-utils.d.mts +3 -1
- package/dist/test-utils.mjs +14 -8
- package/dist/test-utils.mjs.map +1 -1
- package/package.json +2 -1
- package/src/components/AnnotateReferencesProgressWidget.tsx +1 -1
- package/src/components/CodeMirrorRenderer.tsx +5 -3
- package/src/components/LiveRegion.tsx +1 -2
- package/src/components/StatusDisplay.tsx +1 -1
- package/src/components/__tests__/StatusDisplay.test.tsx +3 -1
- package/src/components/annotation/AnnotateToolbar.tsx +5 -7
- package/src/components/annotation-popups/JsonLdView.tsx +1 -2
- package/src/components/annotation-popups/__tests__/JsonLdView.test.tsx +1 -1
- package/src/components/image-annotation/AnnotationOverlay.tsx +12 -14
- package/src/components/image-annotation/SvgDrawingCanvas.tsx +8 -13
- package/src/components/modals/ConfigureGenerationStep.tsx +1 -2
- package/src/components/modals/ReferenceWizardModal.tsx +1 -1
- package/src/components/modals/ResourceSearchModal.tsx +3 -3
- package/src/components/modals/SearchModal.tsx +2 -1
- package/src/components/modals/SearchResultsStep.tsx +1 -3
- package/src/components/modals/__tests__/SearchModal.accessibility.test.tsx +6 -2
- package/src/components/modals/__tests__/SearchModal.basic.test.tsx +6 -2
- package/src/components/modals/__tests__/SearchModal.keyboard.test.tsx +6 -2
- package/src/components/modals/__tests__/SearchModal.visual.test.tsx +6 -2
- package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +11 -12
- package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +1 -1
- package/src/components/resource/AnnotateView.tsx +2 -5
- package/src/components/resource/BrowseView.tsx +6 -4
- package/src/components/resource/ResourceViewer.tsx +7 -11
- package/src/components/resource/__tests__/BrowseView.test.tsx +4 -4
- package/src/components/resource/__tests__/ResourceViewer.mode-switch.test.tsx +1 -0
- package/src/components/resource/__tests__/event-formatting.test.ts +6 -2
- package/src/components/resource/event-formatting.ts +2 -3
- package/src/components/resource/panels/AssessmentEntry.tsx +3 -5
- package/src/components/resource/panels/AssessmentPanel.tsx +5 -5
- package/src/components/resource/panels/AssistSection.tsx +6 -10
- package/src/components/resource/panels/CollaborationPanel.tsx +1 -1
- package/src/components/resource/panels/CommentEntry.tsx +3 -5
- package/src/components/resource/panels/CommentsPanel.tsx +5 -5
- package/src/components/resource/panels/HighlightEntry.tsx +3 -5
- package/src/components/resource/panels/HighlightPanel.tsx +3 -3
- package/src/components/resource/panels/ReferenceEntry.tsx +7 -9
- package/src/components/resource/panels/ReferencesPanel.tsx +8 -11
- package/src/components/resource/panels/ResourceInfoPanel.tsx +5 -5
- package/src/components/resource/panels/StatisticsPanel.tsx +2 -3
- package/src/components/resource/panels/TagEntry.tsx +3 -5
- package/src/components/resource/panels/TaggingPanel.tsx +8 -11
- package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +1 -1
- package/src/components/resource/panels/__tests__/AssessmentEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/AssessmentPanel.test.tsx +4 -5
- package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/CommentsPanel.test.tsx +4 -5
- package/src/components/resource/panels/__tests__/HighlightEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/HighlightPanel.annotationProgress.test.tsx +1 -1
- package/src/components/resource/panels/__tests__/ReferenceEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +21 -14
- package/src/components/resource/panels/__tests__/StatisticsPanel.test.tsx +3 -3
- package/src/components/resource/panels/__tests__/TagEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +4 -5
- package/src/components/settings/SettingsPanel.tsx +1 -1
- package/src/components/settings/__tests__/SettingsPanel.test.tsx +3 -3
- package/src/features/admin-devops/components/AdminDevOpsPage.tsx +1 -2
- package/src/features/admin-exchange/components/AdminExchangePage.tsx +1 -1
- package/src/features/admin-exchange/components/ImportCard.tsx +1 -2
- package/src/features/admin-security/components/AdminSecurityPage.tsx +1 -2
- package/src/features/admin-users/components/AdminUsersPage.tsx +1 -1
- package/src/features/moderate-entity-tags/components/EntityTagsPage.tsx +1 -2
- package/src/features/moderate-recent/components/RecentDocumentsPage.tsx +1 -2
- package/src/features/moderate-tag-schemas/components/TagSchemasPage.tsx +1 -1
- package/src/features/moderation-linked-data/components/LinkedDataPage.tsx +1 -1
- package/src/features/resource-compose/components/ResourceComposePage.tsx +3 -2
- package/src/features/resource-discovery/components/ResourceCard.tsx +1 -2
- package/src/features/resource-discovery/components/ResourceDiscoveryPage.tsx +3 -4
- package/src/features/resource-viewer/__tests__/ResourceViewerPage.test.tsx +4 -5
- package/src/features/resource-viewer/components/ResourceViewerPage.tsx +12 -11
- package/dist/PdfAnnotationCanvas.client-6ZGFEN2N.mjs.map +0 -1
package/dist/test-utils.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/pretty-format/node_modules/ansi-styles/index.js","../../../node_modules/pretty-format/build/collections.js","../../../node_modules/pretty-format/build/plugins/AsymmetricMatcher.js","../../../node_modules/ansi-regex/index.js","../../../node_modules/pretty-format/build/plugins/ConvertAnsi.js","../../../node_modules/pretty-format/build/plugins/DOMCollection.js","../../../node_modules/pretty-format/build/plugins/lib/escapeHTML.js","../../../node_modules/pretty-format/build/plugins/lib/markup.js","../../../node_modules/pretty-format/build/plugins/DOMElement.js","../../../node_modules/pretty-format/build/plugins/Immutable.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/react-is/index.js","../../../node_modules/pretty-format/build/plugins/ReactElement.js","../../../node_modules/pretty-format/build/plugins/ReactTestComponent.js","../../../node_modules/pretty-format/build/index.js","../../../node_modules/aria-query/lib/util/iteratorProxy.js","../../../node_modules/aria-query/lib/util/iterationDecorator.js","../../../node_modules/aria-query/lib/ariaPropsMap.js","../../../node_modules/aria-query/lib/domMap.js","../../../node_modules/aria-query/lib/etc/roles/abstract/commandRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/compositeRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/inputRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/landmarkRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/rangeRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/roletypeRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/sectionRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/sectionheadRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/selectRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/structureRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/widgetRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/windowRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaAbstractRoles.js","../../../node_modules/aria-query/lib/etc/roles/literal/alertRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/alertdialogRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/applicationRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/articleRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/bannerRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/blockquoteRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/buttonRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/captionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/cellRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/checkboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/codeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/columnheaderRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/comboboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/complementaryRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/contentinfoRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/definitionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/deletionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/dialogRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/directoryRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/documentRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/emphasisRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/feedRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/figureRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/formRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/genericRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/gridRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/gridcellRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/groupRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/headingRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/imgRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/insertionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/linkRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/listRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/listboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/listitemRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/logRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/mainRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/markRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/marqueeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/mathRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menubarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuitemRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuitemcheckboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuitemradioRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/meterRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/navigationRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/noneRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/noteRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/optionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/paragraphRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/presentationRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/progressbarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/radioRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/radiogroupRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/regionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/rowRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/rowgroupRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/rowheaderRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/scrollbarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/searchRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/searchboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/separatorRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/sliderRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/spinbuttonRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/statusRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/strongRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/subscriptRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/superscriptRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/switchRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tabRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tableRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tablistRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tabpanelRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/termRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/textboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/timeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/timerRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/toolbarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tooltipRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/treeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/treegridRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/treeitemRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaLiteralRoles.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAbstractRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAcknowledgmentsRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAfterwordRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAppendixRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBacklinkRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBiblioentryRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBibliographyRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBibliorefRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docChapterRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docColophonRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docConclusionRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docCoverRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docCreditRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docCreditsRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docDedicationRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEndnoteRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEndnotesRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEpigraphRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEpilogueRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docErrataRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docExampleRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docFootnoteRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docForewordRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docGlossaryRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docGlossrefRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docIndexRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docIntroductionRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docNoterefRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docNoticeRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPagebreakRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPagelistRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPartRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPrefaceRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPrologueRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPullquoteRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docQnaRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docSubtitleRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docTipRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docTocRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaDpubRoles.js","../../../node_modules/aria-query/lib/etc/roles/graphics/graphicsDocumentRole.js","../../../node_modules/aria-query/lib/etc/roles/graphics/graphicsObjectRole.js","../../../node_modules/aria-query/lib/etc/roles/graphics/graphicsSymbolRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaGraphicsRoles.js","../../../node_modules/aria-query/lib/rolesMap.js","../../../node_modules/dequal/lite/index.js","../../../node_modules/aria-query/lib/elementRoleMap.js","../../../node_modules/aria-query/lib/roleElementMap.js","../../../node_modules/aria-query/lib/index.js","../../../node_modules/lz-string/libs/lz-string.js","../../../node_modules/rxjs/src/internal/scheduler/performanceTimestampProvider.ts","../../../node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts","../../../node_modules/rxjs/src/internal/observable/dom/animationFrames.ts","../../../node_modules/rxjs/src/internal/util/Immediate.ts","../../../node_modules/rxjs/src/internal/scheduler/immediateProvider.ts","../../../node_modules/rxjs/src/internal/scheduler/AsapAction.ts","../../../node_modules/rxjs/src/internal/scheduler/AsapScheduler.ts","../../../node_modules/rxjs/src/internal/scheduler/asap.ts","../../../node_modules/rxjs/src/internal/scheduler/QueueAction.ts","../../../node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts","../../../node_modules/rxjs/src/internal/scheduler/queue.ts","../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts","../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts","../../../node_modules/rxjs/src/internal/scheduler/animationFrame.ts","../../../node_modules/rxjs/src/internal/scheduler/VirtualTimeScheduler.ts","../../../node_modules/rxjs/src/internal/util/isObservable.ts","../../../node_modules/rxjs/src/internal/lastValueFrom.ts","../../../node_modules/rxjs/src/internal/firstValueFrom.ts","../../../node_modules/rxjs/src/internal/observable/bindCallbackInternals.ts","../../../node_modules/rxjs/src/internal/observable/bindCallback.ts","../../../node_modules/rxjs/src/internal/observable/bindNodeCallback.ts","../../../node_modules/rxjs/src/internal/observable/defer.ts","../../../node_modules/rxjs/src/internal/observable/connectable.ts","../../../node_modules/rxjs/src/internal/observable/forkJoin.ts","../../../node_modules/rxjs/src/internal/observable/fromEvent.ts","../../../node_modules/rxjs/src/internal/observable/fromEventPattern.ts","../../../node_modules/rxjs/src/internal/observable/generate.ts","../../../node_modules/rxjs/src/internal/observable/iif.ts","../../../node_modules/rxjs/src/internal/observable/merge.ts","../../../node_modules/rxjs/src/internal/observable/never.ts","../../../node_modules/rxjs/src/internal/observable/pairs.ts","../../../node_modules/rxjs/src/internal/observable/partition.ts","../../../node_modules/rxjs/src/internal/observable/range.ts","../../../node_modules/rxjs/src/internal/observable/using.ts","../../../node_modules/rxjs/dist/cjs/internal/types.js","../../../node_modules/rxjs/src/index.ts","../../../node_modules/@testing-library/react/dist/@testing-library/react.esm.js","../../../node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js","../../../node_modules/dom-accessibility-api/sources/polyfills/array.from.ts","../../../node_modules/dom-accessibility-api/sources/polyfills/SetLike.ts","../../../node_modules/dom-accessibility-api/sources/getRole.ts","../../../node_modules/dom-accessibility-api/sources/util.ts","../../../node_modules/dom-accessibility-api/sources/accessible-name-and-description.ts","../../../node_modules/dom-accessibility-api/sources/accessible-description.ts","../../../node_modules/dom-accessibility-api/sources/accessible-name.ts","../src/test-utils.tsx"],"sourcesContent":["'use strict';\n\nconst ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\toverline: [53, 55],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue: (red, green, blue) => {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16 +\n\t\t\t\t\t(36 * Math.round(red / 255 * 5)) +\n\t\t\t\t\t(6 * Math.round(green / 255 * 5)) +\n\t\t\t\t\tMath.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue: hex => {\n\t\t\t\tconst matches = /(?<colorString>[a-f\\d]{6}|[a-f\\d]{3})/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet {colorString} = matches.groups;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = colorString.split('').map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false\n\t\t}\n\t});\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.printIteratorEntries = printIteratorEntries;\nexports.printIteratorValues = printIteratorValues;\nexports.printListItems = printListItems;\nexports.printObjectProperties = printObjectProperties;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nconst getKeysOfEnumerableProperties = (object, compareKeys) => {\n const keys = Object.keys(object).sort(compareKeys);\n\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(object).forEach(symbol => {\n if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n keys.push(symbol);\n }\n });\n }\n\n return keys;\n};\n/**\n * Return entries (for example, of a map)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\n\nfunction printIteratorEntries(\n iterator,\n config,\n indentation,\n depth,\n refs,\n printer, // Too bad, so sad that separator for ECMAScript Map has been ' => '\n // What a distracting diff if you change a data structure to/from\n // ECMAScript Object or Immutable.Map/OrderedMap which use the default.\n separator = ': '\n) {\n let result = '';\n let current = iterator.next();\n\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n while (!current.done) {\n const name = printer(\n current.value[0],\n config,\n indentationNext,\n depth,\n refs\n );\n const value = printer(\n current.value[1],\n config,\n indentationNext,\n depth,\n refs\n );\n result += indentationNext + name + separator + value;\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n/**\n * Return values (for example, of a set)\n * with spacing, indentation, and comma\n * without surrounding punctuation (braces or brackets)\n */\n\nfunction printIteratorValues(\n iterator,\n config,\n indentation,\n depth,\n refs,\n printer\n) {\n let result = '';\n let current = iterator.next();\n\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n while (!current.done) {\n result +=\n indentationNext +\n printer(current.value, config, indentationNext, depth, refs);\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n/**\n * Return items (for example, of an array)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, brackets)\n **/\n\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n let result = '';\n\n if (list.length) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n for (let i = 0; i < list.length; i++) {\n result += indentationNext;\n\n if (i in list) {\n result += printer(list[i], config, indentationNext, depth, refs);\n }\n\n if (i < list.length - 1) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n/**\n * Return properties of an object\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\n\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n let result = '';\n const keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n\n if (keys.length) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = printer(key, config, indentationNext, depth, refs);\n const value = printer(val[key], config, indentationNext, depth, refs);\n result += indentationNext + name + ': ' + value;\n\n if (i < keys.length - 1) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\nvar global = (function () {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n } else if (typeof global !== 'undefined') {\n return global;\n } else if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else {\n return Function('return this')();\n }\n})();\n\nvar Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;\nconst asymmetricMatcher =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('jest.asymmetricMatcher')\n : 0x1357a5;\nconst SPACE = ' ';\n\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n const stringedValue = val.toString();\n\n if (\n stringedValue === 'ArrayContaining' ||\n stringedValue === 'ArrayNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return '[' + stringedValue + ']';\n }\n\n return (\n stringedValue +\n SPACE +\n '[' +\n (0, _collections.printListItems)(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']'\n );\n }\n\n if (\n stringedValue === 'ObjectContaining' ||\n stringedValue === 'ObjectNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return '[' + stringedValue + ']';\n }\n\n return (\n stringedValue +\n SPACE +\n '{' +\n (0, _collections.printObjectProperties)(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}'\n );\n }\n\n if (\n stringedValue === 'StringMatching' ||\n stringedValue === 'StringNotMatching'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n\n if (\n stringedValue === 'StringContaining' ||\n stringedValue === 'StringNotContaining'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n\n return val.toAsymmetricMatcher();\n};\n\nexports.serialize = serialize;\n\nconst test = val => val && val.$$typeof === asymmetricMatcher;\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _ansiRegex = _interopRequireDefault(require('ansi-regex'));\n\nvar _ansiStyles = _interopRequireDefault(require('ansi-styles'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst toHumanReadableAnsi = text =>\n text.replace((0, _ansiRegex.default)(), match => {\n switch (match) {\n case _ansiStyles.default.red.close:\n case _ansiStyles.default.green.close:\n case _ansiStyles.default.cyan.close:\n case _ansiStyles.default.gray.close:\n case _ansiStyles.default.white.close:\n case _ansiStyles.default.yellow.close:\n case _ansiStyles.default.bgRed.close:\n case _ansiStyles.default.bgGreen.close:\n case _ansiStyles.default.bgYellow.close:\n case _ansiStyles.default.inverse.close:\n case _ansiStyles.default.dim.close:\n case _ansiStyles.default.bold.close:\n case _ansiStyles.default.reset.open:\n case _ansiStyles.default.reset.close:\n return '</>';\n\n case _ansiStyles.default.red.open:\n return '<red>';\n\n case _ansiStyles.default.green.open:\n return '<green>';\n\n case _ansiStyles.default.cyan.open:\n return '<cyan>';\n\n case _ansiStyles.default.gray.open:\n return '<gray>';\n\n case _ansiStyles.default.white.open:\n return '<white>';\n\n case _ansiStyles.default.yellow.open:\n return '<yellow>';\n\n case _ansiStyles.default.bgRed.open:\n return '<bgRed>';\n\n case _ansiStyles.default.bgGreen.open:\n return '<bgGreen>';\n\n case _ansiStyles.default.bgYellow.open:\n return '<bgYellow>';\n\n case _ansiStyles.default.inverse.open:\n return '<inverse>';\n\n case _ansiStyles.default.dim.open:\n return '<dim>';\n\n case _ansiStyles.default.bold.open:\n return '<bold>';\n\n default:\n return '';\n }\n });\n\nconst test = val =>\n typeof val === 'string' && !!val.match((0, _ansiRegex.default)());\n\nexports.test = test;\n\nconst serialize = (val, config, indentation, depth, refs, printer) =>\n printer(toHumanReadableAnsi(val), config, indentation, depth, refs);\n\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* eslint-disable local/ban-types-eventually */\nconst SPACE = ' ';\nconst OBJECT_NAMES = ['DOMStringMap', 'NamedNodeMap'];\nconst ARRAY_REGEXP = /^(HTML\\w*Collection|NodeList)$/;\n\nconst testName = name =>\n OBJECT_NAMES.indexOf(name) !== -1 || ARRAY_REGEXP.test(name);\n\nconst test = val =>\n val &&\n val.constructor &&\n !!val.constructor.name &&\n testName(val.constructor.name);\n\nexports.test = test;\n\nconst isNamedNodeMap = collection =>\n collection.constructor.name === 'NamedNodeMap';\n\nconst serialize = (collection, config, indentation, depth, refs, printer) => {\n const name = collection.constructor.name;\n\n if (++depth > config.maxDepth) {\n return '[' + name + ']';\n }\n\n return (\n (config.min ? '' : name + SPACE) +\n (OBJECT_NAMES.indexOf(name) !== -1\n ? '{' +\n (0, _collections.printObjectProperties)(\n isNamedNodeMap(collection)\n ? Array.from(collection).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {})\n : {...collection},\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}'\n : '[' +\n (0, _collections.printListItems)(\n Array.from(collection),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']')\n );\n};\n\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.default = escapeHTML;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nfunction escapeHTML(str) {\n return str.replace(/</g, '<').replace(/>/g, '>');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.printText =\n exports.printProps =\n exports.printElementAsLeaf =\n exports.printElement =\n exports.printComment =\n exports.printChildren =\n void 0;\n\nvar _escapeHTML = _interopRequireDefault(require('./escapeHTML'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Return empty string if keys is empty.\nconst printProps = (keys, props, config, indentation, depth, refs, printer) => {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys\n .map(key => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n\n if (typeof value !== 'string') {\n if (printed.indexOf('\\n') !== -1) {\n printed =\n config.spacingOuter +\n indentationNext +\n printed +\n config.spacingOuter +\n indentation;\n }\n\n printed = '{' + printed + '}';\n }\n\n return (\n config.spacingInner +\n indentation +\n colors.prop.open +\n key +\n colors.prop.close +\n '=' +\n colors.value.open +\n printed +\n colors.value.close\n );\n })\n .join('');\n}; // Return empty string if children is empty.\n\nexports.printProps = printProps;\n\nconst printChildren = (children, config, indentation, depth, refs, printer) =>\n children\n .map(\n child =>\n config.spacingOuter +\n indentation +\n (typeof child === 'string'\n ? printText(child, config)\n : printer(child, config, indentation, depth, refs))\n )\n .join('');\n\nexports.printChildren = printChildren;\n\nconst printText = (text, config) => {\n const contentColor = config.colors.content;\n return (\n contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close\n );\n};\n\nexports.printText = printText;\n\nconst printComment = (comment, config) => {\n const commentColor = config.colors.comment;\n return (\n commentColor.open +\n '<!--' +\n (0, _escapeHTML.default)(comment) +\n '-->' +\n commentColor.close\n );\n}; // Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\n\nexports.printComment = printComment;\n\nconst printElement = (\n type,\n printedProps,\n printedChildren,\n config,\n indentation\n) => {\n const tagColor = config.colors.tag;\n return (\n tagColor.open +\n '<' +\n type +\n (printedProps &&\n tagColor.close +\n printedProps +\n config.spacingOuter +\n indentation +\n tagColor.open) +\n (printedChildren\n ? '>' +\n tagColor.close +\n printedChildren +\n config.spacingOuter +\n indentation +\n tagColor.open +\n '</' +\n type\n : (printedProps && !config.min ? '' : ' ') + '/') +\n '>' +\n tagColor.close\n );\n};\n\nexports.printElement = printElement;\n\nconst printElementAsLeaf = (type, config) => {\n const tagColor = config.colors.tag;\n return (\n tagColor.open +\n '<' +\n type +\n tagColor.close +\n ' …' +\n tagColor.open +\n ' />' +\n tagColor.close\n );\n};\n\nexports.printElementAsLeaf = printElementAsLeaf;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _markup = require('./lib/markup');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\n\nconst testHasAttribute = val => {\n try {\n return typeof val.hasAttribute === 'function' && val.hasAttribute('is');\n } catch {\n return false;\n }\n};\n\nconst testNode = val => {\n const constructorName = val.constructor.name;\n const {nodeType, tagName} = val;\n const isCustomElement =\n (typeof tagName === 'string' && tagName.includes('-')) ||\n testHasAttribute(val);\n return (\n (nodeType === ELEMENT_NODE &&\n (ELEMENT_REGEXP.test(constructorName) || isCustomElement)) ||\n (nodeType === TEXT_NODE && constructorName === 'Text') ||\n (nodeType === COMMENT_NODE && constructorName === 'Comment') ||\n (nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment')\n );\n};\n\nconst test = val => {\n var _val$constructor;\n\n return (\n (val === null || val === void 0\n ? void 0\n : (_val$constructor = val.constructor) === null ||\n _val$constructor === void 0\n ? void 0\n : _val$constructor.name) && testNode(val)\n );\n};\n\nexports.test = test;\n\nfunction nodeIsText(node) {\n return node.nodeType === TEXT_NODE;\n}\n\nfunction nodeIsComment(node) {\n return node.nodeType === COMMENT_NODE;\n}\n\nfunction nodeIsFragment(node) {\n return node.nodeType === FRAGMENT_NODE;\n}\n\nconst serialize = (node, config, indentation, depth, refs, printer) => {\n if (nodeIsText(node)) {\n return (0, _markup.printText)(node.data, config);\n }\n\n if (nodeIsComment(node)) {\n return (0, _markup.printComment)(node.data, config);\n }\n\n const type = nodeIsFragment(node)\n ? 'DocumentFragment'\n : node.tagName.toLowerCase();\n\n if (++depth > config.maxDepth) {\n return (0, _markup.printElementAsLeaf)(type, config);\n }\n\n return (0, _markup.printElement)(\n type,\n (0, _markup.printProps)(\n nodeIsFragment(node)\n ? []\n : Array.from(node.attributes)\n .map(attr => attr.name)\n .sort(),\n nodeIsFragment(node)\n ? {}\n : Array.from(node.attributes).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {}),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n (0, _markup.printChildren)(\n Array.prototype.slice.call(node.childNodes || node.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\n};\n\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// SENTINEL constants are from https://github.com/facebook/immutable-js\nconst IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\nconst IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\nconst IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\nconst IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\nconst IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\nconst IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4\n\nconst IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\nconst IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\nconst IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\nconst getImmutableName = name => 'Immutable.' + name;\n\nconst printAsLeaf = name => '[' + name + ']';\n\nconst SPACE = ' ';\nconst LAZY = '…'; // Seq is lazy if it calls a method like filter\n\nconst printImmutableEntries = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n type\n) =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : getImmutableName(type) +\n SPACE +\n '{' +\n (0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}'; // Record has an entries method because it is a collection in immutable v3.\n// Return an iterator for Immutable Record from version v3 or v4.\n\nfunction getRecordEntries(val) {\n let i = 0;\n return {\n next() {\n if (i < val._keys.length) {\n const key = val._keys[i++];\n return {\n done: false,\n value: [key, val.get(key)]\n };\n }\n\n return {\n done: true,\n value: undefined\n };\n }\n };\n}\n\nconst printImmutableRecord = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n) => {\n // _name property is defined only for an Immutable Record instance\n // which was constructed with a second optional descriptive name arg\n const name = getImmutableName(val._name || 'Record');\n return ++depth > config.maxDepth\n ? printAsLeaf(name)\n : name +\n SPACE +\n '{' +\n (0, _collections.printIteratorEntries)(\n getRecordEntries(val),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}';\n};\n\nconst printImmutableSeq = (val, config, indentation, depth, refs, printer) => {\n const name = getImmutableName('Seq');\n\n if (++depth > config.maxDepth) {\n return printAsLeaf(name);\n }\n\n if (val[IS_KEYED_SENTINEL]) {\n return (\n name +\n SPACE +\n '{' + // from Immutable collection of entries or from ECMAScript object\n (val._iter || val._object\n ? (0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n )\n : LAZY) +\n '}'\n );\n }\n\n return (\n name +\n SPACE +\n '[' +\n (val._iter || // from Immutable collection of values\n val._array || // from ECMAScript array\n val._collection || // from ECMAScript collection in immutable v4\n val._iterable // from ECMAScript collection in immutable v3\n ? (0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )\n : LAZY) +\n ']'\n );\n};\n\nconst printImmutableValues = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n type\n) =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : getImmutableName(type) +\n SPACE +\n '[' +\n (0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']';\n\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n if (val[IS_MAP_SENTINEL]) {\n return printImmutableEntries(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map'\n );\n }\n\n if (val[IS_LIST_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'List'\n );\n }\n\n if (val[IS_SET_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set'\n );\n }\n\n if (val[IS_STACK_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'Stack'\n );\n }\n\n if (val[IS_SEQ_SENTINEL]) {\n return printImmutableSeq(val, config, indentation, depth, refs, printer);\n } // For compatibility with immutable v3 and v4, let record be the default.\n\n return printImmutableRecord(val, config, indentation, depth, refs, printer);\n}; // Explicitly comparing sentinel properties to true avoids false positive\n// when mock identity-obj-proxy returns the key as the value for any key.\n\nexports.serialize = serialize;\n\nconst test = val =>\n val &&\n (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","/** @license React v17.0.2\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nvar REACT_FRAGMENT_TYPE = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_BLOCK_TYPE = symbolFor('react.block');\n REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar ReactIs = _interopRequireWildcard(require('react-is'));\n\nvar _markup = require('./lib/markup');\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== 'function') return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function (nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {\n return {default: obj};\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor =\n Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Given element.props.children, or subtree during recursive traversal,\n// return flattened array of children.\nconst getChildren = (arg, children = []) => {\n if (Array.isArray(arg)) {\n arg.forEach(item => {\n getChildren(item, children);\n });\n } else if (arg != null && arg !== false) {\n children.push(arg);\n }\n\n return children;\n};\n\nconst getType = element => {\n const type = element.type;\n\n if (typeof type === 'string') {\n return type;\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || 'Unknown';\n }\n\n if (ReactIs.isFragment(element)) {\n return 'React.Fragment';\n }\n\n if (ReactIs.isSuspense(element)) {\n return 'React.Suspense';\n }\n\n if (typeof type === 'object' && type !== null) {\n if (ReactIs.isContextProvider(element)) {\n return 'Context.Provider';\n }\n\n if (ReactIs.isContextConsumer(element)) {\n return 'Context.Consumer';\n }\n\n if (ReactIs.isForwardRef(element)) {\n if (type.displayName) {\n return type.displayName;\n }\n\n const functionName = type.render.displayName || type.render.name || '';\n return functionName !== ''\n ? 'ForwardRef(' + functionName + ')'\n : 'ForwardRef';\n }\n\n if (ReactIs.isMemo(element)) {\n const functionName =\n type.displayName || type.type.displayName || type.type.name || '';\n return functionName !== '' ? 'Memo(' + functionName + ')' : 'Memo';\n }\n }\n\n return 'UNDEFINED';\n};\n\nconst getPropKeys = element => {\n const {props} = element;\n return Object.keys(props)\n .filter(key => key !== 'children' && props[key] !== undefined)\n .sort();\n};\n\nconst serialize = (element, config, indentation, depth, refs, printer) =>\n ++depth > config.maxDepth\n ? (0, _markup.printElementAsLeaf)(getType(element), config)\n : (0, _markup.printElement)(\n getType(element),\n (0, _markup.printProps)(\n getPropKeys(element),\n element.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n (0, _markup.printChildren)(\n getChildren(element.props.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\n\nexports.serialize = serialize;\n\nconst test = val => val != null && ReactIs.isElement(val);\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _markup = require('./lib/markup');\n\nvar global = (function () {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n } else if (typeof global !== 'undefined') {\n return global;\n } else if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else {\n return Function('return this')();\n }\n})();\n\nvar Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;\nconst testSymbol =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('react.test.json')\n : 0xea71357;\n\nconst getPropKeys = object => {\n const {props} = object;\n return props\n ? Object.keys(props)\n .filter(key => props[key] !== undefined)\n .sort()\n : [];\n};\n\nconst serialize = (object, config, indentation, depth, refs, printer) =>\n ++depth > config.maxDepth\n ? (0, _markup.printElementAsLeaf)(object.type, config)\n : (0, _markup.printElement)(\n object.type,\n object.props\n ? (0, _markup.printProps)(\n getPropKeys(object),\n object.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n )\n : '',\n object.children\n ? (0, _markup.printChildren)(\n object.children,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n )\n : '',\n config,\n indentation\n );\n\nexports.serialize = serialize;\n\nconst test = val => val && val.$$typeof === testSymbol;\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.default = exports.DEFAULT_OPTIONS = void 0;\nexports.format = format;\nexports.plugins = void 0;\n\nvar _ansiStyles = _interopRequireDefault(require('ansi-styles'));\n\nvar _collections = require('./collections');\n\nvar _AsymmetricMatcher = _interopRequireDefault(\n require('./plugins/AsymmetricMatcher')\n);\n\nvar _ConvertAnsi = _interopRequireDefault(require('./plugins/ConvertAnsi'));\n\nvar _DOMCollection = _interopRequireDefault(require('./plugins/DOMCollection'));\n\nvar _DOMElement = _interopRequireDefault(require('./plugins/DOMElement'));\n\nvar _Immutable = _interopRequireDefault(require('./plugins/Immutable'));\n\nvar _ReactElement = _interopRequireDefault(require('./plugins/ReactElement'));\n\nvar _ReactTestComponent = _interopRequireDefault(\n require('./plugins/ReactTestComponent')\n);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* eslint-disable local/ban-types-eventually */\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\n/**\n * Explicitly comparing typeof constructor to function avoids undefined as name\n * when mock identity-obj-proxy returns the key as the value for any key.\n */\n\nconst getConstructorName = val =>\n (typeof val.constructor === 'function' && val.constructor.name) || 'Object';\n/* global window */\n\n/** Is val is equal to global window object? Works even if it does not exist :) */\n\nconst isWindow = val => typeof window !== 'undefined' && val === window;\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/gi;\n\nclass PrettyFormatPluginError extends Error {\n constructor(message, stack) {\n super(message);\n this.stack = stack;\n this.name = this.constructor.name;\n }\n}\n\nfunction isToStringedArrayType(toStringed) {\n return (\n toStringed === '[object Array]' ||\n toStringed === '[object ArrayBuffer]' ||\n toStringed === '[object DataView]' ||\n toStringed === '[object Float32Array]' ||\n toStringed === '[object Float64Array]' ||\n toStringed === '[object Int8Array]' ||\n toStringed === '[object Int16Array]' ||\n toStringed === '[object Int32Array]' ||\n toStringed === '[object Uint8Array]' ||\n toStringed === '[object Uint8ClampedArray]' ||\n toStringed === '[object Uint16Array]' ||\n toStringed === '[object Uint32Array]'\n );\n}\n\nfunction printNumber(val) {\n return Object.is(val, -0) ? '-0' : String(val);\n}\n\nfunction printBigInt(val) {\n return String(`${val}n`);\n}\n\nfunction printFunction(val, printFunctionName) {\n if (!printFunctionName) {\n return '[Function]';\n }\n\n return '[Function ' + (val.name || 'anonymous') + ']';\n}\n\nfunction printSymbol(val) {\n return String(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\n\nfunction printError(val) {\n return '[' + errorToString.call(val) + ']';\n}\n/**\n * The first port of call for printing an object, handles most of the\n * data-types in JS.\n */\n\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n if (val === true || val === false) {\n return '' + val;\n }\n\n if (val === undefined) {\n return 'undefined';\n }\n\n if (val === null) {\n return 'null';\n }\n\n const typeOf = typeof val;\n\n if (typeOf === 'number') {\n return printNumber(val);\n }\n\n if (typeOf === 'bigint') {\n return printBigInt(val);\n }\n\n if (typeOf === 'string') {\n if (escapeString) {\n return '\"' + val.replace(/\"|\\\\/g, '\\\\$&') + '\"';\n }\n\n return '\"' + val + '\"';\n }\n\n if (typeOf === 'function') {\n return printFunction(val, printFunctionName);\n }\n\n if (typeOf === 'symbol') {\n return printSymbol(val);\n }\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object WeakMap]') {\n return 'WeakMap {}';\n }\n\n if (toStringed === '[object WeakSet]') {\n return 'WeakSet {}';\n }\n\n if (\n toStringed === '[object Function]' ||\n toStringed === '[object GeneratorFunction]'\n ) {\n return printFunction(val, printFunctionName);\n }\n\n if (toStringed === '[object Symbol]') {\n return printSymbol(val);\n }\n\n if (toStringed === '[object Date]') {\n return isNaN(+val) ? 'Date { NaN }' : toISOString.call(val);\n }\n\n if (toStringed === '[object Error]') {\n return printError(val);\n }\n\n if (toStringed === '[object RegExp]') {\n if (escapeRegex) {\n // https://github.com/benjamingr/RegExp.escape/blob/main/polyfill.js\n return regExpToString.call(val).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n return regExpToString.call(val);\n }\n\n if (val instanceof Error) {\n return printError(val);\n }\n\n return null;\n}\n/**\n * Handles more complex objects ( such as objects with circular references.\n * maps and sets etc )\n */\n\nfunction printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n) {\n if (refs.indexOf(val) !== -1) {\n return '[Circular]';\n }\n\n refs = refs.slice();\n refs.push(val);\n const hitMaxDepth = ++depth > config.maxDepth;\n const min = config.min;\n\n if (\n config.callToJSON &&\n !hitMaxDepth &&\n val.toJSON &&\n typeof val.toJSON === 'function' &&\n !hasCalledToJSON\n ) {\n return printer(val.toJSON(), config, indentation, depth, refs, true);\n }\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object Arguments]') {\n return hitMaxDepth\n ? '[Arguments]'\n : (min ? '' : 'Arguments ') +\n '[' +\n (0, _collections.printListItems)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']';\n }\n\n if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth\n ? '[' + val.constructor.name + ']'\n : (min\n ? ''\n : !config.printBasicPrototype && val.constructor.name === 'Array'\n ? ''\n : val.constructor.name + ' ') +\n '[' +\n (0, _collections.printListItems)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']';\n }\n\n if (toStringed === '[object Map]') {\n return hitMaxDepth\n ? '[Map]'\n : 'Map {' +\n (0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n ' => '\n ) +\n '}';\n }\n\n if (toStringed === '[object Set]') {\n return hitMaxDepth\n ? '[Set]'\n : 'Set {' +\n (0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}';\n } // Avoid failure to serialize global window object in jsdom test environment.\n // For example, not even relevant if window is prop of React element.\n\n return hitMaxDepth || isWindow(val)\n ? '[' + getConstructorName(val) + ']'\n : (min\n ? ''\n : !config.printBasicPrototype && getConstructorName(val) === 'Object'\n ? ''\n : getConstructorName(val) + ' ') +\n '{' +\n (0, _collections.printObjectProperties)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}';\n}\n\nfunction isNewPlugin(plugin) {\n return plugin.serialize != null;\n}\n\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n let printed;\n\n try {\n printed = isNewPlugin(plugin)\n ? plugin.serialize(val, config, indentation, depth, refs, printer)\n : plugin.print(\n val,\n valChild => printer(valChild, config, indentation, depth, refs),\n str => {\n const indentationNext = indentation + config.indent;\n return (\n indentationNext +\n str.replace(NEWLINE_REGEXP, '\\n' + indentationNext)\n );\n },\n {\n edgeSpacing: config.spacingOuter,\n min: config.min,\n spacing: config.spacingInner\n },\n config.colors\n );\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n\n if (typeof printed !== 'string') {\n throw new Error(\n `pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`\n );\n }\n\n return printed;\n}\n\nfunction findPlugin(plugins, val) {\n for (let p = 0; p < plugins.length; p++) {\n try {\n if (plugins[p].test(val)) {\n return plugins[p];\n }\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n }\n\n return null;\n}\n\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n const plugin = findPlugin(config.plugins, val);\n\n if (plugin !== null) {\n return printPlugin(plugin, val, config, indentation, depth, refs);\n }\n\n const basicResult = printBasicValue(\n val,\n config.printFunctionName,\n config.escapeRegex,\n config.escapeString\n );\n\n if (basicResult !== null) {\n return basicResult;\n }\n\n return printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n );\n}\n\nconst DEFAULT_THEME = {\n comment: 'gray',\n content: 'reset',\n prop: 'yellow',\n tag: 'cyan',\n value: 'green'\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\nconst DEFAULT_OPTIONS = {\n callToJSON: true,\n compareKeys: undefined,\n escapeRegex: false,\n escapeString: true,\n highlight: false,\n indent: 2,\n maxDepth: Infinity,\n min: false,\n plugins: [],\n printBasicPrototype: true,\n printFunctionName: true,\n theme: DEFAULT_THEME\n};\nexports.DEFAULT_OPTIONS = DEFAULT_OPTIONS;\n\nfunction validateOptions(options) {\n Object.keys(options).forEach(key => {\n if (!DEFAULT_OPTIONS.hasOwnProperty(key)) {\n throw new Error(`pretty-format: Unknown option \"${key}\".`);\n }\n });\n\n if (options.min && options.indent !== undefined && options.indent !== 0) {\n throw new Error(\n 'pretty-format: Options \"min\" and \"indent\" cannot be used together.'\n );\n }\n\n if (options.theme !== undefined) {\n if (options.theme === null) {\n throw new Error('pretty-format: Option \"theme\" must not be null.');\n }\n\n if (typeof options.theme !== 'object') {\n throw new Error(\n `pretty-format: Option \"theme\" must be of type \"object\" but instead received \"${typeof options.theme}\".`\n );\n }\n }\n}\n\nconst getColorsHighlight = options =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n const value =\n options.theme && options.theme[key] !== undefined\n ? options.theme[key]\n : DEFAULT_THEME[key];\n const color = value && _ansiStyles.default[value];\n\n if (\n color &&\n typeof color.close === 'string' &&\n typeof color.open === 'string'\n ) {\n colors[key] = color;\n } else {\n throw new Error(\n `pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`\n );\n }\n\n return colors;\n }, Object.create(null));\n\nconst getColorsEmpty = () =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n colors[key] = {\n close: '',\n open: ''\n };\n return colors;\n }, Object.create(null));\n\nconst getPrintFunctionName = options =>\n options && options.printFunctionName !== undefined\n ? options.printFunctionName\n : DEFAULT_OPTIONS.printFunctionName;\n\nconst getEscapeRegex = options =>\n options && options.escapeRegex !== undefined\n ? options.escapeRegex\n : DEFAULT_OPTIONS.escapeRegex;\n\nconst getEscapeString = options =>\n options && options.escapeString !== undefined\n ? options.escapeString\n : DEFAULT_OPTIONS.escapeString;\n\nconst getConfig = options => {\n var _options$printBasicPr;\n\n return {\n callToJSON:\n options && options.callToJSON !== undefined\n ? options.callToJSON\n : DEFAULT_OPTIONS.callToJSON,\n colors:\n options && options.highlight\n ? getColorsHighlight(options)\n : getColorsEmpty(),\n compareKeys:\n options && typeof options.compareKeys === 'function'\n ? options.compareKeys\n : DEFAULT_OPTIONS.compareKeys,\n escapeRegex: getEscapeRegex(options),\n escapeString: getEscapeString(options),\n indent:\n options && options.min\n ? ''\n : createIndent(\n options && options.indent !== undefined\n ? options.indent\n : DEFAULT_OPTIONS.indent\n ),\n maxDepth:\n options && options.maxDepth !== undefined\n ? options.maxDepth\n : DEFAULT_OPTIONS.maxDepth,\n min:\n options && options.min !== undefined ? options.min : DEFAULT_OPTIONS.min,\n plugins:\n options && options.plugins !== undefined\n ? options.plugins\n : DEFAULT_OPTIONS.plugins,\n printBasicPrototype:\n (_options$printBasicPr =\n options === null || options === void 0\n ? void 0\n : options.printBasicPrototype) !== null &&\n _options$printBasicPr !== void 0\n ? _options$printBasicPr\n : true,\n printFunctionName: getPrintFunctionName(options),\n spacingInner: options && options.min ? ' ' : '\\n',\n spacingOuter: options && options.min ? '' : '\\n'\n };\n};\n\nfunction createIndent(indent) {\n return new Array(indent + 1).join(' ');\n}\n/**\n * Returns a presentation string of your `val` object\n * @param val any potential JavaScript object\n * @param options Custom settings\n */\n\nfunction format(val, options) {\n if (options) {\n validateOptions(options);\n\n if (options.plugins) {\n const plugin = findPlugin(options.plugins, val);\n\n if (plugin !== null) {\n return printPlugin(plugin, val, getConfig(options), '', 0, []);\n }\n }\n }\n\n const basicResult = printBasicValue(\n val,\n getPrintFunctionName(options),\n getEscapeRegex(options),\n getEscapeString(options)\n );\n\n if (basicResult !== null) {\n return basicResult;\n }\n\n return printComplexValue(val, getConfig(options), '', 0, []);\n}\n\nconst plugins = {\n AsymmetricMatcher: _AsymmetricMatcher.default,\n ConvertAnsi: _ConvertAnsi.default,\n DOMCollection: _DOMCollection.default,\n DOMElement: _DOMElement.default,\n Immutable: _Immutable.default,\n ReactElement: _ReactElement.default,\n ReactTestComponent: _ReactTestComponent.default\n};\nexports.plugins = plugins;\nvar _default = format;\nexports.default = _default;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// eslint-disable-next-line no-unused-vars\nfunction iteratorProxy() {\n var values = this;\n var index = 0;\n var iter = {\n '@@iterator': function iterator() {\n return iter;\n },\n next: function next() {\n if (index < values.length) {\n var value = values[index];\n index = index + 1;\n return {\n done: false,\n value: value\n };\n } else {\n return {\n done: true\n };\n }\n }\n };\n return iter;\n}\nvar _default = iteratorProxy;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = iterationDecorator;\nvar _iteratorProxy = _interopRequireDefault(require(\"./iteratorProxy\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction iterationDecorator(collection, entries) {\n if (typeof Symbol === 'function' && _typeof(Symbol.iterator) === 'symbol') {\n Object.defineProperty(collection, Symbol.iterator, {\n value: _iteratorProxy.default.bind(entries)\n });\n }\n return collection;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar properties = [['aria-activedescendant', {\n 'type': 'id'\n}], ['aria-atomic', {\n 'type': 'boolean'\n}], ['aria-autocomplete', {\n 'type': 'token',\n 'values': ['inline', 'list', 'both', 'none']\n}], ['aria-braillelabel', {\n 'type': 'string'\n}], ['aria-brailleroledescription', {\n 'type': 'string'\n}], ['aria-busy', {\n 'type': 'boolean'\n}], ['aria-checked', {\n 'type': 'tristate'\n}], ['aria-colcount', {\n type: 'integer'\n}], ['aria-colindex', {\n type: 'integer'\n}], ['aria-colspan', {\n type: 'integer'\n}], ['aria-controls', {\n 'type': 'idlist'\n}], ['aria-current', {\n type: 'token',\n values: ['page', 'step', 'location', 'date', 'time', true, false]\n}], ['aria-describedby', {\n 'type': 'idlist'\n}], ['aria-description', {\n 'type': 'string'\n}], ['aria-details', {\n 'type': 'id'\n}], ['aria-disabled', {\n 'type': 'boolean'\n}], ['aria-dropeffect', {\n 'type': 'tokenlist',\n 'values': ['copy', 'execute', 'link', 'move', 'none', 'popup']\n}], ['aria-errormessage', {\n 'type': 'id'\n}], ['aria-expanded', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-flowto', {\n 'type': 'idlist'\n}], ['aria-grabbed', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-haspopup', {\n 'type': 'token',\n 'values': [false, true, 'menu', 'listbox', 'tree', 'grid', 'dialog']\n}], ['aria-hidden', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-invalid', {\n 'type': 'token',\n 'values': ['grammar', false, 'spelling', true]\n}], ['aria-keyshortcuts', {\n type: 'string'\n}], ['aria-label', {\n 'type': 'string'\n}], ['aria-labelledby', {\n 'type': 'idlist'\n}], ['aria-level', {\n 'type': 'integer'\n}], ['aria-live', {\n 'type': 'token',\n 'values': ['assertive', 'off', 'polite']\n}], ['aria-modal', {\n type: 'boolean'\n}], ['aria-multiline', {\n 'type': 'boolean'\n}], ['aria-multiselectable', {\n 'type': 'boolean'\n}], ['aria-orientation', {\n 'type': 'token',\n 'values': ['vertical', 'undefined', 'horizontal']\n}], ['aria-owns', {\n 'type': 'idlist'\n}], ['aria-placeholder', {\n type: 'string'\n}], ['aria-posinset', {\n 'type': 'integer'\n}], ['aria-pressed', {\n 'type': 'tristate'\n}], ['aria-readonly', {\n 'type': 'boolean'\n}], ['aria-relevant', {\n 'type': 'tokenlist',\n 'values': ['additions', 'all', 'removals', 'text']\n}], ['aria-required', {\n 'type': 'boolean'\n}], ['aria-roledescription', {\n type: 'string'\n}], ['aria-rowcount', {\n type: 'integer'\n}], ['aria-rowindex', {\n type: 'integer'\n}], ['aria-rowspan', {\n type: 'integer'\n}], ['aria-selected', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-setsize', {\n 'type': 'integer'\n}], ['aria-sort', {\n 'type': 'token',\n 'values': ['ascending', 'descending', 'none', 'other']\n}], ['aria-valuemax', {\n 'type': 'number'\n}], ['aria-valuemin', {\n 'type': 'number'\n}], ['aria-valuenow', {\n 'type': 'number'\n}], ['aria-valuetext', {\n 'type': 'string'\n}]];\nvar ariaPropsMap = {\n entries: function entries() {\n return properties;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(properties),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, key, properties);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = properties.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!ariaPropsMap.get(key);\n },\n keys: function keys() {\n return properties.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return properties.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(ariaPropsMap, ariaPropsMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar dom = [['a', {\n reserved: false\n}], ['abbr', {\n reserved: false\n}], ['acronym', {\n reserved: false\n}], ['address', {\n reserved: false\n}], ['applet', {\n reserved: false\n}], ['area', {\n reserved: false\n}], ['article', {\n reserved: false\n}], ['aside', {\n reserved: false\n}], ['audio', {\n reserved: false\n}], ['b', {\n reserved: false\n}], ['base', {\n reserved: true\n}], ['bdi', {\n reserved: false\n}], ['bdo', {\n reserved: false\n}], ['big', {\n reserved: false\n}], ['blink', {\n reserved: false\n}], ['blockquote', {\n reserved: false\n}], ['body', {\n reserved: false\n}], ['br', {\n reserved: false\n}], ['button', {\n reserved: false\n}], ['canvas', {\n reserved: false\n}], ['caption', {\n reserved: false\n}], ['center', {\n reserved: false\n}], ['cite', {\n reserved: false\n}], ['code', {\n reserved: false\n}], ['col', {\n reserved: true\n}], ['colgroup', {\n reserved: true\n}], ['content', {\n reserved: false\n}], ['data', {\n reserved: false\n}], ['datalist', {\n reserved: false\n}], ['dd', {\n reserved: false\n}], ['del', {\n reserved: false\n}], ['details', {\n reserved: false\n}], ['dfn', {\n reserved: false\n}], ['dialog', {\n reserved: false\n}], ['dir', {\n reserved: false\n}], ['div', {\n reserved: false\n}], ['dl', {\n reserved: false\n}], ['dt', {\n reserved: false\n}], ['em', {\n reserved: false\n}], ['embed', {\n reserved: false\n}], ['fieldset', {\n reserved: false\n}], ['figcaption', {\n reserved: false\n}], ['figure', {\n reserved: false\n}], ['font', {\n reserved: false\n}], ['footer', {\n reserved: false\n}], ['form', {\n reserved: false\n}], ['frame', {\n reserved: false\n}], ['frameset', {\n reserved: false\n}], ['h1', {\n reserved: false\n}], ['h2', {\n reserved: false\n}], ['h3', {\n reserved: false\n}], ['h4', {\n reserved: false\n}], ['h5', {\n reserved: false\n}], ['h6', {\n reserved: false\n}], ['head', {\n reserved: true\n}], ['header', {\n reserved: false\n}], ['hgroup', {\n reserved: false\n}], ['hr', {\n reserved: false\n}], ['html', {\n reserved: true\n}], ['i', {\n reserved: false\n}], ['iframe', {\n reserved: false\n}], ['img', {\n reserved: false\n}], ['input', {\n reserved: false\n}], ['ins', {\n reserved: false\n}], ['kbd', {\n reserved: false\n}], ['keygen', {\n reserved: false\n}], ['label', {\n reserved: false\n}], ['legend', {\n reserved: false\n}], ['li', {\n reserved: false\n}], ['link', {\n reserved: true\n}], ['main', {\n reserved: false\n}], ['map', {\n reserved: false\n}], ['mark', {\n reserved: false\n}], ['marquee', {\n reserved: false\n}], ['menu', {\n reserved: false\n}], ['menuitem', {\n reserved: false\n}], ['meta', {\n reserved: true\n}], ['meter', {\n reserved: false\n}], ['nav', {\n reserved: false\n}], ['noembed', {\n reserved: true\n}], ['noscript', {\n reserved: true\n}], ['object', {\n reserved: false\n}], ['ol', {\n reserved: false\n}], ['optgroup', {\n reserved: false\n}], ['option', {\n reserved: false\n}], ['output', {\n reserved: false\n}], ['p', {\n reserved: false\n}], ['param', {\n reserved: true\n}], ['picture', {\n reserved: true\n}], ['pre', {\n reserved: false\n}], ['progress', {\n reserved: false\n}], ['q', {\n reserved: false\n}], ['rp', {\n reserved: false\n}], ['rt', {\n reserved: false\n}], ['rtc', {\n reserved: false\n}], ['ruby', {\n reserved: false\n}], ['s', {\n reserved: false\n}], ['samp', {\n reserved: false\n}], ['script', {\n reserved: true\n}], ['section', {\n reserved: false\n}], ['select', {\n reserved: false\n}], ['small', {\n reserved: false\n}], ['source', {\n reserved: true\n}], ['spacer', {\n reserved: false\n}], ['span', {\n reserved: false\n}], ['strike', {\n reserved: false\n}], ['strong', {\n reserved: false\n}], ['style', {\n reserved: true\n}], ['sub', {\n reserved: false\n}], ['summary', {\n reserved: false\n}], ['sup', {\n reserved: false\n}], ['table', {\n reserved: false\n}], ['tbody', {\n reserved: false\n}], ['td', {\n reserved: false\n}], ['textarea', {\n reserved: false\n}], ['tfoot', {\n reserved: false\n}], ['th', {\n reserved: false\n}], ['thead', {\n reserved: false\n}], ['time', {\n reserved: false\n}], ['title', {\n reserved: true\n}], ['tr', {\n reserved: false\n}], ['track', {\n reserved: true\n}], ['tt', {\n reserved: false\n}], ['u', {\n reserved: false\n}], ['ul', {\n reserved: false\n}], ['var', {\n reserved: false\n}], ['video', {\n reserved: false\n}], ['wbr', {\n reserved: false\n}], ['xmp', {\n reserved: false\n}]];\nvar domMap = {\n entries: function entries() {\n return dom;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(dom),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, key, dom);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = dom.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!domMap.get(key);\n },\n keys: function keys() {\n return dom.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return dom.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(domMap, domMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar commandRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget']]\n};\nvar _default = commandRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar compositeRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-disabled': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget']]\n};\nvar _default = compositeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar inputRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null\n },\n relatedConcepts: [{\n concept: {\n name: 'input'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget']]\n};\nvar _default = inputRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar landmarkRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = landmarkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rangeRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-valuemax': null,\n 'aria-valuemin': null,\n 'aria-valuenow': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = rangeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar roletypeRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {\n 'aria-atomic': null,\n 'aria-busy': null,\n 'aria-controls': null,\n 'aria-current': null,\n 'aria-describedby': null,\n 'aria-details': null,\n 'aria-dropeffect': null,\n 'aria-flowto': null,\n 'aria-grabbed': null,\n 'aria-hidden': null,\n 'aria-keyshortcuts': null,\n 'aria-label': null,\n 'aria-labelledby': null,\n 'aria-live': null,\n 'aria-owns': null,\n 'aria-relevant': null,\n 'aria-roledescription': null\n },\n relatedConcepts: [{\n concept: {\n name: 'role'\n },\n module: 'XHTML'\n }, {\n concept: {\n name: 'type'\n },\n module: 'Dublin Core'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: []\n};\nvar _default = roletypeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar sectionRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'frontmatter'\n },\n module: 'DTB'\n }, {\n concept: {\n name: 'level'\n },\n module: 'DTB'\n }, {\n concept: {\n name: 'level'\n },\n module: 'SMIL'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = sectionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar sectionheadRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = sectionheadRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar selectRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite'], ['roletype', 'structure', 'section', 'group']]\n};\nvar _default = selectRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar structureRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype']]\n};\nvar _default = structureRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar widgetRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype']]\n};\nvar _default = widgetRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar windowRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-modal': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype']]\n};\nvar _default = windowRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _commandRole = _interopRequireDefault(require(\"./abstract/commandRole\"));\nvar _compositeRole = _interopRequireDefault(require(\"./abstract/compositeRole\"));\nvar _inputRole = _interopRequireDefault(require(\"./abstract/inputRole\"));\nvar _landmarkRole = _interopRequireDefault(require(\"./abstract/landmarkRole\"));\nvar _rangeRole = _interopRequireDefault(require(\"./abstract/rangeRole\"));\nvar _roletypeRole = _interopRequireDefault(require(\"./abstract/roletypeRole\"));\nvar _sectionRole = _interopRequireDefault(require(\"./abstract/sectionRole\"));\nvar _sectionheadRole = _interopRequireDefault(require(\"./abstract/sectionheadRole\"));\nvar _selectRole = _interopRequireDefault(require(\"./abstract/selectRole\"));\nvar _structureRole = _interopRequireDefault(require(\"./abstract/structureRole\"));\nvar _widgetRole = _interopRequireDefault(require(\"./abstract/widgetRole\"));\nvar _windowRole = _interopRequireDefault(require(\"./abstract/windowRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaAbstractRoles = [['command', _commandRole.default], ['composite', _compositeRole.default], ['input', _inputRole.default], ['landmark', _landmarkRole.default], ['range', _rangeRole.default], ['roletype', _roletypeRole.default], ['section', _sectionRole.default], ['sectionhead', _sectionheadRole.default], ['select', _selectRole.default], ['structure', _structureRole.default], ['widget', _widgetRole.default], ['window', _windowRole.default]];\nvar _default = ariaAbstractRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar alertRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-atomic': 'true',\n 'aria-live': 'assertive'\n },\n relatedConcepts: [{\n concept: {\n name: 'alert'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = alertRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar alertdialogRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'alert'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'alert'], ['roletype', 'window', 'dialog']]\n};\nvar _default = alertdialogRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar applicationRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'Device Independence Delivery Unit'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = applicationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar articleRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n name: 'article'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'document']]\n};\nvar _default = articleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar bannerRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n constraints: ['scoped to the body element'],\n name: 'header'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = bannerRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar blockquoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'blockquote'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = blockquoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar buttonRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-pressed': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'button'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'type',\n value: 'image'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'type',\n value: 'reset'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'type',\n value: 'submit'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'button'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'trigger'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = buttonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar captionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'caption'\n },\n module: 'HTML'\n }],\n requireContextRole: ['figure', 'grid', 'table'],\n requiredContextRole: ['figure', 'grid', 'table'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = captionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar cellRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-colindex': null,\n 'aria-colspan': null,\n 'aria-rowindex': null,\n 'aria-rowspan': null\n },\n relatedConcepts: [{\n concept: {\n constraints: ['ancestor table element has table role'],\n name: 'td'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row'],\n requiredContextRole: ['row'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = cellRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar checkboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-checked': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'checkbox'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'option'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = checkboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar codeRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'code'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = codeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar columnheaderRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-sort': null\n },\n relatedConcepts: [{\n concept: {\n name: 'th'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'scope',\n value: 'col'\n }],\n name: 'th'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'scope',\n value: 'colgroup'\n }],\n name: 'th'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row'],\n requiredContextRole: ['row'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'structure', 'section', 'cell', 'gridcell'], ['roletype', 'widget', 'gridcell'], ['roletype', 'structure', 'sectionhead']]\n};\nvar _default = columnheaderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar comboboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-autocomplete': null,\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-expanded': 'false',\n 'aria-haspopup': 'listbox'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'email'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'search'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'tel'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'text'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'url'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'url'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'multiple'\n }, {\n constraints: ['undefined'],\n name: 'size'\n }],\n constraints: ['the multiple attribute is not set and the size attribute does not have a value greater than 1'],\n name: 'select'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'select'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-controls': null,\n 'aria-expanded': 'false'\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = comboboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar complementaryRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'aside'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-label'\n }],\n constraints: ['scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'aside'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-labelledby'\n }],\n constraints: ['scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'aside'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = complementaryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar contentinfoRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n constraints: ['scoped to the body element'],\n name: 'footer'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = contentinfoRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar definitionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'dd'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = definitionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar deletionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'del'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = deletionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar dialogRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'dialog'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'window']]\n};\nvar _default = dialogRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar directoryRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n module: 'DAISY Guide'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'list']]\n};\nvar _default = directoryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar documentRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'Device Independence Delivery Unit'\n }\n }, {\n concept: {\n name: 'html'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = documentRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar emphasisRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'em'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = emphasisRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar feedRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['article']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'list']]\n};\nvar _default = feedRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar figureRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'figure'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = figureRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar formRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-label'\n }],\n name: 'form'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-labelledby'\n }],\n name: 'form'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'name'\n }],\n name: 'form'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = formRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar genericRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'a'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'area'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'aside'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'b'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'bdo'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'body'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'data'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'div'\n },\n module: 'HTML'\n }, {\n concept: {\n constraints: ['scoped to the main element', 'scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'footer'\n },\n module: 'HTML'\n }, {\n concept: {\n constraints: ['scoped to the main element', 'scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'header'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'hgroup'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'i'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'pre'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'q'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'samp'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'section'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'small'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'span'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'u'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = genericRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar gridRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-multiselectable': null,\n 'aria-readonly': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite'], ['roletype', 'structure', 'section', 'table']]\n};\nvar _default = gridRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar gridcellRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-selected': null\n },\n relatedConcepts: [{\n concept: {\n constraints: ['ancestor table element has grid role', 'ancestor table element has treegrid role'],\n name: 'td'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row'],\n requiredContextRole: ['row'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'widget']]\n};\nvar _default = gridcellRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar groupRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-disabled': null\n },\n relatedConcepts: [{\n concept: {\n name: 'details'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'fieldset'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'optgroup'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'address'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = groupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar headingRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-level': '2'\n },\n relatedConcepts: [{\n concept: {\n name: 'h1'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h2'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h3'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h4'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h5'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h6'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-level': '2'\n },\n superClass: [['roletype', 'structure', 'sectionhead']]\n};\nvar _default = headingRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar imgRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'alt'\n }],\n name: 'img'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'alt'\n }],\n name: 'img'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'imggroup'\n },\n module: 'DTB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = imgRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar insertionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'ins'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = insertionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar linkRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'href'\n }],\n name: 'a'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'href'\n }],\n name: 'area'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = linkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar listRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'menu'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'ol'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'ul'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['listitem']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = listRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar listboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-invalid': null,\n 'aria-multiselectable': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-orientation': 'vertical'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['>1'],\n name: 'size'\n }],\n constraints: ['the size attribute value is greater than 1'],\n name: 'select'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'multiple'\n }],\n name: 'select'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'datalist'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'list'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'select'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['option', 'group'], ['option']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = listboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar listitemRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-level': null,\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n constraints: ['direct descendant of ol', 'direct descendant of ul', 'direct descendant of menu'],\n name: 'li'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'item'\n },\n module: 'XForms'\n }],\n requireContextRole: ['directory', 'list'],\n requiredContextRole: ['directory', 'list'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = listitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar logRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-live': 'polite'\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = logRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar mainRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'main'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = mainRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar markRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: [],\n props: {\n 'aria-braillelabel': null,\n 'aria-brailleroledescription': null,\n 'aria-description': null\n },\n relatedConcepts: [{\n concept: {\n name: 'mark'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = markRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar marqueeRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = marqueeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar mathRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'math'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = mathRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': 'vertical'\n },\n relatedConcepts: [{\n concept: {\n name: 'MENU'\n },\n module: 'JAPI'\n }, {\n concept: {\n name: 'list'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'select'\n },\n module: 'XForms'\n }, {\n concept: {\n name: 'sidebar'\n },\n module: 'DTB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['menuitem', 'group'], ['menuitemradio', 'group'], ['menuitemcheckbox', 'group'], ['menuitem'], ['menuitemcheckbox'], ['menuitemradio']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = menuRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menubarRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': 'horizontal'\n },\n relatedConcepts: [{\n concept: {\n name: 'toolbar'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['menuitem', 'group'], ['menuitemradio', 'group'], ['menuitemcheckbox', 'group'], ['menuitem'], ['menuitemcheckbox'], ['menuitemradio']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select', 'menu'], ['roletype', 'structure', 'section', 'group', 'select', 'menu']]\n};\nvar _default = menubarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuitemRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n name: 'MENU_ITEM'\n },\n module: 'JAPI'\n }, {\n concept: {\n name: 'listitem'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'option'\n },\n module: 'ARIA'\n }],\n requireContextRole: ['group', 'menu', 'menubar'],\n requiredContextRole: ['group', 'menu', 'menubar'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = menuitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuitemcheckboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'menuitem'\n },\n module: 'ARIA'\n }],\n requireContextRole: ['group', 'menu', 'menubar'],\n requiredContextRole: ['group', 'menu', 'menubar'],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input', 'checkbox'], ['roletype', 'widget', 'command', 'menuitem']]\n};\nvar _default = menuitemcheckboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuitemradioRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'menuitem'\n },\n module: 'ARIA'\n }],\n requireContextRole: ['group', 'menu', 'menubar'],\n requiredContextRole: ['group', 'menu', 'menubar'],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input', 'checkbox', 'menuitemcheckbox'], ['roletype', 'widget', 'command', 'menuitem', 'menuitemcheckbox'], ['roletype', 'widget', 'input', 'radio']]\n};\nvar _default = menuitemradioRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar meterRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-valuetext': null,\n 'aria-valuemax': '100',\n 'aria-valuemin': '0'\n },\n relatedConcepts: [{\n concept: {\n name: 'meter'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-valuenow': null\n },\n superClass: [['roletype', 'structure', 'range']]\n};\nvar _default = meterRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar navigationRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'nav'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = navigationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar noneRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: []\n};\nvar _default = noneRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar noteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = noteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar optionRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-checked': null,\n 'aria-posinset': null,\n 'aria-setsize': null,\n 'aria-selected': 'false'\n },\n relatedConcepts: [{\n concept: {\n name: 'item'\n },\n module: 'XForms'\n }, {\n concept: {\n name: 'listitem'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'option'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-selected': 'false'\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = optionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar paragraphRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'p'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = paragraphRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar presentationRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'alt',\n value: ''\n }],\n name: 'img'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = presentationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar progressbarRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-valuetext': null\n },\n relatedConcepts: [{\n concept: {\n name: 'progress'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'status'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'range'], ['roletype', 'widget']]\n};\nvar _default = progressbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar radioRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-checked': null,\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'radio'\n }],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = radioRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar radiogroupRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null\n },\n relatedConcepts: [{\n concept: {\n name: 'list'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['radio']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = radiogroupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar regionRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-label'\n }],\n name: 'section'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-labelledby'\n }],\n name: 'section'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'Device Independence Glossart perceivable unit'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = regionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rowRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-colindex': null,\n 'aria-expanded': null,\n 'aria-level': null,\n 'aria-posinset': null,\n 'aria-rowindex': null,\n 'aria-selected': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n name: 'tr'\n },\n module: 'HTML'\n }],\n requireContextRole: ['grid', 'rowgroup', 'table', 'treegrid'],\n requiredContextRole: ['grid', 'rowgroup', 'table', 'treegrid'],\n requiredOwnedElements: [['cell'], ['columnheader'], ['gridcell'], ['rowheader']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'group'], ['roletype', 'widget']]\n};\nvar _default = rowRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rowgroupRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'tbody'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'tfoot'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'thead'\n },\n module: 'HTML'\n }],\n requireContextRole: ['grid', 'table', 'treegrid'],\n requiredContextRole: ['grid', 'table', 'treegrid'],\n requiredOwnedElements: [['row']],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = rowgroupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rowheaderRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-sort': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'scope',\n value: 'row'\n }],\n name: 'th'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'scope',\n value: 'rowgroup'\n }],\n name: 'th'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row', 'rowgroup'],\n requiredContextRole: ['row', 'rowgroup'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'structure', 'section', 'cell', 'gridcell'], ['roletype', 'widget', 'gridcell'], ['roletype', 'structure', 'sectionhead']]\n};\nvar _default = rowheaderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar scrollbarRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-valuetext': null,\n 'aria-orientation': 'vertical',\n 'aria-valuemax': '100',\n 'aria-valuemin': '0'\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-controls': null,\n 'aria-valuenow': null\n },\n superClass: [['roletype', 'structure', 'range'], ['roletype', 'widget']]\n};\nvar _default = scrollbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar searchRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = searchRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar searchboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'search'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'input', 'textbox']]\n};\nvar _default = searchboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar separatorRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-orientation': 'horizontal',\n 'aria-valuemax': '100',\n 'aria-valuemin': '0',\n 'aria-valuenow': null,\n 'aria-valuetext': null\n },\n relatedConcepts: [{\n concept: {\n name: 'hr'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = separatorRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar sliderRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-haspopup': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-valuetext': null,\n 'aria-orientation': 'horizontal',\n 'aria-valuemax': '100',\n 'aria-valuemin': '0'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'range'\n }],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-valuenow': null\n },\n superClass: [['roletype', 'widget', 'input'], ['roletype', 'structure', 'range']]\n};\nvar _default = sliderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar spinbuttonRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-valuetext': null,\n 'aria-valuenow': '0'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'number'\n }],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite'], ['roletype', 'widget', 'input'], ['roletype', 'structure', 'range']]\n};\nvar _default = spinbuttonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar statusRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-atomic': 'true',\n 'aria-live': 'polite'\n },\n relatedConcepts: [{\n concept: {\n name: 'output'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = statusRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar strongRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'strong'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = strongRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar subscriptRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'sub'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = subscriptRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar superscriptRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'sup'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = superscriptRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar switchRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'button'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input', 'checkbox']]\n};\nvar _default = switchRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tabRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-posinset': null,\n 'aria-setsize': null,\n 'aria-selected': 'false'\n },\n relatedConcepts: [],\n requireContextRole: ['tablist'],\n requiredContextRole: ['tablist'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'sectionhead'], ['roletype', 'widget']]\n};\nvar _default = tabRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tableRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-colcount': null,\n 'aria-rowcount': null\n },\n relatedConcepts: [{\n concept: {\n name: 'table'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tableRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tablistRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-level': null,\n 'aria-multiselectable': null,\n 'aria-orientation': 'horizontal'\n },\n relatedConcepts: [{\n module: 'DAISY',\n concept: {\n name: 'guide'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['tab']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite']]\n};\nvar _default = tablistRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tabpanelRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tabpanelRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar termRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'dfn'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'dt'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = termRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar textboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-autocomplete': null,\n 'aria-errormessage': null,\n 'aria-haspopup': null,\n 'aria-invalid': null,\n 'aria-multiline': null,\n 'aria-placeholder': null,\n 'aria-readonly': null,\n 'aria-required': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'type'\n }, {\n constraints: ['undefined'],\n name: 'list'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'email'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'tel'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'text'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'url'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'input'\n },\n module: 'XForms'\n }, {\n concept: {\n name: 'textarea'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = textboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar timeRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'time'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = timeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar timerRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'status']]\n};\nvar _default = timerRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar toolbarRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': 'horizontal'\n },\n relatedConcepts: [{\n concept: {\n name: 'menubar'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'group']]\n};\nvar _default = toolbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tooltipRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tooltipRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar treeRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-multiselectable': null,\n 'aria-required': null,\n 'aria-orientation': 'vertical'\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['treeitem', 'group'], ['treeitem']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = treeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar treegridRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'grid'], ['roletype', 'structure', 'section', 'table', 'grid'], ['roletype', 'widget', 'composite', 'select', 'tree'], ['roletype', 'structure', 'section', 'group', 'select', 'tree']]\n};\nvar _default = treegridRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar treeitemRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-expanded': null,\n 'aria-haspopup': null\n },\n relatedConcepts: [],\n requireContextRole: ['group', 'tree'],\n requiredContextRole: ['group', 'tree'],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-selected': null\n },\n superClass: [['roletype', 'structure', 'section', 'listitem'], ['roletype', 'widget', 'input', 'option']]\n};\nvar _default = treeitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _alertRole = _interopRequireDefault(require(\"./literal/alertRole\"));\nvar _alertdialogRole = _interopRequireDefault(require(\"./literal/alertdialogRole\"));\nvar _applicationRole = _interopRequireDefault(require(\"./literal/applicationRole\"));\nvar _articleRole = _interopRequireDefault(require(\"./literal/articleRole\"));\nvar _bannerRole = _interopRequireDefault(require(\"./literal/bannerRole\"));\nvar _blockquoteRole = _interopRequireDefault(require(\"./literal/blockquoteRole\"));\nvar _buttonRole = _interopRequireDefault(require(\"./literal/buttonRole\"));\nvar _captionRole = _interopRequireDefault(require(\"./literal/captionRole\"));\nvar _cellRole = _interopRequireDefault(require(\"./literal/cellRole\"));\nvar _checkboxRole = _interopRequireDefault(require(\"./literal/checkboxRole\"));\nvar _codeRole = _interopRequireDefault(require(\"./literal/codeRole\"));\nvar _columnheaderRole = _interopRequireDefault(require(\"./literal/columnheaderRole\"));\nvar _comboboxRole = _interopRequireDefault(require(\"./literal/comboboxRole\"));\nvar _complementaryRole = _interopRequireDefault(require(\"./literal/complementaryRole\"));\nvar _contentinfoRole = _interopRequireDefault(require(\"./literal/contentinfoRole\"));\nvar _definitionRole = _interopRequireDefault(require(\"./literal/definitionRole\"));\nvar _deletionRole = _interopRequireDefault(require(\"./literal/deletionRole\"));\nvar _dialogRole = _interopRequireDefault(require(\"./literal/dialogRole\"));\nvar _directoryRole = _interopRequireDefault(require(\"./literal/directoryRole\"));\nvar _documentRole = _interopRequireDefault(require(\"./literal/documentRole\"));\nvar _emphasisRole = _interopRequireDefault(require(\"./literal/emphasisRole\"));\nvar _feedRole = _interopRequireDefault(require(\"./literal/feedRole\"));\nvar _figureRole = _interopRequireDefault(require(\"./literal/figureRole\"));\nvar _formRole = _interopRequireDefault(require(\"./literal/formRole\"));\nvar _genericRole = _interopRequireDefault(require(\"./literal/genericRole\"));\nvar _gridRole = _interopRequireDefault(require(\"./literal/gridRole\"));\nvar _gridcellRole = _interopRequireDefault(require(\"./literal/gridcellRole\"));\nvar _groupRole = _interopRequireDefault(require(\"./literal/groupRole\"));\nvar _headingRole = _interopRequireDefault(require(\"./literal/headingRole\"));\nvar _imgRole = _interopRequireDefault(require(\"./literal/imgRole\"));\nvar _insertionRole = _interopRequireDefault(require(\"./literal/insertionRole\"));\nvar _linkRole = _interopRequireDefault(require(\"./literal/linkRole\"));\nvar _listRole = _interopRequireDefault(require(\"./literal/listRole\"));\nvar _listboxRole = _interopRequireDefault(require(\"./literal/listboxRole\"));\nvar _listitemRole = _interopRequireDefault(require(\"./literal/listitemRole\"));\nvar _logRole = _interopRequireDefault(require(\"./literal/logRole\"));\nvar _mainRole = _interopRequireDefault(require(\"./literal/mainRole\"));\nvar _markRole = _interopRequireDefault(require(\"./literal/markRole\"));\nvar _marqueeRole = _interopRequireDefault(require(\"./literal/marqueeRole\"));\nvar _mathRole = _interopRequireDefault(require(\"./literal/mathRole\"));\nvar _menuRole = _interopRequireDefault(require(\"./literal/menuRole\"));\nvar _menubarRole = _interopRequireDefault(require(\"./literal/menubarRole\"));\nvar _menuitemRole = _interopRequireDefault(require(\"./literal/menuitemRole\"));\nvar _menuitemcheckboxRole = _interopRequireDefault(require(\"./literal/menuitemcheckboxRole\"));\nvar _menuitemradioRole = _interopRequireDefault(require(\"./literal/menuitemradioRole\"));\nvar _meterRole = _interopRequireDefault(require(\"./literal/meterRole\"));\nvar _navigationRole = _interopRequireDefault(require(\"./literal/navigationRole\"));\nvar _noneRole = _interopRequireDefault(require(\"./literal/noneRole\"));\nvar _noteRole = _interopRequireDefault(require(\"./literal/noteRole\"));\nvar _optionRole = _interopRequireDefault(require(\"./literal/optionRole\"));\nvar _paragraphRole = _interopRequireDefault(require(\"./literal/paragraphRole\"));\nvar _presentationRole = _interopRequireDefault(require(\"./literal/presentationRole\"));\nvar _progressbarRole = _interopRequireDefault(require(\"./literal/progressbarRole\"));\nvar _radioRole = _interopRequireDefault(require(\"./literal/radioRole\"));\nvar _radiogroupRole = _interopRequireDefault(require(\"./literal/radiogroupRole\"));\nvar _regionRole = _interopRequireDefault(require(\"./literal/regionRole\"));\nvar _rowRole = _interopRequireDefault(require(\"./literal/rowRole\"));\nvar _rowgroupRole = _interopRequireDefault(require(\"./literal/rowgroupRole\"));\nvar _rowheaderRole = _interopRequireDefault(require(\"./literal/rowheaderRole\"));\nvar _scrollbarRole = _interopRequireDefault(require(\"./literal/scrollbarRole\"));\nvar _searchRole = _interopRequireDefault(require(\"./literal/searchRole\"));\nvar _searchboxRole = _interopRequireDefault(require(\"./literal/searchboxRole\"));\nvar _separatorRole = _interopRequireDefault(require(\"./literal/separatorRole\"));\nvar _sliderRole = _interopRequireDefault(require(\"./literal/sliderRole\"));\nvar _spinbuttonRole = _interopRequireDefault(require(\"./literal/spinbuttonRole\"));\nvar _statusRole = _interopRequireDefault(require(\"./literal/statusRole\"));\nvar _strongRole = _interopRequireDefault(require(\"./literal/strongRole\"));\nvar _subscriptRole = _interopRequireDefault(require(\"./literal/subscriptRole\"));\nvar _superscriptRole = _interopRequireDefault(require(\"./literal/superscriptRole\"));\nvar _switchRole = _interopRequireDefault(require(\"./literal/switchRole\"));\nvar _tabRole = _interopRequireDefault(require(\"./literal/tabRole\"));\nvar _tableRole = _interopRequireDefault(require(\"./literal/tableRole\"));\nvar _tablistRole = _interopRequireDefault(require(\"./literal/tablistRole\"));\nvar _tabpanelRole = _interopRequireDefault(require(\"./literal/tabpanelRole\"));\nvar _termRole = _interopRequireDefault(require(\"./literal/termRole\"));\nvar _textboxRole = _interopRequireDefault(require(\"./literal/textboxRole\"));\nvar _timeRole = _interopRequireDefault(require(\"./literal/timeRole\"));\nvar _timerRole = _interopRequireDefault(require(\"./literal/timerRole\"));\nvar _toolbarRole = _interopRequireDefault(require(\"./literal/toolbarRole\"));\nvar _tooltipRole = _interopRequireDefault(require(\"./literal/tooltipRole\"));\nvar _treeRole = _interopRequireDefault(require(\"./literal/treeRole\"));\nvar _treegridRole = _interopRequireDefault(require(\"./literal/treegridRole\"));\nvar _treeitemRole = _interopRequireDefault(require(\"./literal/treeitemRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaLiteralRoles = [['alert', _alertRole.default], ['alertdialog', _alertdialogRole.default], ['application', _applicationRole.default], ['article', _articleRole.default], ['banner', _bannerRole.default], ['blockquote', _blockquoteRole.default], ['button', _buttonRole.default], ['caption', _captionRole.default], ['cell', _cellRole.default], ['checkbox', _checkboxRole.default], ['code', _codeRole.default], ['columnheader', _columnheaderRole.default], ['combobox', _comboboxRole.default], ['complementary', _complementaryRole.default], ['contentinfo', _contentinfoRole.default], ['definition', _definitionRole.default], ['deletion', _deletionRole.default], ['dialog', _dialogRole.default], ['directory', _directoryRole.default], ['document', _documentRole.default], ['emphasis', _emphasisRole.default], ['feed', _feedRole.default], ['figure', _figureRole.default], ['form', _formRole.default], ['generic', _genericRole.default], ['grid', _gridRole.default], ['gridcell', _gridcellRole.default], ['group', _groupRole.default], ['heading', _headingRole.default], ['img', _imgRole.default], ['insertion', _insertionRole.default], ['link', _linkRole.default], ['list', _listRole.default], ['listbox', _listboxRole.default], ['listitem', _listitemRole.default], ['log', _logRole.default], ['main', _mainRole.default], ['mark', _markRole.default], ['marquee', _marqueeRole.default], ['math', _mathRole.default], ['menu', _menuRole.default], ['menubar', _menubarRole.default], ['menuitem', _menuitemRole.default], ['menuitemcheckbox', _menuitemcheckboxRole.default], ['menuitemradio', _menuitemradioRole.default], ['meter', _meterRole.default], ['navigation', _navigationRole.default], ['none', _noneRole.default], ['note', _noteRole.default], ['option', _optionRole.default], ['paragraph', _paragraphRole.default], ['presentation', _presentationRole.default], ['progressbar', _progressbarRole.default], ['radio', _radioRole.default], ['radiogroup', _radiogroupRole.default], ['region', _regionRole.default], ['row', _rowRole.default], ['rowgroup', _rowgroupRole.default], ['rowheader', _rowheaderRole.default], ['scrollbar', _scrollbarRole.default], ['search', _searchRole.default], ['searchbox', _searchboxRole.default], ['separator', _separatorRole.default], ['slider', _sliderRole.default], ['spinbutton', _spinbuttonRole.default], ['status', _statusRole.default], ['strong', _strongRole.default], ['subscript', _subscriptRole.default], ['superscript', _superscriptRole.default], ['switch', _switchRole.default], ['tab', _tabRole.default], ['table', _tableRole.default], ['tablist', _tablistRole.default], ['tabpanel', _tabpanelRole.default], ['term', _termRole.default], ['textbox', _textboxRole.default], ['time', _timeRole.default], ['timer', _timerRole.default], ['toolbar', _toolbarRole.default], ['tooltip', _tooltipRole.default], ['tree', _treeRole.default], ['treegrid', _treegridRole.default], ['treeitem', _treeitemRole.default]];\nvar _default = ariaLiteralRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAbstractRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'abstract [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docAbstractRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAcknowledgmentsRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'acknowledgments [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAcknowledgmentsRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAfterwordRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'afterword [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAfterwordRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAppendixRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'appendix [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAppendixRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBacklinkRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'referrer [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docBacklinkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBiblioentryRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'EPUB biblioentry [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: ['doc-bibliography'],\n requiredContextRole: ['doc-bibliography'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'listitem']]\n};\nvar _default = docBiblioentryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBibliographyRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'bibliography [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['doc-biblioentry']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docBibliographyRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBibliorefRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'biblioref [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docBibliorefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docChapterRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'chapter [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docChapterRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docColophonRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'colophon [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docColophonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docConclusionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'conclusion [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docConclusionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docCoverRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'cover [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'img']]\n};\nvar _default = docCoverRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docCreditRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'credit [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docCreditRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docCreditsRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'credits [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docCreditsRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docDedicationRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'dedication [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docDedicationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEndnoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'rearnote [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: ['doc-endnotes'],\n requiredContextRole: ['doc-endnotes'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'listitem']]\n};\nvar _default = docEndnoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEndnotesRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'rearnotes [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['doc-endnote']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docEndnotesRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEpigraphRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'epigraph [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docEpigraphRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEpilogueRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'epilogue [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docEpilogueRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docErrataRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'errata [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docErrataRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docExampleRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docExampleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docFootnoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'footnote [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docFootnoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docForewordRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'foreword [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docForewordRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docGlossaryRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'glossary [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['definition'], ['term']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docGlossaryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docGlossrefRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'glossref [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docGlossrefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docIndexRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'index [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docIndexRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docIntroductionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'introduction [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docIntroductionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docNoterefRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'noteref [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docNoterefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docNoticeRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'notice [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'note']]\n};\nvar _default = docNoticeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPagebreakRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'pagebreak [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'separator']]\n};\nvar _default = docPagebreakRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPagelistRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'page-list [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docPagelistRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPartRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'part [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPartRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPrefaceRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'preface [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPrefaceRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPrologueRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'prologue [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPrologueRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPullquoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'pullquote [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['none']]\n};\nvar _default = docPullquoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docQnaRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'qna [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docQnaRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docSubtitleRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'subtitle [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'sectionhead']]\n};\nvar _default = docSubtitleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docTipRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'help [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'note']]\n};\nvar _default = docTipRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docTocRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'toc [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docTocRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _docAbstractRole = _interopRequireDefault(require(\"./dpub/docAbstractRole\"));\nvar _docAcknowledgmentsRole = _interopRequireDefault(require(\"./dpub/docAcknowledgmentsRole\"));\nvar _docAfterwordRole = _interopRequireDefault(require(\"./dpub/docAfterwordRole\"));\nvar _docAppendixRole = _interopRequireDefault(require(\"./dpub/docAppendixRole\"));\nvar _docBacklinkRole = _interopRequireDefault(require(\"./dpub/docBacklinkRole\"));\nvar _docBiblioentryRole = _interopRequireDefault(require(\"./dpub/docBiblioentryRole\"));\nvar _docBibliographyRole = _interopRequireDefault(require(\"./dpub/docBibliographyRole\"));\nvar _docBibliorefRole = _interopRequireDefault(require(\"./dpub/docBibliorefRole\"));\nvar _docChapterRole = _interopRequireDefault(require(\"./dpub/docChapterRole\"));\nvar _docColophonRole = _interopRequireDefault(require(\"./dpub/docColophonRole\"));\nvar _docConclusionRole = _interopRequireDefault(require(\"./dpub/docConclusionRole\"));\nvar _docCoverRole = _interopRequireDefault(require(\"./dpub/docCoverRole\"));\nvar _docCreditRole = _interopRequireDefault(require(\"./dpub/docCreditRole\"));\nvar _docCreditsRole = _interopRequireDefault(require(\"./dpub/docCreditsRole\"));\nvar _docDedicationRole = _interopRequireDefault(require(\"./dpub/docDedicationRole\"));\nvar _docEndnoteRole = _interopRequireDefault(require(\"./dpub/docEndnoteRole\"));\nvar _docEndnotesRole = _interopRequireDefault(require(\"./dpub/docEndnotesRole\"));\nvar _docEpigraphRole = _interopRequireDefault(require(\"./dpub/docEpigraphRole\"));\nvar _docEpilogueRole = _interopRequireDefault(require(\"./dpub/docEpilogueRole\"));\nvar _docErrataRole = _interopRequireDefault(require(\"./dpub/docErrataRole\"));\nvar _docExampleRole = _interopRequireDefault(require(\"./dpub/docExampleRole\"));\nvar _docFootnoteRole = _interopRequireDefault(require(\"./dpub/docFootnoteRole\"));\nvar _docForewordRole = _interopRequireDefault(require(\"./dpub/docForewordRole\"));\nvar _docGlossaryRole = _interopRequireDefault(require(\"./dpub/docGlossaryRole\"));\nvar _docGlossrefRole = _interopRequireDefault(require(\"./dpub/docGlossrefRole\"));\nvar _docIndexRole = _interopRequireDefault(require(\"./dpub/docIndexRole\"));\nvar _docIntroductionRole = _interopRequireDefault(require(\"./dpub/docIntroductionRole\"));\nvar _docNoterefRole = _interopRequireDefault(require(\"./dpub/docNoterefRole\"));\nvar _docNoticeRole = _interopRequireDefault(require(\"./dpub/docNoticeRole\"));\nvar _docPagebreakRole = _interopRequireDefault(require(\"./dpub/docPagebreakRole\"));\nvar _docPagelistRole = _interopRequireDefault(require(\"./dpub/docPagelistRole\"));\nvar _docPartRole = _interopRequireDefault(require(\"./dpub/docPartRole\"));\nvar _docPrefaceRole = _interopRequireDefault(require(\"./dpub/docPrefaceRole\"));\nvar _docPrologueRole = _interopRequireDefault(require(\"./dpub/docPrologueRole\"));\nvar _docPullquoteRole = _interopRequireDefault(require(\"./dpub/docPullquoteRole\"));\nvar _docQnaRole = _interopRequireDefault(require(\"./dpub/docQnaRole\"));\nvar _docSubtitleRole = _interopRequireDefault(require(\"./dpub/docSubtitleRole\"));\nvar _docTipRole = _interopRequireDefault(require(\"./dpub/docTipRole\"));\nvar _docTocRole = _interopRequireDefault(require(\"./dpub/docTocRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaDpubRoles = [['doc-abstract', _docAbstractRole.default], ['doc-acknowledgments', _docAcknowledgmentsRole.default], ['doc-afterword', _docAfterwordRole.default], ['doc-appendix', _docAppendixRole.default], ['doc-backlink', _docBacklinkRole.default], ['doc-biblioentry', _docBiblioentryRole.default], ['doc-bibliography', _docBibliographyRole.default], ['doc-biblioref', _docBibliorefRole.default], ['doc-chapter', _docChapterRole.default], ['doc-colophon', _docColophonRole.default], ['doc-conclusion', _docConclusionRole.default], ['doc-cover', _docCoverRole.default], ['doc-credit', _docCreditRole.default], ['doc-credits', _docCreditsRole.default], ['doc-dedication', _docDedicationRole.default], ['doc-endnote', _docEndnoteRole.default], ['doc-endnotes', _docEndnotesRole.default], ['doc-epigraph', _docEpigraphRole.default], ['doc-epilogue', _docEpilogueRole.default], ['doc-errata', _docErrataRole.default], ['doc-example', _docExampleRole.default], ['doc-footnote', _docFootnoteRole.default], ['doc-foreword', _docForewordRole.default], ['doc-glossary', _docGlossaryRole.default], ['doc-glossref', _docGlossrefRole.default], ['doc-index', _docIndexRole.default], ['doc-introduction', _docIntroductionRole.default], ['doc-noteref', _docNoterefRole.default], ['doc-notice', _docNoticeRole.default], ['doc-pagebreak', _docPagebreakRole.default], ['doc-pagelist', _docPagelistRole.default], ['doc-part', _docPartRole.default], ['doc-preface', _docPrefaceRole.default], ['doc-prologue', _docPrologueRole.default], ['doc-pullquote', _docPullquoteRole.default], ['doc-qna', _docQnaRole.default], ['doc-subtitle', _docSubtitleRole.default], ['doc-tip', _docTipRole.default], ['doc-toc', _docTocRole.default]];\nvar _default = ariaDpubRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar graphicsDocumentRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n module: 'GRAPHICS',\n concept: {\n name: 'graphics-object'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'img'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'article'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'document']]\n};\nvar _default = graphicsDocumentRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar graphicsObjectRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n module: 'GRAPHICS',\n concept: {\n name: 'graphics-document'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'group'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'img'\n }\n }, {\n module: 'GRAPHICS',\n concept: {\n name: 'graphics-symbol'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'group']]\n};\nvar _default = graphicsObjectRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar graphicsSymbolRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'img']]\n};\nvar _default = graphicsSymbolRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _graphicsDocumentRole = _interopRequireDefault(require(\"./graphics/graphicsDocumentRole\"));\nvar _graphicsObjectRole = _interopRequireDefault(require(\"./graphics/graphicsObjectRole\"));\nvar _graphicsSymbolRole = _interopRequireDefault(require(\"./graphics/graphicsSymbolRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaGraphicsRoles = [['graphics-document', _graphicsDocumentRole.default], ['graphics-object', _graphicsObjectRole.default], ['graphics-symbol', _graphicsSymbolRole.default]];\nvar _default = ariaGraphicsRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _ariaAbstractRoles = _interopRequireDefault(require(\"./etc/roles/ariaAbstractRoles\"));\nvar _ariaLiteralRoles = _interopRequireDefault(require(\"./etc/roles/ariaLiteralRoles\"));\nvar _ariaDpubRoles = _interopRequireDefault(require(\"./etc/roles/ariaDpubRoles\"));\nvar _ariaGraphicsRoles = _interopRequireDefault(require(\"./etc/roles/ariaGraphicsRoles\"));\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nvar roles = [].concat(_ariaAbstractRoles.default, _ariaLiteralRoles.default, _ariaDpubRoles.default, _ariaGraphicsRoles.default);\nroles.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n roleDefinition = _ref2[1];\n // Conglomerate the properties\n var _iterator = _createForOfIteratorHelper(roleDefinition.superClass),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var superClassIter = _step.value;\n var _iterator2 = _createForOfIteratorHelper(superClassIter),\n _step2;\n try {\n var _loop = function _loop() {\n var superClassName = _step2.value;\n var superClassRoleTuple = roles.find(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n name = _ref4[0];\n return name === superClassName;\n });\n if (superClassRoleTuple) {\n var superClassDefinition = superClassRoleTuple[1];\n for (var _i2 = 0, _Object$keys = Object.keys(superClassDefinition.props); _i2 < _Object$keys.length; _i2++) {\n var prop = _Object$keys[_i2];\n if (\n // $FlowIssue Accessing the hasOwnProperty on the Object prototype is fine.\n !Object.prototype.hasOwnProperty.call(roleDefinition.props, prop)) {\n Object.assign(roleDefinition.props, _defineProperty({}, prop, superClassDefinition.props[prop]));\n }\n }\n }\n };\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n});\nvar rolesMap = {\n entries: function entries() {\n return roles;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator3 = _createForOfIteratorHelper(roles),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _slicedToArray(_step3.value, 2),\n key = _step3$value[0],\n values = _step3$value[1];\n fn.call(thisArg, values, key, roles);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n },\n get: function get(key) {\n var item = roles.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!rolesMap.get(key);\n },\n keys: function keys() {\n return roles.map(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n key = _ref6[0];\n return key;\n });\n },\n values: function values() {\n return roles.map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n values = _ref8[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(rolesMap, rolesMap.entries());\nexports.default = _default;","var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _lite = require(\"dequal/lite\");\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar elementRoles = [];\nvar keys = _rolesMap.default.keys();\nfor (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var role = _rolesMap.default.get(key);\n if (role) {\n var concepts = [].concat(role.baseConcepts, role.relatedConcepts);\n for (var k = 0; k < concepts.length; k++) {\n var relation = concepts[k];\n if (relation.module === 'HTML') {\n (function () {\n var concept = relation.concept;\n if (concept) {\n var elementRoleRelation = elementRoles.find(function (relation) {\n return (0, _lite.dequal)(relation, concept);\n });\n var roles;\n if (elementRoleRelation) {\n roles = elementRoleRelation[1];\n } else {\n roles = [];\n }\n var isUnique = true;\n for (var _i = 0; _i < roles.length; _i++) {\n if (roles[_i] === key) {\n isUnique = false;\n break;\n }\n }\n if (isUnique) {\n roles.push(key);\n }\n elementRoles.push([concept, roles]);\n }\n })();\n }\n }\n }\n}\nvar elementRoleMap = {\n entries: function entries() {\n return elementRoles;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(elementRoles),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n _key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, _key, elementRoles);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = elementRoles.find(function (tuple) {\n return key.name === tuple[0].name && (0, _lite.dequal)(key.attributes, tuple[0].attributes);\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!elementRoleMap.get(key);\n },\n keys: function keys() {\n return elementRoles.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return elementRoles.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(elementRoleMap, elementRoleMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar roleElement = [];\nvar keys = _rolesMap.default.keys();\nfor (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var role = _rolesMap.default.get(key);\n var relationConcepts = [];\n if (role) {\n var concepts = [].concat(role.baseConcepts, role.relatedConcepts);\n for (var k = 0; k < concepts.length; k++) {\n var relation = concepts[k];\n if (relation.module === 'HTML') {\n var concept = relation.concept;\n if (concept != null) {\n relationConcepts.push(concept);\n }\n }\n }\n if (relationConcepts.length > 0) {\n roleElement.push([key, relationConcepts]);\n }\n }\n}\nvar roleElementMap = {\n entries: function entries() {\n return roleElement;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(roleElement),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n _key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, _key, roleElement);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = roleElement.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!roleElementMap.get(key);\n },\n keys: function keys() {\n return roleElement.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return roleElement.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(roleElementMap, roleElementMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.roles = exports.roleElements = exports.elementRoles = exports.dom = exports.aria = void 0;\nvar _ariaPropsMap = _interopRequireDefault(require(\"./ariaPropsMap\"));\nvar _domMap = _interopRequireDefault(require(\"./domMap\"));\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\nvar _elementRoleMap = _interopRequireDefault(require(\"./elementRoleMap\"));\nvar _roleElementMap = _interopRequireDefault(require(\"./roleElementMap\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar aria = _ariaPropsMap.default;\nexports.aria = aria;\nvar dom = _domMap.default;\nexports.dom = dom;\nvar roles = _rolesMap.default;\nexports.roles = roles;\nvar elementRoles = _elementRoleMap.default;\nexports.elementRoles = elementRoles;\nvar roleElements = _roleElementMap.default;\nexports.roleElements = roleElements;","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n","import { TimestampProvider } from '../types';\n\ninterface PerformanceTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const performanceTimestampProvider: PerformanceTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (performanceTimestampProvider.delegate || performance).now();\n },\n delegate: undefined,\n};\n","import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n","import { Observable } from '../../Observable';\nimport { TimestampProvider } from '../../types';\nimport { performanceTimestampProvider } from '../../scheduler/performanceTimestampProvider';\nimport { animationFrameProvider } from '../../scheduler/animationFrameProvider';\n\n/**\n * An observable of animation frames\n *\n * Emits the amount of time elapsed since subscription and the timestamp on each animation frame.\n * Defaults to milliseconds provided to the requestAnimationFrame's callback. Does not end on its own.\n *\n * Every subscription will start a separate animation loop. Since animation frames are always scheduled\n * by the browser to occur directly before a repaint, scheduling more than one animation frame synchronously\n * should not be much different or have more overhead than looping over an array of events during\n * a single animation frame. However, if for some reason the developer would like to ensure the\n * execution of animation-related handlers are all executed during the same task by the engine,\n * the `share` operator can be used.\n *\n * This is useful for setting up animations with RxJS.\n *\n * ## Examples\n *\n * Tweening a div to move it on the screen\n *\n * ```ts\n * import { animationFrames, map, takeWhile, endWith } from 'rxjs';\n *\n * function tween(start: number, end: number, duration: number) {\n * const diff = end - start;\n * return animationFrames().pipe(\n * // Figure out what percentage of time has passed\n * map(({ elapsed }) => elapsed / duration),\n * // Take the vector while less than 100%\n * takeWhile(v => v < 1),\n * // Finish with 100%\n * endWith(1),\n * // Calculate the distance traveled between start and end\n * map(v => v * diff + start)\n * );\n * }\n *\n * // Setup a div for us to move around\n * const div = document.createElement('div');\n * document.body.appendChild(div);\n * div.style.position = 'absolute';\n * div.style.width = '40px';\n * div.style.height = '40px';\n * div.style.backgroundColor = 'lime';\n * div.style.transform = 'translate3d(10px, 0, 0)';\n *\n * tween(10, 200, 4000).subscribe(x => {\n * div.style.transform = `translate3d(${ x }px, 0, 0)`;\n * });\n * ```\n *\n * Providing a custom timestamp provider\n *\n * ```ts\n * import { animationFrames, TimestampProvider } from 'rxjs';\n *\n * // A custom timestamp provider\n * let now = 0;\n * const customTSProvider: TimestampProvider = {\n * now() { return now++; }\n * };\n *\n * const source$ = animationFrames(customTSProvider);\n *\n * // Log increasing numbers 0...1...2... on every animation frame.\n * source$.subscribe(({ elapsed }) => console.log(elapsed));\n * ```\n *\n * @param timestampProvider An object with a `now` method that provides a numeric timestamp\n */\nexport function animationFrames(timestampProvider?: TimestampProvider) {\n return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;\n}\n\n/**\n * Does the work of creating the observable for `animationFrames`.\n * @param timestampProvider The timestamp provider to use to create the observable\n */\nfunction animationFramesFactory(timestampProvider?: TimestampProvider) {\n return new Observable<{ timestamp: number; elapsed: number }>((subscriber) => {\n // If no timestamp provider is specified, use performance.now() - as it\n // will return timestamps 'compatible' with those passed to the run\n // callback and won't be affected by NTP adjustments, etc.\n const provider = timestampProvider || performanceTimestampProvider;\n\n // Capture the start time upon subscription, as the run callback can remain\n // queued for a considerable period of time and the elapsed time should\n // represent the time elapsed since subscription - not the time since the\n // first rendered animation frame.\n const start = provider.now();\n\n let id = 0;\n const run = () => {\n if (!subscriber.closed) {\n id = animationFrameProvider.requestAnimationFrame((timestamp: DOMHighResTimeStamp | number) => {\n id = 0;\n // Use the provider's timestamp to calculate the elapsed time. Note that\n // this means - if the caller hasn't passed a provider - that\n // performance.now() will be used instead of the timestamp that was\n // passed to the run callback. The reason for this is that the timestamp\n // passed to the callback can be earlier than the start time, as it\n // represents the time at which the browser decided it would render any\n // queued frames - and that time can be earlier the captured start time.\n const now = provider.now();\n subscriber.next({\n timestamp: timestampProvider ? now : timestamp,\n elapsed: now - start,\n });\n run();\n });\n }\n };\n\n run();\n\n return () => {\n if (id) {\n animationFrameProvider.cancelAnimationFrame(id);\n }\n };\n });\n}\n\n/**\n * In the common case, where the timestamp provided by the rAF API is used,\n * we use this shared observable to reduce overhead.\n */\nconst DEFAULT_ANIMATION_FRAMES = animationFramesFactory();\n","let nextHandle = 1;\n// The promise needs to be created lazily otherwise it won't be patched by Zones\nlet resolved: Promise<any>;\nconst activeHandles: { [key: number]: any } = {};\n\n/**\n * Finds the handle in the list of active handles, and removes it.\n * Returns `true` if found, `false` otherwise. Used both to clear\n * Immediate scheduled tasks, and to identify if a task should be scheduled.\n */\nfunction findAndClearHandle(handle: number): boolean {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\n\n/**\n * Helper functions to schedule and unschedule microtasks.\n */\nexport const Immediate = {\n setImmediate(cb: () => void): number {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n\n clearImmediate(handle: number): void {\n findAndClearHandle(handle);\n },\n};\n\n/**\n * Used for internal testing purposes only. Do not export from library.\n */\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","import { Immediate } from '../util/Immediate';\nimport type { TimerHandle } from './timerHandle';\nconst { setImmediate, clearImmediate } = Immediate;\n\ntype SetImmediateFunction = (handler: () => void, ...args: any[]) => TimerHandle;\ntype ClearImmediateFunction = (handle: TimerHandle) => void;\n\ninterface ImmediateProvider {\n setImmediate: SetImmediateFunction;\n clearImmediate: ClearImmediateFunction;\n delegate:\n | {\n setImmediate: SetImmediateFunction;\n clearImmediate: ClearImmediateFunction;\n }\n | undefined;\n}\n\nexport const immediateProvider: ImmediateProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setImmediate(...args) {\n const { delegate } = immediateProvider;\n return (delegate?.setImmediate || setImmediate)(...args);\n },\n clearImmediate(handle) {\n const { delegate } = immediateProvider;\n return (delegate?.clearImmediate || clearImmediate)(handle as any);\n },\n delegate: undefined,\n};\n","import { AsyncAction } from './AsyncAction';\nimport { AsapScheduler } from './AsapScheduler';\nimport { SchedulerAction } from '../types';\nimport { immediateProvider } from './immediateProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsapAction<T> extends AsyncAction<T> {\n constructor(protected scheduler: AsapScheduler, protected work: (this: SchedulerAction<T>, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If a microtask has already been scheduled, don't schedule another\n // one. If a microtask hasn't been scheduled yet, schedule one now. Return\n // the current scheduled microtask id.\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n }\n\n protected recycleAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested microtask and set the scheduled flag to undefined\n // so the next AsapAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n immediateProvider.clearImmediate(id);\n if (scheduler._scheduled === id) {\n scheduler._scheduled = undefined;\n }\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AsapScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction<any>): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\n\n/**\n *\n * Asap Scheduler\n *\n * <span class=\"informal\">Perform task as fast as it can be performed asynchronously</span>\n *\n * `asap` scheduler behaves the same as {@link asyncScheduler} scheduler when you use it to delay task\n * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing\n * code to end and then it will try to execute given task as fast as possible.\n *\n * `asap` scheduler will do its best to minimize time between end of currently executing code\n * and start of scheduled task. This makes it best candidate for performing so called \"deferring\".\n * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves\n * some (although minimal) unwanted delay.\n *\n * Note that using `asap` scheduler does not necessarily mean that your task will be first to process\n * after currently executing code. In particular, if some task was also scheduled with `asap` before,\n * that task will execute first. That being said, if you need to schedule task asynchronously, but\n * as soon as possible, `asap` scheduler is your best bet.\n *\n * ## Example\n * Compare async and asap scheduler<\n * ```ts\n * import { asapScheduler, asyncScheduler } from 'rxjs';\n *\n * asyncScheduler.schedule(() => console.log('async')); // scheduling 'async' first...\n * asapScheduler.schedule(() => console.log('asap'));\n *\n * // Logs:\n * // \"asap\"\n * // \"async\"\n * // ... but 'asap' goes first!\n * ```\n */\n\nexport const asapScheduler = new AsapScheduler(AsapAction);\n\n/**\n * @deprecated Renamed to {@link asapScheduler}. Will be removed in v8.\n */\nexport const asap = asapScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction<T> extends AsyncAction<T> {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction<T>, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * <span class=\"informal\">Put every next task on a queue, instead of executing it immediately</span>\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction<T> extends AsyncAction<T> {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction<T>, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && id === scheduler._scheduled && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction<any>): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n let flushId;\n if (action) {\n flushId = action.id;\n } else {\n flushId = this._scheduled;\n this._scheduled = undefined;\n }\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * <span class=\"informal\">Perform task when `window.requestAnimationFrame` would fire</span>\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html: <div style=\"background: #0ff;\"></div>\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class VirtualTimeScheduler extends AsyncScheduler {\n /** @deprecated Not used in VirtualTimeScheduler directly. Will be removed in v8. */\n static frameTimeFactor = 10;\n\n /**\n * The current frame for the state of the virtual scheduler instance. The difference\n * between two \"frames\" is synonymous with the passage of \"virtual time units\". So if\n * you record `scheduler.frame` to be `1`, then later, observe `scheduler.frame` to be at `11`,\n * that means `10` virtual time units have passed.\n */\n public frame: number = 0;\n\n /**\n * Used internally to examine the current virtual action index being processed.\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n public index: number = -1;\n\n /**\n * This creates an instance of a `VirtualTimeScheduler`. Experts only. The signature of\n * this constructor is likely to change in the long run.\n *\n * @param schedulerActionCtor The type of Action to initialize when initializing actions during scheduling.\n * @param maxFrames The maximum number of frames to process before stopping. Used to prevent endless flush cycles.\n */\n constructor(schedulerActionCtor: typeof AsyncAction = VirtualAction as any, public maxFrames: number = Infinity) {\n super(schedulerActionCtor, () => this.frame);\n }\n\n /**\n * Prompt the Scheduler to execute all of its queued actions, therefore\n * clearing its queue.\n */\n public flush(): void {\n const { actions, maxFrames } = this;\n let error: any;\n let action: AsyncAction<any> | undefined;\n\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n }\n\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n\nexport class VirtualAction<T> extends AsyncAction<T> {\n protected active: boolean = true;\n\n constructor(\n protected scheduler: VirtualTimeScheduler,\n protected work: (this: SchedulerAction<T>, state?: T) => void,\n protected index: number = (scheduler.index += 1)\n ) {\n super(scheduler, work);\n this.index = scheduler.index = index;\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (Number.isFinite(delay)) {\n if (!this.id) {\n return super.schedule(state, delay);\n }\n this.active = false;\n // If an action is rescheduled, we save allocations by mutating its state,\n // pushing it to the end of the scheduler queue, and recycling the action.\n // But since the VirtualTimeScheduler is used for testing, VirtualActions\n // must be immutable so they can be inspected later.\n const action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n } else {\n // If someone schedules something with Infinity, it'll never happen. So we\n // don't even schedule it.\n return Subscription.EMPTY;\n }\n }\n\n protected requestAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle {\n this.delay = scheduler.frame + delay;\n const { actions } = scheduler;\n actions.push(this);\n (actions as Array<VirtualAction<T>>).sort(VirtualAction.sortActions);\n return 1;\n }\n\n protected recycleAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle | undefined {\n return undefined;\n }\n\n protected _execute(state: T, delay: number): any {\n if (this.active === true) {\n return super._execute(state, delay);\n }\n }\n\n private static sortActions<T>(a: VirtualAction<T>, b: VirtualAction<T>) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n } else if (a.index > b.index) {\n return 1;\n } else {\n return -1;\n }\n } else if (a.delay > b.delay) {\n return 1;\n } else {\n return -1;\n }\n }\n}\n","/** prettier */\nimport { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\n\n/**\n * Tests to see if the object is an RxJS {@link Observable}\n * @param obj the object to test\n */\nexport function isObservable(obj: any): obj is Observable<unknown> {\n // The !! is to ensure that this publicly exposed function returns\n // `false` if something like `null` or `0` is passed.\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n","import { Observable } from './Observable';\nimport { EmptyError } from './util/EmptyError';\n\nexport interface LastValueFromConfig<T> {\n defaultValue: T;\n}\n\nexport function lastValueFrom<T, D>(source: Observable<T>, config: LastValueFromConfig<D>): Promise<T | D>;\nexport function lastValueFrom<T>(source: Observable<T>): Promise<T>;\n\n/**\n * Converts an observable to a promise by subscribing to the observable,\n * waiting for it to complete, and resolving the returned promise with the\n * last value from the observed stream.\n *\n * If the observable stream completes before any values were emitted, the\n * returned promise will reject with {@link EmptyError} or will resolve\n * with the default value if a default was specified.\n *\n * If the observable stream emits an error, the returned promise will reject\n * with that error.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * ## Example\n *\n * Wait for the last value from a stream and emit it from a promise in\n * an async function\n *\n * ```ts\n * import { interval, take, lastValueFrom } from 'rxjs';\n *\n * async function execute() {\n * const source$ = interval(2000).pipe(take(10));\n * const finalNumber = await lastValueFrom(source$);\n * console.log(`The final number is ${ finalNumber }`);\n * }\n *\n * execute();\n *\n * // Expected output:\n * // 'The final number is 9'\n * ```\n *\n * @see {@link firstValueFrom}\n *\n * @param source the observable to convert to a promise\n * @param config a configuration object to define the `defaultValue` to use if the source completes without emitting a value\n */\nexport function lastValueFrom<T, D>(source: Observable<T>, config?: LastValueFromConfig<D>): Promise<T | D> {\n const hasConfig = typeof config === 'object';\n return new Promise<T | D>((resolve, reject) => {\n let _hasValue = false;\n let _value: T;\n source.subscribe({\n next: (value) => {\n _value = value;\n _hasValue = true;\n },\n error: reject,\n complete: () => {\n if (_hasValue) {\n resolve(_value);\n } else if (hasConfig) {\n resolve(config!.defaultValue);\n } else {\n reject(new EmptyError());\n }\n },\n });\n });\n}\n","import { Observable } from './Observable';\nimport { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\n\nexport interface FirstValueFromConfig<T> {\n defaultValue: T;\n}\n\nexport function firstValueFrom<T, D>(source: Observable<T>, config: FirstValueFromConfig<D>): Promise<T | D>;\nexport function firstValueFrom<T>(source: Observable<T>): Promise<T>;\n\n/**\n * Converts an observable to a promise by subscribing to the observable,\n * and returning a promise that will resolve as soon as the first value\n * arrives from the observable. The subscription will then be closed.\n *\n * If the observable stream completes before any values were emitted, the\n * returned promise will reject with {@link EmptyError} or will resolve\n * with the default value if a default was specified.\n *\n * If the observable stream emits an error, the returned promise will reject\n * with that error.\n *\n * **WARNING**: Only use this with observables you *know* will emit at least one value,\n * *OR* complete. If the source observable does not emit one value or complete, you will\n * end up with a promise that is hung up, and potentially all of the state of an\n * async function hanging out in memory. To avoid this situation, look into adding\n * something like {@link timeout}, {@link take}, {@link takeWhile}, or {@link takeUntil}\n * amongst others.\n *\n * ## Example\n *\n * Wait for the first value from a stream and emit it from a promise in\n * an async function\n *\n * ```ts\n * import { interval, firstValueFrom } from 'rxjs';\n *\n * async function execute() {\n * const source$ = interval(2000);\n * const firstNumber = await firstValueFrom(source$);\n * console.log(`The first number is ${ firstNumber }`);\n * }\n *\n * execute();\n *\n * // Expected output:\n * // 'The first number is 0'\n * ```\n *\n * @see {@link lastValueFrom}\n *\n * @param source the observable to convert to a promise\n * @param config a configuration object to define the `defaultValue` to use if the source completes without emitting a value\n */\nexport function firstValueFrom<T, D>(source: Observable<T>, config?: FirstValueFromConfig<D>): Promise<T | D> {\n const hasConfig = typeof config === 'object';\n return new Promise<T | D>((resolve, reject) => {\n const subscriber = new SafeSubscriber<T>({\n next: (value) => {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: () => {\n if (hasConfig) {\n resolve(config!.defaultValue);\n } else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n","import { SchedulerLike } from '../types';\nimport { isScheduler } from '../util/isScheduler';\nimport { Observable } from '../Observable';\nimport { subscribeOn } from '../operators/subscribeOn';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { observeOn } from '../operators/observeOn';\nimport { AsyncSubject } from '../AsyncSubject';\n\nexport function bindCallbackInternals(\n isNodeStyle: boolean,\n callbackFunc: any,\n resultSelector?: any,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<unknown> {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n } else {\n // The user provided a result selector.\n return function (this: any, ...args: any[]) {\n return (bindCallbackInternals(isNodeStyle, callbackFunc, scheduler) as any)\n .apply(this, args)\n .pipe(mapOneOrManyArgs(resultSelector as any));\n };\n }\n }\n\n // If a scheduler was passed, use our `subscribeOn` and `observeOn` operators\n // to compose that behavior for the user.\n if (scheduler) {\n return function (this: any, ...args: any[]) {\n return (bindCallbackInternals(isNodeStyle, callbackFunc) as any)\n .apply(this, args)\n .pipe(subscribeOn(scheduler!), observeOn(scheduler!));\n };\n }\n\n return function (this: any, ...args: any[]): Observable<any> {\n // We're using AsyncSubject, because it emits when it completes,\n // and it will play the value to all late-arriving subscribers.\n const subject = new AsyncSubject<any>();\n\n // If this is true, then we haven't called our function yet.\n let uninitialized = true;\n return new Observable((subscriber) => {\n // Add our subscriber to the subject.\n const subs = subject.subscribe(subscriber);\n\n if (uninitialized) {\n uninitialized = false;\n // We're going to execute the bound function\n // This bit is to signal that we are hitting the callback asynchronously.\n // Because we don't have any anti-\"Zalgo\" guarantees with whatever\n // function we are handed, we use this bit to figure out whether or not\n // we are getting hit in a callback synchronously during our call.\n let isAsync = false;\n\n // This is used to signal that the callback completed synchronously.\n let isComplete = false;\n\n // Call our function that has a callback. If at any time during this\n // call, an error is thrown, it will be caught by the Observable\n // subscription process and sent to the consumer.\n callbackFunc.apply(\n // Pass the appropriate `this` context.\n this,\n [\n // Pass the arguments.\n ...args,\n // And our callback handler.\n (...results: any[]) => {\n if (isNodeStyle) {\n // If this is a node callback, shift the first value off of the\n // results and check it, as it is the error argument. By shifting,\n // we leave only the argument(s) we want to pass to the consumer.\n const err = results.shift();\n if (err != null) {\n subject.error(err);\n // If we've errored, we can stop processing this function\n // as there's nothing else to do. Just return to escape.\n return;\n }\n }\n // If we have one argument, notify the consumer\n // of it as a single value, otherwise, if there's more than one, pass\n // them as an array. Note that if there are no arguments, `undefined`\n // will be emitted.\n subject.next(1 < results.length ? results : results[0]);\n // Flip this flag, so we know we can complete it in the synchronous\n // case below.\n isComplete = true;\n // If we're not asynchronous, we need to defer the `complete` call\n // until after the call to the function is over. This is because an\n // error could be thrown in the function after it calls our callback,\n // and if that is the case, if we complete here, we are unable to notify\n // the consumer than an error occurred.\n if (isAsync) {\n subject.complete();\n }\n },\n ]\n );\n // If we flipped `isComplete` during the call, we resolved synchronously,\n // notify complete, because we skipped it in the callback to wait\n // to make sure there were no errors during the call.\n if (isComplete) {\n subject.complete();\n }\n\n // We're no longer synchronous. If the callback is called at this point\n // we can notify complete on the spot.\n isAsync = true;\n }\n\n // Return the subscription from adding our subscriber to the subject.\n return subs;\n });\n };\n}\n","/* @prettier */\nimport { SchedulerLike } from '../types';\nimport { Observable } from '../Observable';\nimport { bindCallbackInternals } from './bindCallbackInternals';\n\nexport function bindCallback(\n callbackFunc: (...args: any[]) => void,\n resultSelector: (...args: any[]) => any,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<any>;\n\n// args is the arguments array and we push the callback on the rest tuple since the rest parameter must be last (only item) in a parameter list\nexport function bindCallback<A extends readonly unknown[], R extends readonly unknown[]>(\n callbackFunc: (...args: [...A, (...res: R) => void]) => void,\n schedulerLike?: SchedulerLike\n): (...arg: A) => Observable<R extends [] ? void : R extends [any] ? R[0] : R>;\n\n/**\n * Converts a callback API to a function that returns an Observable.\n *\n * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\n * it will return a function `g` that when called as `g(x)` will output an\n * Observable.</span>\n *\n * `bindCallback` is not an operator because its input and output are not\n * Observables. The input is a function `func` with some parameters. The\n * last parameter must be a callback function that `func` calls when it is\n * done.\n *\n * The output of `bindCallback` is a function that takes the same parameters\n * as `func`, except the last one (the callback). When the output function\n * is called with arguments it will return an Observable. If function `func`\n * calls its callback with one argument, the Observable will emit that value.\n * If on the other hand the callback is called with multiple values the resulting\n * Observable will emit an array with said values as arguments.\n *\n * It is **very important** to remember that input function `func` is not called\n * when the output function is, but rather when the Observable returned by the output\n * function is subscribed. This means if `func` makes an AJAX request, that request\n * will be made every time someone subscribes to the resulting Observable, but not before.\n *\n * The last optional parameter - `scheduler` - can be used to control when the call\n * to `func` happens after someone subscribes to Observable, as well as when results\n * passed to callback will be emitted. By default, the subscription to an Observable calls `func`\n * synchronously, but using {@link asyncScheduler} as the last parameter will defer the call to `func`,\n * just like wrapping the call in `setTimeout` with a timeout of `0` would. If you were to use the async Scheduler\n * and call `subscribe` on the output Observable, all function calls that are currently executing\n * will end before `func` is invoked.\n *\n * By default, results passed to the callback are emitted immediately after `func` invokes the callback.\n * In particular, if the callback is called synchronously, then the subscription of the resulting Observable\n * will call the `next` function synchronously as well. If you want to defer that call,\n * you may use {@link asyncScheduler} just as before. This means that by using `Scheduler.async` you can\n * ensure that `func` always calls its callback asynchronously, thus avoiding terrifying Zalgo.\n *\n * Note that the Observable created by the output function will always emit a single value\n * and then complete immediately. If `func` calls the callback multiple times, values from subsequent\n * calls will not appear in the stream. If you need to listen for multiple calls,\n * you probably want to use {@link fromEvent} or {@link fromEventPattern} instead.\n *\n * If `func` depends on some context (`this` property) and is not already bound, the context of `func`\n * will be the context that the output function has at call time. In particular, if `func`\n * is called as a method of some object and if `func` is not already bound, in order to preserve the context\n * it is recommended that the context of the output function is set to that object as well.\n *\n * If the input function calls its callback in the \"node style\" (i.e. first argument to callback is\n * optional error parameter signaling whether the call failed or not), {@link bindNodeCallback}\n * provides convenient error handling and probably is a better choice.\n * `bindCallback` will treat such functions the same as any other and error parameters\n * (whether passed or not) will always be interpreted as regular callback argument.\n *\n * ## Examples\n *\n * Convert jQuery's getJSON to an Observable API\n *\n * ```ts\n * import { bindCallback } from 'rxjs';\n * import * as jQuery from 'jquery';\n *\n * // Suppose we have jQuery.getJSON('/my/url', callback)\n * const getJSONAsObservable = bindCallback(jQuery.getJSON);\n * const result = getJSONAsObservable('/my/url');\n * result.subscribe(x => console.log(x), e => console.error(e));\n * ```\n *\n * Receive an array of arguments passed to a callback\n *\n * ```ts\n * import { bindCallback } from 'rxjs';\n *\n * const someFunction = (n, s, cb) => {\n * cb(n, s, { someProperty: 'someValue' });\n * };\n *\n * const boundSomeFunction = bindCallback(someFunction);\n * boundSomeFunction(5, 'some string').subscribe((values) => {\n * console.log(values); // [5, 'some string', {someProperty: 'someValue'}]\n * });\n * ```\n *\n * Compare behaviour with and without `asyncScheduler`\n *\n * ```ts\n * import { bindCallback, asyncScheduler } from 'rxjs';\n *\n * function iCallMyCallbackSynchronously(cb) {\n * cb();\n * }\n *\n * const boundSyncFn = bindCallback(iCallMyCallbackSynchronously);\n * const boundAsyncFn = bindCallback(iCallMyCallbackSynchronously, null, asyncScheduler);\n *\n * boundSyncFn().subscribe(() => console.log('I was sync!'));\n * boundAsyncFn().subscribe(() => console.log('I was async!'));\n * console.log('This happened...');\n *\n * // Logs:\n * // I was sync!\n * // This happened...\n * // I was async!\n * ```\n *\n * Use `bindCallback` on an object method\n *\n * ```ts\n * import { bindCallback } from 'rxjs';\n *\n * const boundMethod = bindCallback(someObject.methodWithCallback);\n * boundMethod\n * .call(someObject) // make sure methodWithCallback has access to someObject\n * .subscribe(subscriber);\n * ```\n *\n * @see {@link bindNodeCallback}\n * @see {@link from}\n *\n * @param callbackFunc A function with a callback as the last parameter.\n * @param resultSelector A mapping function used to transform callback events.\n * @param scheduler The scheduler on which to schedule the callbacks.\n * @return A function which returns the Observable that delivers the same\n * values the callback would deliver.\n */\nexport function bindCallback(\n callbackFunc: (...args: [...any[], (...res: any) => void]) => void,\n resultSelector?: ((...args: any[]) => any) | SchedulerLike,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<unknown> {\n return bindCallbackInternals(false, callbackFunc, resultSelector, scheduler);\n}\n","/* @prettier */\nimport { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\nimport { bindCallbackInternals } from './bindCallbackInternals';\n\nexport function bindNodeCallback(\n callbackFunc: (...args: any[]) => void,\n resultSelector: (...args: any[]) => any,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<any>;\n\n// args is the arguments array and we push the callback on the rest tuple since the rest parameter must be last (only item) in a parameter list\nexport function bindNodeCallback<A extends readonly unknown[], R extends readonly unknown[]>(\n callbackFunc: (...args: [...A, (err: any, ...res: R) => void]) => void,\n schedulerLike?: SchedulerLike\n): (...arg: A) => Observable<R extends [] ? void : R extends [any] ? R[0] : R>;\n\n/**\n * Converts a Node.js-style callback API to a function that returns an\n * Observable.\n *\n * <span class=\"informal\">It's just like {@link bindCallback}, but the\n * callback is expected to be of type `callback(error, result)`.</span>\n *\n * `bindNodeCallback` is not an operator because its input and output are not\n * Observables. The input is a function `func` with some parameters, but the\n * last parameter must be a callback function that `func` calls when it is\n * done. The callback function is expected to follow Node.js conventions,\n * where the first argument to the callback is an error object, signaling\n * whether call was successful. If that object is passed to callback, it means\n * something went wrong.\n *\n * The output of `bindNodeCallback` is a function that takes the same\n * parameters as `func`, except the last one (the callback). When the output\n * function is called with arguments, it will return an Observable.\n * If `func` calls its callback with error parameter present, Observable will\n * error with that value as well. If error parameter is not passed, Observable will emit\n * second parameter. If there are more parameters (third and so on),\n * Observable will emit an array with all arguments, except first error argument.\n *\n * Note that `func` will not be called at the same time output function is,\n * but rather whenever resulting Observable is subscribed. By default call to\n * `func` will happen synchronously after subscription, but that can be changed\n * with proper `scheduler` provided as optional third parameter. {@link SchedulerLike}\n * can also control when values from callback will be emitted by Observable.\n * To find out more, check out documentation for {@link bindCallback}, where\n * {@link SchedulerLike} works exactly the same.\n *\n * As in {@link bindCallback}, context (`this` property) of input function will be set to context\n * of returned function, when it is called.\n *\n * After Observable emits value, it will complete immediately. This means\n * even if `func` calls callback again, values from second and consecutive\n * calls will never appear on the stream. If you need to handle functions\n * that call callbacks multiple times, check out {@link fromEvent} or\n * {@link fromEventPattern} instead.\n *\n * Note that `bindNodeCallback` can be used in non-Node.js environments as well.\n * \"Node.js-style\" callbacks are just a convention, so if you write for\n * browsers or any other environment and API you use implements that callback style,\n * `bindNodeCallback` can be safely used on that API functions as well.\n *\n * Remember that Error object passed to callback does not have to be an instance\n * of JavaScript built-in `Error` object. In fact, it does not even have to an object.\n * Error parameter of callback function is interpreted as \"present\", when value\n * of that parameter is truthy. It could be, for example, non-zero number, non-empty\n * string or boolean `true`. In all of these cases resulting Observable would error\n * with that value. This means usually regular style callbacks will fail very often when\n * `bindNodeCallback` is used. If your Observable errors much more often then you\n * would expect, check if callback really is called in Node.js-style and, if not,\n * switch to {@link bindCallback} instead.\n *\n * Note that even if error parameter is technically present in callback, but its value\n * is falsy, it still won't appear in array emitted by Observable.\n *\n * ## Examples\n *\n * Read a file from the filesystem and get the data as an Observable\n *\n * ```ts\n * import * as fs from 'fs';\n * const readFileAsObservable = bindNodeCallback(fs.readFile);\n * const result = readFileAsObservable('./roadNames.txt', 'utf8');\n * result.subscribe(x => console.log(x), e => console.error(e));\n * ```\n *\n * Use on function calling callback with multiple arguments\n *\n * ```ts\n * someFunction((err, a, b) => {\n * console.log(err); // null\n * console.log(a); // 5\n * console.log(b); // \"some string\"\n * });\n * const boundSomeFunction = bindNodeCallback(someFunction);\n * boundSomeFunction()\n * .subscribe(value => {\n * console.log(value); // [5, \"some string\"]\n * });\n * ```\n *\n * Use on function calling callback in regular style\n *\n * ```ts\n * someFunction(a => {\n * console.log(a); // 5\n * });\n * const boundSomeFunction = bindNodeCallback(someFunction);\n * boundSomeFunction()\n * .subscribe(\n * value => {} // never gets called\n * err => console.log(err) // 5\n * );\n * ```\n *\n * @see {@link bindCallback}\n * @see {@link from}\n *\n * @param callbackFunc Function with a Node.js-style callback as the last parameter.\n * @param resultSelector A mapping function used to transform callback events.\n * @param scheduler The scheduler on which to schedule the callbacks.\n * @return A function which returns the Observable that delivers the same values the\n * Node.js callback would deliver.\n */\nexport function bindNodeCallback(\n callbackFunc: (...args: [...any[], (err: any, ...res: any) => void]) => void,\n resultSelector?: ((...args: any[]) => any) | SchedulerLike,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<any> {\n return bindCallbackInternals(true, callbackFunc, resultSelector, scheduler);\n}\n","import { Observable } from '../Observable';\nimport { ObservedValueOf, ObservableInput } from '../types';\nimport { innerFrom } from './innerFrom';\n\n/**\n * Creates an Observable that, on subscribe, calls an Observable factory to\n * make an Observable for each new Observer.\n *\n * <span class=\"informal\">Creates the Observable lazily, that is, only when it\n * is subscribed.\n * </span>\n *\n * \n *\n * `defer` allows you to create an Observable only when the Observer\n * subscribes. It waits until an Observer subscribes to it, calls the given\n * factory function to get an Observable -- where a factory function typically\n * generates a new Observable -- and subscribes the Observer to this Observable.\n * In case the factory function returns a falsy value, then EMPTY is used as\n * Observable instead. Last but not least, an exception during the factory\n * function call is transferred to the Observer by calling `error`.\n *\n * ## Example\n *\n * Subscribe to either an Observable of clicks or an Observable of interval, at random\n *\n * ```ts\n * import { defer, fromEvent, interval } from 'rxjs';\n *\n * const clicksOrInterval = defer(() => {\n * return Math.random() > 0.5\n * ? fromEvent(document, 'click')\n * : interval(1000);\n * });\n * clicksOrInterval.subscribe(x => console.log(x));\n *\n * // Results in the following behavior:\n * // If the result of Math.random() is greater than 0.5 it will listen\n * // for clicks anywhere on the \"document\"; when document is clicked it\n * // will log a MouseEvent object to the console. If the result is less\n * // than 0.5 it will emit ascending numbers, one every second(1000ms).\n * ```\n *\n * @see {@link Observable}\n *\n * @param observableFactory The Observable factory function to invoke for each\n * Observer that subscribes to the output Observable. May also return any\n * `ObservableInput`, which will be converted on the fly to an Observable.\n * @return An Observable whose Observers' subscriptions trigger an invocation of the\n * given Observable factory function.\n */\nexport function defer<R extends ObservableInput<any>>(observableFactory: () => R): Observable<ObservedValueOf<R>> {\n return new Observable<ObservedValueOf<R>>((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n","import { Connectable, ObservableInput, SubjectLike } from '../types';\nimport { Subject } from '../Subject';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { defer } from './defer';\n\nexport interface ConnectableConfig<T> {\n /**\n * A factory function used to create the Subject through which the source\n * is multicast. By default this creates a {@link Subject}.\n */\n connector: () => SubjectLike<T>;\n /**\n * If true, the resulting observable will reset internal state upon disconnection\n * and return to a \"cold\" state. This allows the resulting observable to be\n * reconnected.\n * If false, upon disconnection, the connecting subject will remain the\n * connecting subject, meaning the resulting observable will not go \"cold\" again,\n * and subsequent repeats or resubscriptions will resubscribe to that same subject.\n */\n resetOnDisconnect?: boolean;\n}\n\n/**\n * The default configuration for `connectable`.\n */\nconst DEFAULT_CONFIG: ConnectableConfig<unknown> = {\n connector: () => new Subject<unknown>(),\n resetOnDisconnect: true,\n};\n\n/**\n * Creates an observable that multicasts once `connect()` is called on it.\n *\n * @param source The observable source to make connectable.\n * @param config The configuration object for `connectable`.\n * @returns A \"connectable\" observable, that has a `connect()` method, that you must call to\n * connect the source to all consumers through the subject provided as the connector.\n */\nexport function connectable<T>(source: ObservableInput<T>, config: ConnectableConfig<T> = DEFAULT_CONFIG): Connectable<T> {\n // The subscription representing the connection.\n let connection: Subscription | null = null;\n const { connector, resetOnDisconnect = true } = config;\n let subject = connector();\n\n const result: any = new Observable<T>((subscriber) => {\n return subject.subscribe(subscriber);\n });\n\n // Define the `connect` function. This is what users must call\n // in order to \"connect\" the source to the subject that is\n // multicasting it.\n result.connect = () => {\n if (!connection || connection.closed) {\n connection = defer(() => source).subscribe(subject);\n if (resetOnDisconnect) {\n connection.add(() => (subject = connector()));\n }\n }\n return connection;\n };\n\n return result;\n}\n","import { Observable } from '../Observable';\nimport { ObservedValueOf, ObservableInputTuple, ObservableInput } from '../types';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nimport { AnyCatcher } from '../AnyCatcher';\n\n// forkJoin(any)\n// We put this first because we need to catch cases where the user has supplied\n// _exactly `any`_ as the argument. Since `any` literally matches _anything_,\n// we don't want it to randomly hit one of the other type signatures below,\n// as we have no idea at build-time what type we should be returning when given an any.\n\n/**\n * You have passed `any` here, we can't figure out if it is\n * an array or an object, so you're getting `unknown`. Use better types.\n * @param arg Something typed as `any`\n */\nexport function forkJoin<T extends AnyCatcher>(arg: T): Observable<unknown>;\n\n// forkJoin(null | undefined)\nexport function forkJoin(scheduler: null | undefined): Observable<never>;\n\n// forkJoin([a, b, c])\nexport function forkJoin(sources: readonly []): Observable<never>;\nexport function forkJoin<A extends readonly unknown[]>(sources: readonly [...ObservableInputTuple<A>]): Observable<A>;\nexport function forkJoin<A extends readonly unknown[], R>(\n sources: readonly [...ObservableInputTuple<A>],\n resultSelector: (...values: A) => R\n): Observable<R>;\n\n// forkJoin(a, b, c)\n/** @deprecated Pass an array of sources instead. The rest-parameters signature will be removed in v8. Details: https://rxjs.dev/deprecations/array-argument */\nexport function forkJoin<A extends readonly unknown[]>(...sources: [...ObservableInputTuple<A>]): Observable<A>;\n/** @deprecated Pass an array of sources instead. The rest-parameters signature will be removed in v8. Details: https://rxjs.dev/deprecations/array-argument */\nexport function forkJoin<A extends readonly unknown[], R>(\n ...sourcesAndResultSelector: [...ObservableInputTuple<A>, (...values: A) => R]\n): Observable<R>;\n\n// forkJoin({a, b, c})\nexport function forkJoin(sourcesObject: { [K in any]: never }): Observable<never>;\nexport function forkJoin<T extends Record<string, ObservableInput<any>>>(\n sourcesObject: T\n): Observable<{ [K in keyof T]: ObservedValueOf<T[K]> }>;\n\n/**\n * Accepts an `Array` of {@link ObservableInput} or a dictionary `Object` of {@link ObservableInput} and returns\n * an {@link Observable} that emits either an array of values in the exact same order as the passed array,\n * or a dictionary of values in the same shape as the passed dictionary.\n *\n * <span class=\"informal\">Wait for Observables to complete and then combine last values they emitted;\n * complete immediately if an empty array is passed.</span>\n *\n * \n *\n * `forkJoin` is an operator that takes any number of input observables which can be passed either as an array\n * or a dictionary of input observables. If no input observables are provided (e.g. an empty array is passed),\n * then the resulting stream will complete immediately.\n *\n * `forkJoin` will wait for all passed observables to emit and complete and then it will emit an array or an object with last\n * values from corresponding observables.\n *\n * If you pass an array of `n` observables to the operator, then the resulting\n * array will have `n` values, where the first value is the last one emitted by the first observable,\n * second value is the last one emitted by the second observable and so on.\n *\n * If you pass a dictionary of observables to the operator, then the resulting\n * objects will have the same keys as the dictionary passed, with their last values they have emitted\n * located at the corresponding key.\n *\n * That means `forkJoin` will not emit more than once and it will complete after that. If you need to emit combined\n * values not only at the end of the lifecycle of passed observables, but also throughout it, try out {@link combineLatest}\n * or {@link zip} instead.\n *\n * In order for the resulting array to have the same length as the number of input observables, whenever any of\n * the given observables completes without emitting any value, `forkJoin` will complete at that moment as well\n * and it will not emit anything either, even if it already has some last values from other observables.\n * Conversely, if there is an observable that never completes, `forkJoin` will never complete either,\n * unless at any point some other observable completes without emitting a value, which brings us back to\n * the previous case. Overall, in order for `forkJoin` to emit a value, all given observables\n * have to emit something at least once and complete.\n *\n * If any given observable errors at some point, `forkJoin` will error as well and immediately unsubscribe\n * from the other observables.\n *\n * Optionally `forkJoin` accepts a `resultSelector` function, that will be called with values which normally\n * would land in the emitted array. Whatever is returned by the `resultSelector`, will appear in the output\n * observable instead. This means that the default `resultSelector` can be thought of as a function that takes\n * all its arguments and puts them into an array. Note that the `resultSelector` will be called only\n * when `forkJoin` is supposed to emit a result.\n *\n * ## Examples\n *\n * Use `forkJoin` with a dictionary of observable inputs\n *\n * ```ts\n * import { forkJoin, of, timer } from 'rxjs';\n *\n * const observable = forkJoin({\n * foo: of(1, 2, 3, 4),\n * bar: Promise.resolve(8),\n * baz: timer(4000)\n * });\n * observable.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('This is how it ends!'),\n * });\n *\n * // Logs:\n * // { foo: 4, bar: 8, baz: 0 } after 4 seconds\n * // 'This is how it ends!' immediately after\n * ```\n *\n * Use `forkJoin` with an array of observable inputs\n *\n * ```ts\n * import { forkJoin, of, timer } from 'rxjs';\n *\n * const observable = forkJoin([\n * of(1, 2, 3, 4),\n * Promise.resolve(8),\n * timer(4000)\n * ]);\n * observable.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('This is how it ends!'),\n * });\n *\n * // Logs:\n * // [4, 8, 0] after 4 seconds\n * // 'This is how it ends!' immediately after\n * ```\n *\n * @see {@link combineLatest}\n * @see {@link zip}\n *\n * @param args Any number of `ObservableInput`s provided either as an array, as an object\n * or as arguments passed directly to the operator.\n * @return Observable emitting either an array of last values emitted by passed Observables\n * or value from project function.\n */\nexport function forkJoin(...args: any[]): Observable<any> {\n const resultSelector = popResultSelector(args);\n const { args: sources, keys } = argsArgArrayOrObject(args);\n const result = new Observable((subscriber) => {\n const { length } = sources;\n if (!length) {\n subscriber.complete();\n return;\n }\n const values = new Array(length);\n let remainingCompletions = length;\n let remainingEmissions = length;\n for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n let hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(\n createOperatorSubscriber(\n subscriber,\n (value) => {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n },\n () => remainingCompletions--,\n undefined,\n () => {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }\n )\n );\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\n\n// These constants are used to create handler registry functions using array mapping below.\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'] as const;\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'] as const;\nconst jqueryMethods = ['on', 'off'] as const;\n\nexport interface NodeStyleEventEmitter {\n addListener(eventName: string | symbol, handler: NodeEventHandler): this;\n removeListener(eventName: string | symbol, handler: NodeEventHandler): this;\n}\n\nexport type NodeEventHandler = (...args: any[]) => void;\n\n// For APIs that implement `addListener` and `removeListener` methods that may\n// not use the same arguments or return EventEmitter values\n// such as React Native\nexport interface NodeCompatibleEventEmitter {\n addListener(eventName: string, handler: NodeEventHandler): void | {};\n removeListener(eventName: string, handler: NodeEventHandler): void | {};\n}\n\n// Use handler types like those in @types/jquery. See:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/847731ba1d7fa6db6b911c0e43aa0afe596e7723/types/jquery/misc.d.ts#L6395\nexport interface JQueryStyleEventEmitter<TContext, T> {\n on(eventName: string, handler: (this: TContext, t: T, ...args: any[]) => any): void;\n off(eventName: string, handler: (this: TContext, t: T, ...args: any[]) => any): void;\n}\n\nexport interface EventListenerObject<E> {\n handleEvent(evt: E): void;\n}\n\nexport interface HasEventTargetAddRemove<E> {\n addEventListener(\n type: string,\n listener: ((evt: E) => void) | EventListenerObject<E> | null,\n options?: boolean | AddEventListenerOptions\n ): void;\n removeEventListener(\n type: string,\n listener: ((evt: E) => void) | EventListenerObject<E> | null,\n options?: EventListenerOptions | boolean\n ): void;\n}\n\nexport interface EventListenerOptions {\n capture?: boolean;\n passive?: boolean;\n once?: boolean;\n}\n\nexport interface AddEventListenerOptions extends EventListenerOptions {\n once?: boolean;\n passive?: boolean;\n}\n\nexport function fromEvent<T>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string): Observable<T>;\nexport function fromEvent<T, R>(\n target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>,\n eventName: string,\n resultSelector: (event: T) => R\n): Observable<R>;\nexport function fromEvent<T>(\n target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>,\n eventName: string,\n options: EventListenerOptions\n): Observable<T>;\nexport function fromEvent<T, R>(\n target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>,\n eventName: string,\n options: EventListenerOptions,\n resultSelector: (event: T) => R\n): Observable<R>;\n\nexport function fromEvent(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string): Observable<unknown>;\n/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */\nexport function fromEvent<T>(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string): Observable<T>;\nexport function fromEvent<R>(\n target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>,\n eventName: string,\n resultSelector: (...args: any[]) => R\n): Observable<R>;\n\nexport function fromEvent(\n target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>,\n eventName: string\n): Observable<unknown>;\n/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */\nexport function fromEvent<T>(target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>, eventName: string): Observable<T>;\nexport function fromEvent<R>(\n target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>,\n eventName: string,\n resultSelector: (...args: any[]) => R\n): Observable<R>;\n\nexport function fromEvent<T>(\n target: JQueryStyleEventEmitter<any, T> | ArrayLike<JQueryStyleEventEmitter<any, T>>,\n eventName: string\n): Observable<T>;\nexport function fromEvent<T, R>(\n target: JQueryStyleEventEmitter<any, T> | ArrayLike<JQueryStyleEventEmitter<any, T>>,\n eventName: string,\n resultSelector: (value: T, ...args: any[]) => R\n): Observable<R>;\n\n/**\n * Creates an Observable that emits events of a specific type coming from the\n * given event target.\n *\n * <span class=\"informal\">Creates an Observable from DOM events, or Node.js\n * EventEmitter events or others.</span>\n *\n * \n *\n * `fromEvent` accepts as a first argument event target, which is an object with methods\n * for registering event handler functions. As a second argument it takes string that indicates\n * type of event we want to listen for. `fromEvent` supports selected types of event targets,\n * which are described in detail below. If your event target does not match any of the ones listed,\n * you should use {@link fromEventPattern}, which can be used on arbitrary APIs.\n * When it comes to APIs supported by `fromEvent`, their methods for adding and removing event\n * handler functions have different names, but they all accept a string describing event type\n * and function itself, which will be called whenever said event happens.\n *\n * Every time resulting Observable is subscribed, event handler function will be registered\n * to event target on given event type. When that event fires, value\n * passed as a first argument to registered function will be emitted by output Observable.\n * When Observable is unsubscribed, function will be unregistered from event target.\n *\n * Note that if event target calls registered function with more than one argument, second\n * and following arguments will not appear in resulting stream. In order to get access to them,\n * you can pass to `fromEvent` optional project function, which will be called with all arguments\n * passed to event handler. Output Observable will then emit value returned by project function,\n * instead of the usual value.\n *\n * Remember that event targets listed below are checked via duck typing. It means that\n * no matter what kind of object you have and no matter what environment you work in,\n * you can safely use `fromEvent` on that object if it exposes described methods (provided\n * of course they behave as was described above). So for example if Node.js library exposes\n * event target which has the same method names as DOM EventTarget, `fromEvent` is still\n * a good choice.\n *\n * If the API you use is more callback then event handler oriented (subscribed\n * callback function fires only once and thus there is no need to manually\n * unregister it), you should use {@link bindCallback} or {@link bindNodeCallback}\n * instead.\n *\n * `fromEvent` supports following types of event targets:\n *\n * **DOM EventTarget**\n *\n * This is an object with `addEventListener` and `removeEventListener` methods.\n *\n * In the browser, `addEventListener` accepts - apart from event type string and event\n * handler function arguments - optional third parameter, which is either an object or boolean,\n * both used for additional configuration how and when passed function will be called. When\n * `fromEvent` is used with event target of that type, you can provide this values\n * as third parameter as well.\n *\n * **Node.js EventEmitter**\n *\n * An object with `addListener` and `removeListener` methods.\n *\n * **JQuery-style event target**\n *\n * An object with `on` and `off` methods\n *\n * **DOM NodeList**\n *\n * List of DOM Nodes, returned for example by `document.querySelectorAll` or `Node.childNodes`.\n *\n * Although this collection is not event target in itself, `fromEvent` will iterate over all Nodes\n * it contains and install event handler function in every of them. When returned Observable\n * is unsubscribed, function will be removed from all Nodes.\n *\n * **DOM HtmlCollection**\n *\n * Just as in case of NodeList it is a collection of DOM nodes. Here as well event handler function is\n * installed and removed in each of elements.\n *\n *\n * ## Examples\n *\n * Emit clicks happening on the DOM document\n *\n * ```ts\n * import { fromEvent } from 'rxjs';\n *\n * const clicks = fromEvent(document, 'click');\n * clicks.subscribe(x => console.log(x));\n *\n * // Results in:\n * // MouseEvent object logged to console every time a click\n * // occurs on the document.\n * ```\n *\n * Use `addEventListener` with capture option\n *\n * ```ts\n * import { fromEvent } from 'rxjs';\n *\n * const div = document.createElement('div');\n * div.style.cssText = 'width: 200px; height: 200px; background: #09c;';\n * document.body.appendChild(div);\n *\n * // note optional configuration parameter which will be passed to addEventListener\n * const clicksInDocument = fromEvent(document, 'click', { capture: true });\n * const clicksInDiv = fromEvent(div, 'click');\n *\n * clicksInDocument.subscribe(() => console.log('document'));\n * clicksInDiv.subscribe(() => console.log('div'));\n *\n * // By default events bubble UP in DOM tree, so normally\n * // when we would click on div in document\n * // \"div\" would be logged first and then \"document\".\n * // Since we specified optional `capture` option, document\n * // will catch event when it goes DOWN DOM tree, so console\n * // will log \"document\" and then \"div\".\n * ```\n *\n * @see {@link bindCallback}\n * @see {@link bindNodeCallback}\n * @see {@link fromEventPattern}\n *\n * @param target The DOM EventTarget, Node.js EventEmitter, JQuery-like event target,\n * NodeList or HTMLCollection to attach the event handler to.\n * @param eventName The event name of interest, being emitted by the `target`.\n * @param options Options to pass through to the underlying `addListener`,\n * `addEventListener` or `on` functions.\n * @param resultSelector A mapping function used to transform events. It takes the\n * arguments from the event handler and should return a single value.\n * @return An Observable emitting events registered through `target`'s\n * listener handlers.\n */\nexport function fromEvent<T>(\n target: any,\n eventName: string,\n options?: EventListenerOptions | ((...args: any[]) => T),\n resultSelector?: (...args: any[]) => T\n): Observable<T> {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent<T>(target, eventName, options as EventListenerOptions).pipe(mapOneOrManyArgs(resultSelector));\n }\n\n // Figure out our add and remove methods. In order to do this,\n // we are going to analyze the target in a preferred order, if\n // the target matches a given signature, we take the two \"add\" and \"remove\"\n // method names and apply them to a map to create opposite versions of the\n // same function. This is because they all operate in duplicate pairs,\n // `addListener(name, handler)`, `removeListener(name, handler)`, for example.\n // The call only differs by method name, as to whether or not you're adding or removing.\n const [add, remove] =\n // If it is an EventTarget, we need to use a slightly different method than the other two patterns.\n isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler: any) => target[methodName](eventName, handler, options as EventListenerOptions))\n : // In all other cases, the call pattern is identical with the exception of the method names.\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n\n // If add is falsy, it's because we didn't match a pattern above.\n // Check to see if it is an ArrayLike, because if it is, we want to\n // try to apply fromEvent to all of it's items. We do this check last,\n // because there are may be some types that are both ArrayLike *and* implement\n // event registry points, and we'd rather delegate to that when possible.\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget: any) => fromEvent(subTarget, eventName, options as EventListenerOptions))(\n innerFrom(target)\n ) as Observable<T>;\n }\n }\n\n // If add is falsy and we made it here, it's because we didn't\n // match any valid target objects above.\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n\n return new Observable<T>((subscriber) => {\n // The handler we are going to register. Forwards the event object, by itself, or\n // an array of arguments to the event handler, if there is more than one argument,\n // to the consumer.\n const handler = (...args: any[]) => subscriber.next(1 < args.length ? args : args[0]);\n // Do the work of adding the handler to the target.\n add(handler);\n // When we finalize, we want to remove the handler and free up memory.\n return () => remove!(handler);\n });\n}\n\n/**\n * Used to create `add` and `remove` functions to register and unregister event handlers\n * from a target in the most common handler pattern, where there are only two arguments.\n * (e.g. `on(name, fn)`, `off(name, fn)`, `addListener(name, fn)`, or `removeListener(name, fn)`)\n * @param target The target we're calling methods on\n * @param eventName The event name for the event we're creating register or unregister functions for\n */\nfunction toCommonHandlerRegistry(target: any, eventName: string) {\n return (methodName: string) => (handler: any) => target[methodName](eventName, handler);\n}\n\n/**\n * Checks to see if the target implements the required node-style EventEmitter methods\n * for adding and removing event handlers.\n * @param target the object to check\n */\nfunction isNodeStyleEventEmitter(target: any): target is NodeStyleEventEmitter {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\n\n/**\n * Checks to see if the target implements the required jQuery-style EventEmitter methods\n * for adding and removing event handlers.\n * @param target the object to check\n */\nfunction isJQueryStyleEventEmitter(target: any): target is JQueryStyleEventEmitter<any, any> {\n return isFunction(target.on) && isFunction(target.off);\n}\n\n/**\n * Checks to see if the target implements the required EventTarget methods\n * for adding and removing event handlers.\n * @param target the object to check\n */\nfunction isEventTarget(target: any): target is HasEventTargetAddRemove<any> {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from '../util/isFunction';\nimport { NodeEventHandler } from './fromEvent';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\n\n/* tslint:disable:max-line-length */\nexport function fromEventPattern<T>(\n addHandler: (handler: NodeEventHandler) => any,\n removeHandler?: (handler: NodeEventHandler, signal?: any) => void\n): Observable<T>;\nexport function fromEventPattern<T>(\n addHandler: (handler: NodeEventHandler) => any,\n removeHandler?: (handler: NodeEventHandler, signal?: any) => void,\n resultSelector?: (...args: any[]) => T\n): Observable<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Creates an Observable from an arbitrary API for registering event handlers.\n *\n * <span class=\"informal\">When that method for adding event handler was something {@link fromEvent}\n * was not prepared for.</span>\n *\n * \n *\n * `fromEventPattern` allows you to convert into an Observable any API that supports registering handler functions\n * for events. It is similar to {@link fromEvent}, but far\n * more flexible. In fact, all use cases of {@link fromEvent} could be easily handled by\n * `fromEventPattern` (although in slightly more verbose way).\n *\n * This operator accepts as a first argument an `addHandler` function, which will be injected with\n * handler parameter. That handler is actually an event handler function that you now can pass\n * to API expecting it. `addHandler` will be called whenever Observable\n * returned by the operator is subscribed, so registering handler in API will not\n * necessarily happen when `fromEventPattern` is called.\n *\n * After registration, every time an event that we listen to happens,\n * Observable returned by `fromEventPattern` will emit value that event handler\n * function was called with. Note that if event handler was called with more\n * than one argument, second and following arguments will not appear in the Observable.\n *\n * If API you are using allows to unregister event handlers as well, you can pass to `fromEventPattern`\n * another function - `removeHandler` - as a second parameter. It will be injected\n * with the same handler function as before, which now you can use to unregister\n * it from the API. `removeHandler` will be called when consumer of resulting Observable\n * unsubscribes from it.\n *\n * In some APIs unregistering is actually handled differently. Method registering an event handler\n * returns some kind of token, which is later used to identify which function should\n * be unregistered or it itself has method that unregisters event handler.\n * If that is the case with your API, make sure token returned\n * by registering method is returned by `addHandler`. Then it will be passed\n * as a second argument to `removeHandler`, where you will be able to use it.\n *\n * If you need access to all event handler parameters (not only the first one),\n * or you need to transform them in any way, you can call `fromEventPattern` with optional\n * third parameter - project function which will accept all arguments passed to\n * event handler when it is called. Whatever is returned from project function will appear on\n * resulting stream instead of usual event handlers first argument. This means\n * that default project can be thought of as function that takes its first parameter\n * and ignores the rest.\n *\n * ## Examples\n *\n * Emits clicks happening on the DOM document\n *\n * ```ts\n * import { fromEventPattern } from 'rxjs';\n *\n * function addClickHandler(handler) {\n * document.addEventListener('click', handler);\n * }\n *\n * function removeClickHandler(handler) {\n * document.removeEventListener('click', handler);\n * }\n *\n * const clicks = fromEventPattern(\n * addClickHandler,\n * removeClickHandler\n * );\n * clicks.subscribe(x => console.log(x));\n *\n * // Whenever you click anywhere in the browser, DOM MouseEvent\n * // object will be logged.\n * ```\n *\n * Use with API that returns cancellation token\n *\n * ```ts\n * import { fromEventPattern } from 'rxjs';\n *\n * const token = someAPI.registerEventHandler(function() {});\n * someAPI.unregisterEventHandler(token); // this APIs cancellation method accepts\n * // not handler itself, but special token.\n *\n * const someAPIObservable = fromEventPattern(\n * function(handler) { return someAPI.registerEventHandler(handler); }, // Note that we return the token here...\n * function(handler, token) { someAPI.unregisterEventHandler(token); } // ...to then use it here.\n * );\n * ```\n *\n * Use with project function\n *\n * ```ts\n * import { fromEventPattern } from 'rxjs';\n *\n * someAPI.registerEventHandler((eventType, eventMessage) => {\n * console.log(eventType, eventMessage); // Logs 'EVENT_TYPE' 'EVENT_MESSAGE' to console.\n * });\n *\n * const someAPIObservable = fromEventPattern(\n * handler => someAPI.registerEventHandler(handler),\n * handler => someAPI.unregisterEventHandler(handler)\n * (eventType, eventMessage) => eventType + ' --- ' + eventMessage // without that function only 'EVENT_TYPE'\n * ); // would be emitted by the Observable\n *\n * someAPIObservable.subscribe(value => console.log(value));\n *\n * // Logs:\n * // 'EVENT_TYPE --- EVENT_MESSAGE'\n * ```\n *\n * @see {@link fromEvent}\n * @see {@link bindCallback}\n * @see {@link bindNodeCallback}\n *\n * @param addHandler A function that takes a `handler` function as argument and attaches it\n * somehow to the actual source of events.\n * @param removeHandler A function that takes a `handler` function as an argument and removes\n * it from the event source. If `addHandler` returns some kind of token, `removeHandler` function\n * will have it as a second parameter.\n * @param resultSelector A function to transform results. It takes the arguments from the event\n * handler and should return a single value.\n * @return Observable which, when an event happens, emits first parameter passed to registered\n * event handler. Alternatively it emits whatever project function returns at that moment.\n */\nexport function fromEventPattern<T>(\n addHandler: (handler: NodeEventHandler) => any,\n removeHandler?: (handler: NodeEventHandler, signal?: any) => void,\n resultSelector?: (...args: any[]) => T\n): Observable<T | T[]> {\n if (resultSelector) {\n return fromEventPattern<T>(addHandler, removeHandler).pipe(mapOneOrManyArgs(resultSelector));\n }\n\n return new Observable<T | T[]>((subscriber) => {\n const handler = (...e: T[]) => subscriber.next(e.length === 1 ? e[0] : e);\n const retValue = addHandler(handler);\n return isFunction(removeHandler) ? () => removeHandler(handler, retValue) : undefined;\n });\n}\n","import { Observable } from '../Observable';\nimport { identity } from '../util/identity';\nimport { ObservableInput, SchedulerLike } from '../types';\nimport { isScheduler } from '../util/isScheduler';\nimport { defer } from './defer';\nimport { scheduleIterable } from '../scheduled/scheduleIterable';\n\ntype ConditionFunc<S> = (state: S) => boolean;\ntype IterateFunc<S> = (state: S) => S;\ntype ResultFunc<S, T> = (state: S) => T;\n\nexport interface GenerateBaseOptions<S> {\n /**\n * Initial state.\n */\n initialState: S;\n /**\n * Condition function that accepts state and returns boolean.\n * When it returns false, the generator stops.\n * If not specified, a generator never stops.\n */\n condition?: ConditionFunc<S>;\n /**\n * Iterate function that accepts state and returns new state.\n */\n iterate: IterateFunc<S>;\n /**\n * SchedulerLike to use for generation process.\n * By default, a generator starts immediately.\n */\n scheduler?: SchedulerLike;\n}\n\nexport interface GenerateOptions<T, S> extends GenerateBaseOptions<S> {\n /**\n * Result selection function that accepts state and returns a value to emit.\n */\n resultSelector: ResultFunc<S, T>;\n}\n\n/**\n * Generates an observable sequence by running a state-driven loop\n * producing the sequence's elements, using the specified scheduler\n * to send out observer messages.\n *\n * \n *\n * ## Examples\n *\n * Produces sequence of numbers\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate(0, x => x < 3, x => x + 1, x => x);\n *\n * result.subscribe(x => console.log(x));\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * ```\n *\n * Use `asapScheduler`\n *\n * ```ts\n * import { generate, asapScheduler } from 'rxjs';\n *\n * const result = generate(1, x => x < 5, x => x * 2, x => x + 1, asapScheduler);\n *\n * result.subscribe(x => console.log(x));\n *\n * // Logs:\n * // 2\n * // 3\n * // 5\n * ```\n *\n * @see {@link from}\n * @see {@link Observable}\n *\n * @param initialState Initial state.\n * @param condition Condition to terminate generation (upon returning false).\n * @param iterate Iteration step function.\n * @param resultSelector Selector function for results produced in the sequence.\n * @param scheduler A {@link SchedulerLike} on which to run the generator loop.\n * If not provided, defaults to emit immediately.\n * @returns The generated sequence.\n * @deprecated Instead of passing separate arguments, use the options argument.\n * Signatures taking separate arguments will be removed in v8.\n */\nexport function generate<T, S>(\n initialState: S,\n condition: ConditionFunc<S>,\n iterate: IterateFunc<S>,\n resultSelector: ResultFunc<S, T>,\n scheduler?: SchedulerLike\n): Observable<T>;\n\n/**\n * Generates an Observable by running a state-driven loop\n * that emits an element on each iteration.\n *\n * <span class=\"informal\">Use it instead of nexting values in a for loop.</span>\n *\n * \n *\n * `generate` allows you to create a stream of values generated with a loop very similar to\n * a traditional for loop. The first argument of `generate` is a beginning value. The second argument\n * is a function that accepts this value and tests if some condition still holds. If it does,\n * then the loop continues, if not, it stops. The third value is a function which takes the\n * previously defined value and modifies it in some way on each iteration. Note how these three parameters\n * are direct equivalents of three expressions in a traditional for loop: the first expression\n * initializes some state (for example, a numeric index), the second tests if the loop can perform the next\n * iteration (for example, if the index is lower than 10) and the third states how the defined value\n * will be modified on every step (for example, the index will be incremented by one).\n *\n * Return value of a `generate` operator is an Observable that on each loop iteration\n * emits a value. First of all, the condition function is ran. If it returns true, then the Observable\n * emits the currently stored value (initial value at the first iteration) and finally updates\n * that value with iterate function. If at some point the condition returns false, then the Observable\n * completes at that moment.\n *\n * Optionally you can pass a fourth parameter to `generate` - a result selector function which allows you\n * to immediately map the value that would normally be emitted by an Observable.\n *\n * If you find three anonymous functions in `generate` call hard to read, you can provide\n * a single object to the operator instead where the object has the properties: `initialState`,\n * `condition`, `iterate` and `resultSelector`, which should have respective values that you\n * would normally pass to `generate`. `resultSelector` is still optional, but that form\n * of calling `generate` allows you to omit `condition` as well. If you omit it, that means\n * condition always holds, or in other words the resulting Observable will never complete.\n *\n * Both forms of `generate` can optionally accept a scheduler. In case of a multi-parameter call,\n * scheduler simply comes as a last argument (no matter if there is a `resultSelector`\n * function or not). In case of a single-parameter call, you can provide it as a\n * `scheduler` property on the object passed to the operator. In both cases, a scheduler decides when\n * the next iteration of the loop will happen and therefore when the next value will be emitted\n * by the Observable. For example, to ensure that each value is pushed to the Observer\n * on a separate task in the event loop, you could use the `async` scheduler. Note that\n * by default (when no scheduler is passed) values are simply emitted synchronously.\n *\n *\n * ## Examples\n *\n * Use with condition and iterate functions\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate(0, x => x < 3, x => x + 1);\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * // 'Complete!'\n * ```\n *\n * Use with condition, iterate and resultSelector functions\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate(0, x => x < 3, x => x + 1, x => x * 1000);\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1000\n * // 2000\n * // 'Complete!'\n * ```\n *\n * Use with options object\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * condition(value) { return value < 3; },\n * iterate(value) { return value + 1; },\n * resultSelector(value) { return value * 1000; }\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1000\n * // 2000\n * // 'Complete!'\n * ```\n *\n * Use options object without condition function\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * iterate(value) { return value + 1; },\n * resultSelector(value) { return value * 1000; }\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!') // This will never run\n * });\n *\n * // Logs:\n * // 0\n * // 1000\n * // 2000\n * // 3000\n * // ...and never stops.\n * ```\n *\n * @see {@link from}\n *\n * @param initialState Initial state.\n * @param condition Condition to terminate generation (upon returning false).\n * @param iterate Iteration step function.\n * @param scheduler A {@link Scheduler} on which to run the generator loop. If not\n * provided, defaults to emitting immediately.\n * @return The generated sequence.\n * @deprecated Instead of passing separate arguments, use the options argument.\n * Signatures taking separate arguments will be removed in v8.\n */\nexport function generate<S>(\n initialState: S,\n condition: ConditionFunc<S>,\n iterate: IterateFunc<S>,\n scheduler?: SchedulerLike\n): Observable<S>;\n\n/**\n * Generates an observable sequence by running a state-driven loop\n * producing the sequence's elements, using the specified scheduler\n * to send out observer messages.\n * The overload accepts options object that might contain initial state, iterate,\n * condition and scheduler.\n *\n * \n *\n * ## Examples\n *\n * Use options object with condition function\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * condition: x => x < 3,\n * iterate: x => x + 1\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * // 'Complete!'\n * ```\n *\n * @see {@link from}\n * @see {@link Observable}\n *\n * @param options Object that must contain initialState, iterate and might contain condition and scheduler.\n * @returns The generated sequence.\n */\nexport function generate<S>(options: GenerateBaseOptions<S>): Observable<S>;\n\n/**\n * Generates an observable sequence by running a state-driven loop\n * producing the sequence's elements, using the specified scheduler\n * to send out observer messages.\n * The overload accepts options object that might contain initial state, iterate,\n * condition, result selector and scheduler.\n *\n * \n *\n * ## Examples\n *\n * Use options object with condition and iterate function\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * condition: x => x < 3,\n * iterate: x => x + 1,\n * resultSelector: x => x\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * // 'Complete!'\n * ```\n *\n * @see {@link from}\n * @see {@link Observable}\n *\n * @param options Object that must contain initialState, iterate, resultSelector and might contain condition and scheduler.\n * @returns The generated sequence.\n */\nexport function generate<T, S>(options: GenerateOptions<T, S>): Observable<T>;\n\nexport function generate<T, S>(\n initialStateOrOptions: S | GenerateOptions<T, S>,\n condition?: ConditionFunc<S>,\n iterate?: IterateFunc<S>,\n resultSelectorOrScheduler?: ResultFunc<S, T> | SchedulerLike,\n scheduler?: SchedulerLike\n): Observable<T> {\n let resultSelector: ResultFunc<S, T>;\n let initialState: S;\n\n // TODO: Remove this as we move away from deprecated signatures\n // and move towards a configuration object argument.\n if (arguments.length === 1) {\n // If we only have one argument, we can assume it is a configuration object.\n // Note that folks not using TypeScript may trip over this.\n ({\n initialState,\n condition,\n iterate,\n resultSelector = identity as ResultFunc<S, T>,\n scheduler,\n } = initialStateOrOptions as GenerateOptions<T, S>);\n } else {\n // Deprecated arguments path. Figure out what the user\n // passed and set it here.\n initialState = initialStateOrOptions as S;\n if (!resultSelectorOrScheduler || isScheduler(resultSelectorOrScheduler)) {\n resultSelector = identity as ResultFunc<S, T>;\n scheduler = resultSelectorOrScheduler as SchedulerLike;\n } else {\n resultSelector = resultSelectorOrScheduler as ResultFunc<S, T>;\n }\n }\n\n // The actual generator used to \"generate\" values.\n function* gen() {\n for (let state = initialState; !condition || condition(state); state = iterate!(state)) {\n yield resultSelector(state);\n }\n }\n\n // We use `defer` because we want to defer the creation of the iterator from the iterable.\n return defer(\n (scheduler\n ? // If a scheduler was provided, use `scheduleIterable` to ensure that iteration/generation\n // happens on the scheduler.\n () => scheduleIterable(gen(), scheduler!)\n : // Otherwise, if there's no scheduler, we can just use the generator function directly in\n // `defer` and executing it will return the generator (which is iterable).\n gen) as () => ObservableInput<T>\n );\n}\n","import { Observable } from '../Observable';\nimport { defer } from './defer';\nimport { ObservableInput } from '../types';\n\n/**\n * Checks a boolean at subscription time, and chooses between one of two observable sources\n *\n * `iif` expects a function that returns a boolean (the `condition` function), and two sources,\n * the `trueResult` and the `falseResult`, and returns an Observable.\n *\n * At the moment of subscription, the `condition` function is called. If the result is `true`, the\n * subscription will be to the source passed as the `trueResult`, otherwise, the subscription will be\n * to the source passed as the `falseResult`.\n *\n * If you need to check more than two options to choose between more than one observable, have a look at the {@link defer} creation method.\n *\n * ## Examples\n *\n * Change at runtime which Observable will be subscribed\n *\n * ```ts\n * import { iif, of } from 'rxjs';\n *\n * let subscribeToFirst;\n * const firstOrSecond = iif(\n * () => subscribeToFirst,\n * of('first'),\n * of('second')\n * );\n *\n * subscribeToFirst = true;\n * firstOrSecond.subscribe(value => console.log(value));\n *\n * // Logs:\n * // 'first'\n *\n * subscribeToFirst = false;\n * firstOrSecond.subscribe(value => console.log(value));\n *\n * // Logs:\n * // 'second'\n * ```\n *\n * Control access to an Observable\n *\n * ```ts\n * import { iif, of, EMPTY } from 'rxjs';\n *\n * let accessGranted;\n * const observableIfYouHaveAccess = iif(\n * () => accessGranted,\n * of('It seems you have an access...'),\n * EMPTY\n * );\n *\n * accessGranted = true;\n * observableIfYouHaveAccess.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('The end')\n * });\n *\n * // Logs:\n * // 'It seems you have an access...'\n * // 'The end'\n *\n * accessGranted = false;\n * observableIfYouHaveAccess.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('The end')\n * });\n *\n * // Logs:\n * // 'The end'\n * ```\n *\n * @see {@link defer}\n *\n * @param condition Condition which Observable should be chosen.\n * @param trueResult An Observable that will be subscribed if condition is true.\n * @param falseResult An Observable that will be subscribed if condition is false.\n * @return An observable that proxies to `trueResult` or `falseResult`, depending on the result of the `condition` function.\n */\nexport function iif<T, F>(condition: () => boolean, trueResult: ObservableInput<T>, falseResult: ObservableInput<F>): Observable<T | F> {\n return defer(() => (condition() ? trueResult : falseResult));\n}\n","import { Observable } from '../Observable';\nimport { ObservableInput, ObservableInputTuple, SchedulerLike } from '../types';\nimport { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\n\nexport function merge<A extends readonly unknown[]>(...sources: [...ObservableInputTuple<A>]): Observable<A[number]>;\nexport function merge<A extends readonly unknown[]>(...sourcesAndConcurrency: [...ObservableInputTuple<A>, number?]): Observable<A[number]>;\n/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled` and `mergeAll`. Details: https://rxjs.dev/deprecations/scheduler-argument */\nexport function merge<A extends readonly unknown[]>(\n ...sourcesAndScheduler: [...ObservableInputTuple<A>, SchedulerLike?]\n): Observable<A[number]>;\n/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled` and `mergeAll`. Details: https://rxjs.dev/deprecations/scheduler-argument */\nexport function merge<A extends readonly unknown[]>(\n ...sourcesAndConcurrencyAndScheduler: [...ObservableInputTuple<A>, number?, SchedulerLike?]\n): Observable<A[number]>;\n\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * \n *\n * `merge` subscribes to each given input Observable (as arguments), and simply\n * forwards (without doing any transformation) all the values from all the input\n * Observables to the output Observable. The output Observable only completes\n * once all input Observables have completed. Any error delivered by an input\n * Observable will be immediately emitted on the output Observable.\n *\n * ## Examples\n *\n * Merge together two Observables: 1s interval and clicks\n *\n * ```ts\n * import { merge, fromEvent, interval } from 'rxjs';\n *\n * const clicks = fromEvent(document, 'click');\n * const timer = interval(1000);\n * const clicksOrTimer = merge(clicks, timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // timer will emit ascending values, one every second(1000ms) to console\n * // clicks logs MouseEvents to console every time the \"document\" is clicked\n * // Since the two streams are merged you see these happening\n * // as they occur.\n * ```\n *\n * Merge together 3 Observables, but run only 2 concurrently\n *\n * ```ts\n * import { interval, take, merge } from 'rxjs';\n *\n * const timer1 = interval(1000).pipe(take(10));\n * const timer2 = interval(2000).pipe(take(6));\n * const timer3 = interval(500).pipe(take(10));\n *\n * const concurrent = 2; // the argument\n * const merged = merge(timer1, timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // - First timer1 and timer2 will run concurrently\n * // - timer1 will emit a value every 1000ms for 10 iterations\n * // - timer2 will emit a value every 2000ms for 6 iterations\n * // - after timer1 hits its max iteration, timer2 will\n * // continue, and timer3 will start to run concurrently with timer2\n * // - when timer2 hits its max iteration it terminates, and\n * // timer3 will continue to emit a value every 500ms until it is complete\n * ```\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param args `ObservableInput`s to merge together. If the last parameter\n * is of type number, `merge` will use it to limit number of concurrently\n * subscribed `ObservableInput`s. If the last parameter is {@link SchedulerLike},\n * it will be used for scheduling the emission of values.\n * @return An Observable that emits items that are the result of every input Observable.\n */\nexport function merge(...args: (ObservableInput<unknown> | number | SchedulerLike)[]): Observable<unknown> {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = args as ObservableInput<unknown>[];\n return !sources.length\n ? // No source provided\n EMPTY\n : sources.length === 1\n ? // One source? Just return it.\n innerFrom(sources[0])\n : // Merge all sources\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\n\n/**\n * An Observable that emits no items to the Observer and never completes.\n *\n * \n *\n * A simple Observable that emits neither values nor errors nor the completion\n * notification. It can be used for testing purposes or for composing with other\n * Observables. Please note that by never emitting a complete notification, this\n * Observable keeps the subscription from being disposed automatically.\n * Subscriptions need to be manually disposed.\n *\n * ## Example\n *\n * Emit the number 7, then never emit anything else (not even complete)\n *\n * ```ts\n * import { NEVER, startWith } from 'rxjs';\n *\n * const info = () => console.log('Will not be called');\n *\n * const result = NEVER.pipe(startWith(7));\n * result.subscribe({\n * next: x => console.log(x),\n * error: info,\n * complete: info\n * });\n * ```\n *\n * @see {@link Observable}\n * @see {@link EMPTY}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const NEVER = new Observable<never>(noop);\n\n/**\n * @deprecated Replaced with the {@link NEVER} constant. Will be removed in v8.\n */\nexport function never() {\n return NEVER;\n}\n","import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\nimport { from } from './from';\n\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs<T>(arr: readonly T[], scheduler?: SchedulerLike): Observable<[string, T]>;\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs<O extends Record<string, unknown>>(obj: O, scheduler?: SchedulerLike): Observable<[keyof O, O[keyof O]]>;\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs<T>(iterable: Iterable<T>, scheduler?: SchedulerLike): Observable<[string, T]>;\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs(\n n: number | bigint | boolean | ((...args: any[]) => any) | symbol,\n scheduler?: SchedulerLike\n): Observable<[never, never]>;\n\n/**\n * Convert an object into an Observable of `[key, value]` pairs.\n *\n * <span class=\"informal\">Turn entries of an object into a stream.</span>\n *\n * \n *\n * `pairs` takes an arbitrary object and returns an Observable that emits arrays. Each\n * emitted array has exactly two elements - the first is a key from the object\n * and the second is a value corresponding to that key. Keys are extracted from\n * an object via `Object.keys` function, which means that they will be only\n * enumerable keys that are present on an object directly - not ones inherited\n * via prototype chain.\n *\n * By default, these arrays are emitted synchronously. To change that you can\n * pass a {@link SchedulerLike} as a second argument to `pairs`.\n *\n * ## Example\n *\n * Converts an object to an Observable\n *\n * ```ts\n * import { pairs } from 'rxjs';\n *\n * const obj = {\n * foo: 42,\n * bar: 56,\n * baz: 78\n * };\n *\n * pairs(obj).subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // ['foo', 42]\n * // ['bar', 56]\n * // ['baz', 78]\n * // 'Complete!'\n * ```\n *\n * ### Object.entries required\n *\n * In IE, you will need to polyfill `Object.entries` in order to use this.\n * [MDN has a polyfill here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)\n *\n * @param obj The object to inspect and turn into an Observable sequence.\n * @param scheduler An optional IScheduler to schedule when resulting\n * Observable will emit values.\n * @returns An observable sequence of [key, value] pairs from the object.\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs(obj: any, scheduler?: SchedulerLike) {\n return from(Object.entries(obj), scheduler as any);\n}\n","import { not } from '../util/not';\nimport { filter } from '../operators/filter';\nimport { ObservableInput } from '../types';\nimport { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\n\n/** @deprecated Use a closure instead of a `thisArg`. Signatures accepting a `thisArg` will be removed in v8. */\nexport function partition<T, U extends T, A>(\n source: ObservableInput<T>,\n predicate: (this: A, value: T, index: number) => value is U,\n thisArg: A\n): [Observable<U>, Observable<Exclude<T, U>>];\nexport function partition<T, U extends T>(\n source: ObservableInput<T>,\n predicate: (value: T, index: number) => value is U\n): [Observable<U>, Observable<Exclude<T, U>>];\n\n/** @deprecated Use a closure instead of a `thisArg`. Signatures accepting a `thisArg` will be removed in v8. */\nexport function partition<T, A>(\n source: ObservableInput<T>,\n predicate: (this: A, value: T, index: number) => boolean,\n thisArg: A\n): [Observable<T>, Observable<T>];\nexport function partition<T>(source: ObservableInput<T>, predicate: (value: T, index: number) => boolean): [Observable<T>, Observable<T>];\n\n/**\n * Splits the source Observable into two, one with values that satisfy a\n * predicate, and another with values that don't satisfy the predicate.\n *\n * <span class=\"informal\">It's like {@link filter}, but returns two Observables:\n * one like the output of {@link filter}, and the other with values that did not\n * pass the condition.</span>\n *\n * \n *\n * `partition` outputs an array with two Observables that partition the values\n * from the source Observable through the given `predicate` function. The first\n * Observable in that array emits source values for which the predicate argument\n * returns true. The second Observable emits source values for which the\n * predicate returns false. The first behaves like {@link filter} and the second\n * behaves like {@link filter} with the predicate negated.\n *\n * ## Example\n *\n * Partition a set of numbers into odds and evens observables\n *\n * ```ts\n * import { of, partition } from 'rxjs';\n *\n * const observableValues = of(1, 2, 3, 4, 5, 6);\n * const [evens$, odds$] = partition(observableValues, value => value % 2 === 0);\n *\n * odds$.subscribe(x => console.log('odds', x));\n * evens$.subscribe(x => console.log('evens', x));\n *\n * // Logs:\n * // odds 1\n * // odds 3\n * // odds 5\n * // evens 2\n * // evens 4\n * // evens 6\n * ```\n *\n * @see {@link filter}\n *\n * @param source The source `ObservableInput` that will be split into a tuple of\n * two Observable elements.\n * @param predicate A function that evaluates each value emitted by the source\n * Observable. If it returns `true`, the value is emitted on the first Observable\n * in the returned array, if `false` the value is emitted on the second Observable\n * in the array. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number `0`.\n * @param thisArg An optional argument to determine the value of `this` in the\n * `predicate` function.\n * @return An array with two Observables: one with values that passed the\n * predicate, and another with values that did not pass the predicate.\n */\nexport function partition<T>(\n source: ObservableInput<T>,\n predicate: (this: any, value: T, index: number) => boolean,\n thisArg?: any\n): [Observable<T>, Observable<T>] {\n return [filter(predicate, thisArg)(innerFrom(source)), filter(not(predicate, thisArg))(innerFrom(source))] as [\n Observable<T>,\n Observable<T>\n ];\n}\n","import { SchedulerLike } from '../types';\nimport { Observable } from '../Observable';\nimport { EMPTY } from './empty';\n\nexport function range(start: number, count?: number): Observable<number>;\n\n/**\n * @deprecated The `scheduler` parameter will be removed in v8. Use `range(start, count).pipe(observeOn(scheduler))` instead. Details: Details: https://rxjs.dev/deprecations/scheduler-argument\n */\nexport function range(start: number, count: number | undefined, scheduler: SchedulerLike): Observable<number>;\n\n/**\n * Creates an Observable that emits a sequence of numbers within a specified\n * range.\n *\n * <span class=\"informal\">Emits a sequence of numbers in a range.</span>\n *\n * \n *\n * `range` operator emits a range of sequential integers, in order, where you\n * select the `start` of the range and its `length`. By default, uses no\n * {@link SchedulerLike} and just delivers the notifications synchronously, but may use\n * an optional {@link SchedulerLike} to regulate those deliveries.\n *\n * ## Example\n *\n * Produce a range of numbers\n *\n * ```ts\n * import { range } from 'rxjs';\n *\n * const numbers = range(1, 3);\n *\n * numbers.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 1\n * // 2\n * // 3\n * // 'Complete!'\n * ```\n *\n * @see {@link timer}\n * @see {@link interval}\n *\n * @param start The value of the first integer in the sequence.\n * @param count The number of sequential integers to generate.\n * @param scheduler A {@link SchedulerLike} to use for scheduling the emissions\n * of the notifications.\n * @return An Observable of numbers that emits a finite range of sequential integers.\n */\nexport function range(start: number, count?: number, scheduler?: SchedulerLike): Observable<number> {\n if (count == null) {\n // If one argument was passed, it's the count, not the start.\n count = start;\n start = 0;\n }\n\n if (count <= 0) {\n // No count? We're going nowhere. Return EMPTY.\n return EMPTY;\n }\n\n // Where the range should stop.\n const end = count + start;\n\n return new Observable(\n scheduler\n ? // The deprecated scheduled path.\n (subscriber) => {\n let n = start;\n return scheduler.schedule(function () {\n if (n < end) {\n subscriber.next(n++);\n this.schedule();\n } else {\n subscriber.complete();\n }\n });\n }\n : // Standard synchronous range.\n (subscriber) => {\n let n = start;\n while (n < end && !subscriber.closed) {\n subscriber.next(n++);\n }\n subscriber.complete();\n }\n );\n}\n","import { Observable } from '../Observable';\nimport { Unsubscribable, ObservableInput, ObservedValueOf } from '../types';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\n\n/**\n * Creates an Observable that uses a resource which will be disposed at the same time as the Observable.\n *\n * <span class=\"informal\">Use it when you catch yourself cleaning up after an Observable.</span>\n *\n * `using` is a factory operator, which accepts two functions. First function returns a disposable resource.\n * It can be an arbitrary object that implements `unsubscribe` method. Second function will be injected with\n * that object and should return an Observable. That Observable can use resource object during its execution.\n * Both functions passed to `using` will be called every time someone subscribes - neither an Observable nor\n * resource object will be shared in any way between subscriptions.\n *\n * When Observable returned by `using` is subscribed, Observable returned from the second function will be subscribed\n * as well. All its notifications (nexted values, completion and error events) will be emitted unchanged by the output\n * Observable. If however someone unsubscribes from the Observable or source Observable completes or errors by itself,\n * the `unsubscribe` method on resource object will be called. This can be used to do any necessary clean up, which\n * otherwise would have to be handled by hand. Note that complete or error notifications are not emitted when someone\n * cancels subscription to an Observable via `unsubscribe`, so `using` can be used as a hook, allowing you to make\n * sure that all resources which need to exist during an Observable execution will be disposed at appropriate time.\n *\n * @see {@link defer}\n *\n * @param resourceFactory A function which creates any resource object that implements `unsubscribe` method.\n * @param observableFactory A function which creates an Observable, that can use injected resource object.\n * @return An Observable that behaves the same as Observable returned by `observableFactory`, but\n * which - when completed, errored or unsubscribed - will also call `unsubscribe` on created resource object.\n */\nexport function using<T extends ObservableInput<any>>(\n resourceFactory: () => Unsubscribable | void,\n observableFactory: (resource: Unsubscribable | void) => T | void\n): Observable<ObservedValueOf<T>> {\n return new Observable<ObservedValueOf<T>>((subscriber) => {\n const resource = resourceFactory();\n const result = observableFactory(resource);\n const source = result ? innerFrom(result) : EMPTY;\n source.subscribe(subscriber);\n return () => {\n // NOTE: Optional chaining did not work here.\n // Related TS Issue: https://github.com/microsoft/TypeScript/issues/40818\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","//////////////////////////////////////////////////////////\n// Here we need to reference our other deep imports\n// so VS code will figure out where they are\n// see conversation here:\n// https://github.com/microsoft/TypeScript/issues/43034\n//////////////////////////////////////////////////////////\n\n// tslint:disable: no-reference\n// It's tempting to add references to all of the deep-import locations, but\n// adding references to those that require DOM types breaks Node projects.\n/// <reference path=\"./operators/index.ts\" />\n/// <reference path=\"./testing/index.ts\" />\n// tslint:enable: no-reference\n\n/* Observable */\nexport { Observable } from './internal/Observable';\nexport { ConnectableObservable } from './internal/observable/ConnectableObservable';\nexport { GroupedObservable } from './internal/operators/groupBy';\nexport { Operator } from './internal/Operator';\nexport { observable } from './internal/symbol/observable';\nexport { animationFrames } from './internal/observable/dom/animationFrames';\n\n/* Subjects */\nexport { Subject } from './internal/Subject';\nexport { BehaviorSubject } from './internal/BehaviorSubject';\nexport { ReplaySubject } from './internal/ReplaySubject';\nexport { AsyncSubject } from './internal/AsyncSubject';\n\n/* Schedulers */\nexport { asap, asapScheduler } from './internal/scheduler/asap';\nexport { async, asyncScheduler } from './internal/scheduler/async';\nexport { queue, queueScheduler } from './internal/scheduler/queue';\nexport { animationFrame, animationFrameScheduler } from './internal/scheduler/animationFrame';\nexport { VirtualTimeScheduler, VirtualAction } from './internal/scheduler/VirtualTimeScheduler';\nexport { Scheduler } from './internal/Scheduler';\n\n/* Subscription */\nexport { Subscription } from './internal/Subscription';\nexport { Subscriber } from './internal/Subscriber';\n\n/* Notification */\nexport { Notification, NotificationKind } from './internal/Notification';\n\n/* Utils */\nexport { pipe } from './internal/util/pipe';\nexport { noop } from './internal/util/noop';\nexport { identity } from './internal/util/identity';\nexport { isObservable } from './internal/util/isObservable';\n\n/* Promise Conversion */\nexport { lastValueFrom } from './internal/lastValueFrom';\nexport { firstValueFrom } from './internal/firstValueFrom';\n\n/* Error types */\nexport { ArgumentOutOfRangeError } from './internal/util/ArgumentOutOfRangeError';\nexport { EmptyError } from './internal/util/EmptyError';\nexport { NotFoundError } from './internal/util/NotFoundError';\nexport { ObjectUnsubscribedError } from './internal/util/ObjectUnsubscribedError';\nexport { SequenceError } from './internal/util/SequenceError';\nexport { TimeoutError } from './internal/operators/timeout';\nexport { UnsubscriptionError } from './internal/util/UnsubscriptionError';\n\n/* Static observable creation exports */\nexport { bindCallback } from './internal/observable/bindCallback';\nexport { bindNodeCallback } from './internal/observable/bindNodeCallback';\nexport { combineLatest } from './internal/observable/combineLatest';\nexport { concat } from './internal/observable/concat';\nexport { connectable } from './internal/observable/connectable';\nexport { defer } from './internal/observable/defer';\nexport { empty } from './internal/observable/empty';\nexport { forkJoin } from './internal/observable/forkJoin';\nexport { from } from './internal/observable/from';\nexport { fromEvent } from './internal/observable/fromEvent';\nexport { fromEventPattern } from './internal/observable/fromEventPattern';\nexport { generate } from './internal/observable/generate';\nexport { iif } from './internal/observable/iif';\nexport { interval } from './internal/observable/interval';\nexport { merge } from './internal/observable/merge';\nexport { never } from './internal/observable/never';\nexport { of } from './internal/observable/of';\nexport { onErrorResumeNext } from './internal/observable/onErrorResumeNext';\nexport { pairs } from './internal/observable/pairs';\nexport { partition } from './internal/observable/partition';\nexport { race } from './internal/observable/race';\nexport { range } from './internal/observable/range';\nexport { throwError } from './internal/observable/throwError';\nexport { timer } from './internal/observable/timer';\nexport { using } from './internal/observable/using';\nexport { zip } from './internal/observable/zip';\nexport { scheduled } from './internal/scheduled/scheduled';\n\n/* Constants */\nexport { EMPTY } from './internal/observable/empty';\nexport { NEVER } from './internal/observable/never';\n\n/* Types */\nexport * from './internal/types';\n\n/* Config */\nexport { config, GlobalConfig } from './internal/config';\n\n/* Operators */\nexport { audit } from './internal/operators/audit';\nexport { auditTime } from './internal/operators/auditTime';\nexport { buffer } from './internal/operators/buffer';\nexport { bufferCount } from './internal/operators/bufferCount';\nexport { bufferTime } from './internal/operators/bufferTime';\nexport { bufferToggle } from './internal/operators/bufferToggle';\nexport { bufferWhen } from './internal/operators/bufferWhen';\nexport { catchError } from './internal/operators/catchError';\nexport { combineAll } from './internal/operators/combineAll';\nexport { combineLatestAll } from './internal/operators/combineLatestAll';\nexport { combineLatestWith } from './internal/operators/combineLatestWith';\nexport { concatAll } from './internal/operators/concatAll';\nexport { concatMap } from './internal/operators/concatMap';\nexport { concatMapTo } from './internal/operators/concatMapTo';\nexport { concatWith } from './internal/operators/concatWith';\nexport { connect, ConnectConfig } from './internal/operators/connect';\nexport { count } from './internal/operators/count';\nexport { debounce } from './internal/operators/debounce';\nexport { debounceTime } from './internal/operators/debounceTime';\nexport { defaultIfEmpty } from './internal/operators/defaultIfEmpty';\nexport { delay } from './internal/operators/delay';\nexport { delayWhen } from './internal/operators/delayWhen';\nexport { dematerialize } from './internal/operators/dematerialize';\nexport { distinct } from './internal/operators/distinct';\nexport { distinctUntilChanged } from './internal/operators/distinctUntilChanged';\nexport { distinctUntilKeyChanged } from './internal/operators/distinctUntilKeyChanged';\nexport { elementAt } from './internal/operators/elementAt';\nexport { endWith } from './internal/operators/endWith';\nexport { every } from './internal/operators/every';\nexport { exhaust } from './internal/operators/exhaust';\nexport { exhaustAll } from './internal/operators/exhaustAll';\nexport { exhaustMap } from './internal/operators/exhaustMap';\nexport { expand } from './internal/operators/expand';\nexport { filter } from './internal/operators/filter';\nexport { finalize } from './internal/operators/finalize';\nexport { find } from './internal/operators/find';\nexport { findIndex } from './internal/operators/findIndex';\nexport { first } from './internal/operators/first';\nexport { groupBy, BasicGroupByOptions, GroupByOptionsWithElement } from './internal/operators/groupBy';\nexport { ignoreElements } from './internal/operators/ignoreElements';\nexport { isEmpty } from './internal/operators/isEmpty';\nexport { last } from './internal/operators/last';\nexport { map } from './internal/operators/map';\nexport { mapTo } from './internal/operators/mapTo';\nexport { materialize } from './internal/operators/materialize';\nexport { max } from './internal/operators/max';\nexport { mergeAll } from './internal/operators/mergeAll';\nexport { flatMap } from './internal/operators/flatMap';\nexport { mergeMap } from './internal/operators/mergeMap';\nexport { mergeMapTo } from './internal/operators/mergeMapTo';\nexport { mergeScan } from './internal/operators/mergeScan';\nexport { mergeWith } from './internal/operators/mergeWith';\nexport { min } from './internal/operators/min';\nexport { multicast } from './internal/operators/multicast';\nexport { observeOn } from './internal/operators/observeOn';\nexport { onErrorResumeNextWith } from './internal/operators/onErrorResumeNextWith';\nexport { pairwise } from './internal/operators/pairwise';\nexport { pluck } from './internal/operators/pluck';\nexport { publish } from './internal/operators/publish';\nexport { publishBehavior } from './internal/operators/publishBehavior';\nexport { publishLast } from './internal/operators/publishLast';\nexport { publishReplay } from './internal/operators/publishReplay';\nexport { raceWith } from './internal/operators/raceWith';\nexport { reduce } from './internal/operators/reduce';\nexport { repeat, RepeatConfig } from './internal/operators/repeat';\nexport { repeatWhen } from './internal/operators/repeatWhen';\nexport { retry, RetryConfig } from './internal/operators/retry';\nexport { retryWhen } from './internal/operators/retryWhen';\nexport { refCount } from './internal/operators/refCount';\nexport { sample } from './internal/operators/sample';\nexport { sampleTime } from './internal/operators/sampleTime';\nexport { scan } from './internal/operators/scan';\nexport { sequenceEqual } from './internal/operators/sequenceEqual';\nexport { share, ShareConfig } from './internal/operators/share';\nexport { shareReplay, ShareReplayConfig } from './internal/operators/shareReplay';\nexport { single } from './internal/operators/single';\nexport { skip } from './internal/operators/skip';\nexport { skipLast } from './internal/operators/skipLast';\nexport { skipUntil } from './internal/operators/skipUntil';\nexport { skipWhile } from './internal/operators/skipWhile';\nexport { startWith } from './internal/operators/startWith';\nexport { subscribeOn } from './internal/operators/subscribeOn';\nexport { switchAll } from './internal/operators/switchAll';\nexport { switchMap } from './internal/operators/switchMap';\nexport { switchMapTo } from './internal/operators/switchMapTo';\nexport { switchScan } from './internal/operators/switchScan';\nexport { take } from './internal/operators/take';\nexport { takeLast } from './internal/operators/takeLast';\nexport { takeUntil } from './internal/operators/takeUntil';\nexport { takeWhile } from './internal/operators/takeWhile';\nexport { tap, TapObserver } from './internal/operators/tap';\nexport { throttle, ThrottleConfig } from './internal/operators/throttle';\nexport { throttleTime } from './internal/operators/throttleTime';\nexport { throwIfEmpty } from './internal/operators/throwIfEmpty';\nexport { timeInterval } from './internal/operators/timeInterval';\nexport { timeout, TimeoutConfig, TimeoutInfo } from './internal/operators/timeout';\nexport { timeoutWith } from './internal/operators/timeoutWith';\nexport { timestamp } from './internal/operators/timestamp';\nexport { toArray } from './internal/operators/toArray';\nexport { window } from './internal/operators/window';\nexport { windowCount } from './internal/operators/windowCount';\nexport { windowTime } from './internal/operators/windowTime';\nexport { windowToggle } from './internal/operators/windowToggle';\nexport { windowWhen } from './internal/operators/windowWhen';\nexport { withLatestFrom } from './internal/operators/withLatestFrom';\nexport { zipAll } from './internal/operators/zipAll';\nexport { zipWith } from './internal/operators/zipWith';\n","import * as React from 'react';\nimport * as DeprecatedReactTestUtils from 'react-dom/test-utils';\nimport ReactDOM from 'react-dom';\nimport * as ReactDOMClient from 'react-dom/client';\nimport { fireEvent as fireEvent$1, getConfig as getConfig$1, configure as configure$1, prettyDOM, getQueriesForElement } from '@testing-library/dom';\nexport * from '@testing-library/dom';\n\nconst reactAct = typeof React.act === 'function' ? React.act : DeprecatedReactTestUtils.act;\nfunction getGlobalThis() {\n /* istanbul ignore else */\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n /* istanbul ignore next */\n if (typeof self !== 'undefined') {\n return self;\n }\n /* istanbul ignore next */\n if (typeof window !== 'undefined') {\n return window;\n }\n /* istanbul ignore next */\n if (typeof global !== 'undefined') {\n return global;\n }\n /* istanbul ignore next */\n throw new Error('unable to locate global object');\n}\nfunction setIsReactActEnvironment(isReactActEnvironment) {\n getGlobalThis().IS_REACT_ACT_ENVIRONMENT = isReactActEnvironment;\n}\nfunction getIsReactActEnvironment() {\n return getGlobalThis().IS_REACT_ACT_ENVIRONMENT;\n}\nfunction withGlobalActEnvironment(actImplementation) {\n return callback => {\n const previousActEnvironment = getIsReactActEnvironment();\n setIsReactActEnvironment(true);\n try {\n // The return value of `act` is always a thenable.\n let callbackNeedsToBeAwaited = false;\n const actResult = actImplementation(() => {\n const result = callback();\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n callbackNeedsToBeAwaited = true;\n }\n return result;\n });\n if (callbackNeedsToBeAwaited) {\n const thenable = actResult;\n return {\n then: (resolve, reject) => {\n thenable.then(returnValue => {\n setIsReactActEnvironment(previousActEnvironment);\n resolve(returnValue);\n }, error => {\n setIsReactActEnvironment(previousActEnvironment);\n reject(error);\n });\n }\n };\n } else {\n setIsReactActEnvironment(previousActEnvironment);\n return actResult;\n }\n } catch (error) {\n // Can't be a `finally {}` block since we don't know if we have to immediately restore IS_REACT_ACT_ENVIRONMENT\n // or if we have to await the callback first.\n setIsReactActEnvironment(previousActEnvironment);\n throw error;\n }\n };\n}\nconst act = withGlobalActEnvironment(reactAct);\n\n/* eslint no-console:0 */\n\n// react-testing-library's version of fireEvent will call\n// dom-testing-library's version of fireEvent. The reason\n// we make this distinction however is because we have\n// a few extra events that work a bit differently\nconst fireEvent = (...args) => fireEvent$1(...args);\nObject.keys(fireEvent$1).forEach(key => {\n fireEvent[key] = (...args) => fireEvent$1[key](...args);\n});\n\n// React event system tracks native mouseOver/mouseOut events for\n// running onMouseEnter/onMouseLeave handlers\n// @link https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/events/EnterLeaveEventPlugin.js#L24-L31\nconst mouseEnter = fireEvent.mouseEnter;\nconst mouseLeave = fireEvent.mouseLeave;\nfireEvent.mouseEnter = (...args) => {\n mouseEnter(...args);\n return fireEvent.mouseOver(...args);\n};\nfireEvent.mouseLeave = (...args) => {\n mouseLeave(...args);\n return fireEvent.mouseOut(...args);\n};\nconst pointerEnter = fireEvent.pointerEnter;\nconst pointerLeave = fireEvent.pointerLeave;\nfireEvent.pointerEnter = (...args) => {\n pointerEnter(...args);\n return fireEvent.pointerOver(...args);\n};\nfireEvent.pointerLeave = (...args) => {\n pointerLeave(...args);\n return fireEvent.pointerOut(...args);\n};\nconst select = fireEvent.select;\nfireEvent.select = (node, init) => {\n select(node, init);\n // React tracks this event only on focused inputs\n node.focus();\n\n // React creates this event when one of the following native events happens\n // - contextMenu\n // - mouseUp\n // - dragEnd\n // - keyUp\n // - keyDown\n // so we can use any here\n // @link https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/events/SelectEventPlugin.js#L203-L224\n fireEvent.keyUp(node, init);\n};\n\n// React event system tracks native focusout/focusin events for\n// running blur/focus handlers\n// @link https://github.com/facebook/react/pull/19186\nconst blur = fireEvent.blur;\nconst focus = fireEvent.focus;\nfireEvent.blur = (...args) => {\n fireEvent.focusOut(...args);\n return blur(...args);\n};\nfireEvent.focus = (...args) => {\n fireEvent.focusIn(...args);\n return focus(...args);\n};\n\nlet configForRTL = {\n reactStrictMode: false\n};\nfunction getConfig() {\n return {\n ...getConfig$1(),\n ...configForRTL\n };\n}\nfunction configure(newConfig) {\n if (typeof newConfig === 'function') {\n // Pass the existing config out to the provided function\n // and accept a delta in return\n newConfig = newConfig(getConfig());\n }\n const {\n reactStrictMode,\n ...configForDTL\n } = newConfig;\n configure$1(configForDTL);\n configForRTL = {\n ...configForRTL,\n reactStrictMode\n };\n}\n\nfunction jestFakeTimersAreEnabled() {\n /* istanbul ignore else */\n if (typeof jest !== 'undefined' && jest !== null) {\n return (\n // legacy timers\n setTimeout._isMockFunction === true ||\n // modern timers\n // eslint-disable-next-line prefer-object-has-own -- No Object.hasOwn in all target environments we support.\n Object.prototype.hasOwnProperty.call(setTimeout, 'clock')\n );\n } // istanbul ignore next\n\n return false;\n}\nconfigure$1({\n unstable_advanceTimersWrapper: cb => {\n return act(cb);\n },\n // We just want to run `waitFor` without IS_REACT_ACT_ENVIRONMENT\n // But that's not necessarily how `asyncWrapper` is used since it's a public method.\n // Let's just hope nobody else is using it.\n asyncWrapper: async cb => {\n const previousActEnvironment = getIsReactActEnvironment();\n setIsReactActEnvironment(false);\n try {\n const result = await cb();\n // Drain microtask queue.\n // Otherwise we'll restore the previous act() environment, before we resolve the `waitFor` call.\n // The caller would have no chance to wrap the in-flight Promises in `act()`\n await new Promise(resolve => {\n setTimeout(() => {\n resolve();\n }, 0);\n if (jestFakeTimersAreEnabled()) {\n jest.advanceTimersByTime(0);\n }\n });\n return result;\n } finally {\n setIsReactActEnvironment(previousActEnvironment);\n }\n },\n eventWrapper: cb => {\n let result;\n act(() => {\n result = cb();\n });\n return result;\n }\n});\n\n// Ideally we'd just use a WeakMap where containers are keys and roots are values.\n// We use two variables so that we can bail out in constant time when we render with a new container (most common use case)\n/**\n * @type {Set<import('react-dom').Container>}\n */\nconst mountedContainers = new Set();\n/**\n * @type Array<{container: import('react-dom').Container, root: ReturnType<typeof createConcurrentRoot>}>\n */\nconst mountedRootEntries = [];\nfunction strictModeIfNeeded(innerElement, reactStrictMode) {\n return reactStrictMode ?? getConfig().reactStrictMode ? /*#__PURE__*/React.createElement(React.StrictMode, null, innerElement) : innerElement;\n}\nfunction wrapUiIfNeeded(innerElement, wrapperComponent) {\n return wrapperComponent ? /*#__PURE__*/React.createElement(wrapperComponent, null, innerElement) : innerElement;\n}\nfunction createConcurrentRoot(container, {\n hydrate,\n onCaughtError,\n onRecoverableError,\n ui,\n wrapper: WrapperComponent,\n reactStrictMode\n}) {\n let root;\n if (hydrate) {\n act(() => {\n root = ReactDOMClient.hydrateRoot(container, strictModeIfNeeded(wrapUiIfNeeded(ui, WrapperComponent), reactStrictMode), {\n onCaughtError,\n onRecoverableError\n });\n });\n } else {\n root = ReactDOMClient.createRoot(container, {\n onCaughtError,\n onRecoverableError\n });\n }\n return {\n hydrate() {\n /* istanbul ignore if */\n if (!hydrate) {\n throw new Error('Attempted to hydrate a non-hydrateable root. This is a bug in `@testing-library/react`.');\n }\n // Nothing to do since hydration happens when creating the root object.\n },\n render(element) {\n root.render(element);\n },\n unmount() {\n root.unmount();\n }\n };\n}\nfunction createLegacyRoot(container) {\n return {\n hydrate(element) {\n ReactDOM.hydrate(element, container);\n },\n render(element) {\n ReactDOM.render(element, container);\n },\n unmount() {\n ReactDOM.unmountComponentAtNode(container);\n }\n };\n}\nfunction renderRoot(ui, {\n baseElement,\n container,\n hydrate,\n queries,\n root,\n wrapper: WrapperComponent,\n reactStrictMode\n}) {\n act(() => {\n if (hydrate) {\n root.hydrate(strictModeIfNeeded(wrapUiIfNeeded(ui, WrapperComponent), reactStrictMode), container);\n } else {\n root.render(strictModeIfNeeded(wrapUiIfNeeded(ui, WrapperComponent), reactStrictMode), container);\n }\n });\n return {\n container,\n baseElement,\n debug: (el = baseElement, maxLength, options) => Array.isArray(el) ?\n // eslint-disable-next-line no-console\n el.forEach(e => console.log(prettyDOM(e, maxLength, options))) :\n // eslint-disable-next-line no-console,\n console.log(prettyDOM(el, maxLength, options)),\n unmount: () => {\n act(() => {\n root.unmount();\n });\n },\n rerender: rerenderUi => {\n renderRoot(rerenderUi, {\n container,\n baseElement,\n root,\n wrapper: WrapperComponent,\n reactStrictMode\n });\n // Intentionally do not return anything to avoid unnecessarily complicating the API.\n // folks can use all the same utilities we return in the first place that are bound to the container\n },\n asFragment: () => {\n /* istanbul ignore else (old jsdom limitation) */\n if (typeof document.createRange === 'function') {\n return document.createRange().createContextualFragment(container.innerHTML);\n } else {\n const template = document.createElement('template');\n template.innerHTML = container.innerHTML;\n return template.content;\n }\n },\n ...getQueriesForElement(baseElement, queries)\n };\n}\nfunction render(ui, {\n container,\n baseElement = container,\n legacyRoot = false,\n onCaughtError,\n onUncaughtError,\n onRecoverableError,\n queries,\n hydrate = false,\n wrapper,\n reactStrictMode\n} = {}) {\n if (onUncaughtError !== undefined) {\n throw new Error('onUncaughtError is not supported. The `render` call will already throw on uncaught errors.');\n }\n if (legacyRoot && typeof ReactDOM.render !== 'function') {\n const error = new Error('`legacyRoot: true` is not supported in this version of React. ' + 'If your app runs React 19 or later, you should remove this flag. ' + 'If your app runs React 18 or earlier, visit https://react.dev/blog/2022/03/08/react-18-upgrade-guide for upgrade instructions.');\n Error.captureStackTrace(error, render);\n throw error;\n }\n if (!baseElement) {\n // default to document.body instead of documentElement to avoid output of potentially-large\n // head elements (such as JSS style blocks) in debug output\n baseElement = document.body;\n }\n if (!container) {\n container = baseElement.appendChild(document.createElement('div'));\n }\n let root;\n // eslint-disable-next-line no-negated-condition -- we want to map the evolution of this over time. The root is created first. Only later is it re-used so we don't want to read the case that happens later first.\n if (!mountedContainers.has(container)) {\n const createRootImpl = legacyRoot ? createLegacyRoot : createConcurrentRoot;\n root = createRootImpl(container, {\n hydrate,\n onCaughtError,\n onRecoverableError,\n ui,\n wrapper,\n reactStrictMode\n });\n mountedRootEntries.push({\n container,\n root\n });\n // we'll add it to the mounted containers regardless of whether it's actually\n // added to document.body so the cleanup method works regardless of whether\n // they're passing us a custom container or not.\n mountedContainers.add(container);\n } else {\n mountedRootEntries.forEach(rootEntry => {\n // Else is unreachable since `mountedContainers` has the `container`.\n // Only reachable if one would accidentally add the container to `mountedContainers` but not the root to `mountedRootEntries`\n /* istanbul ignore else */\n if (rootEntry.container === container) {\n root = rootEntry.root;\n }\n });\n }\n return renderRoot(ui, {\n container,\n baseElement,\n queries,\n hydrate,\n wrapper,\n root,\n reactStrictMode\n });\n}\nfunction cleanup() {\n mountedRootEntries.forEach(({\n root,\n container\n }) => {\n act(() => {\n root.unmount();\n });\n if (container.parentNode === document.body) {\n document.body.removeChild(container);\n }\n });\n mountedRootEntries.length = 0;\n mountedContainers.clear();\n}\nfunction renderHook(renderCallback, options = {}) {\n const {\n initialProps,\n ...renderOptions\n } = options;\n if (renderOptions.legacyRoot && typeof ReactDOM.render !== 'function') {\n const error = new Error('`legacyRoot: true` is not supported in this version of React. ' + 'If your app runs React 19 or later, you should remove this flag. ' + 'If your app runs React 18 or earlier, visit https://react.dev/blog/2022/03/08/react-18-upgrade-guide for upgrade instructions.');\n Error.captureStackTrace(error, renderHook);\n throw error;\n }\n const result = /*#__PURE__*/React.createRef();\n function TestComponent({\n renderCallbackProps\n }) {\n const pendingResult = renderCallback(renderCallbackProps);\n React.useEffect(() => {\n result.current = pendingResult;\n });\n return null;\n }\n const {\n rerender: baseRerender,\n unmount\n } = render(/*#__PURE__*/React.createElement(TestComponent, {\n renderCallbackProps: initialProps\n }), renderOptions);\n function rerender(rerenderCallbackProps) {\n return baseRerender(/*#__PURE__*/React.createElement(TestComponent, {\n renderCallbackProps: rerenderCallbackProps\n }));\n }\n return {\n result,\n rerender,\n unmount\n };\n}\n\n/* eslint func-name-matching:0 */\n\n// if we're running in a test runner that supports afterEach\n// or teardown then we'll automatically run cleanup afterEach test\n// this ensures that tests run in isolation from each other\n// if you don't like this then either import the `pure` module\n// or set the RTL_SKIP_AUTO_CLEANUP env variable to 'true'.\nif (typeof process === 'undefined' || !process.env?.RTL_SKIP_AUTO_CLEANUP) {\n // ignore teardown() in code coverage because Jest does not support it\n /* istanbul ignore else */\n if (typeof afterEach === 'function') {\n afterEach(() => {\n cleanup();\n });\n } else if (typeof teardown === 'function') {\n // Block is guarded by `typeof` check.\n // eslint does not support `typeof` guards.\n // eslint-disable-next-line no-undef\n teardown(() => {\n cleanup();\n });\n }\n\n // No test setup with other test runners available\n /* istanbul ignore else */\n if (typeof beforeAll === 'function' && typeof afterAll === 'function') {\n // This matches the behavior of React < 18.\n let previousIsReactActEnvironment = getIsReactActEnvironment();\n beforeAll(() => {\n previousIsReactActEnvironment = getIsReactActEnvironment();\n setIsReactActEnvironment(true);\n });\n afterAll(() => {\n setIsReactActEnvironment(previousIsReactActEnvironment);\n });\n }\n}\n\nexport { act, cleanup, configure, fireEvent, getConfig, render, renderHook };\n","import * as prettyFormat from 'pretty-format';\nexport { prettyFormat };\nimport { computeAccessibleName, computeAccessibleDescription } from 'dom-accessibility-api';\nimport { elementRoles, roles, roleElements } from 'aria-query';\nimport lzString from 'lz-string';\n\n/**\n * Source: https://github.com/facebook/jest/blob/e7bb6a1e26ffab90611b2593912df15b69315611/packages/pretty-format/src/plugins/DOMElement.ts\n */\n/* eslint-disable -- trying to stay as close to the original as possible */\n/* istanbul ignore file */\n\nfunction escapeHTML(str) {\n return str.replace(/</g, '<').replace(/>/g, '>');\n}\n// Return empty string if keys is empty.\nconst printProps = (keys, props, config, indentation, depth, refs, printer) => {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys.map(key => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n if (typeof value !== 'string') {\n if (printed.indexOf('\\n') !== -1) {\n printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;\n }\n printed = '{' + printed + '}';\n }\n return config.spacingInner + indentation + colors.prop.open + key + colors.prop.close + '=' + colors.value.open + printed + colors.value.close;\n }).join('');\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#node_type_constants\nconst NodeTypeTextNode = 3;\n\n// Return empty string if children is empty.\nconst printChildren = (children, config, indentation, depth, refs, printer) => children.map(child => {\n const printedChild = typeof child === 'string' ? printText(child, config) : printer(child, config, indentation, depth, refs);\n if (printedChild === '' && typeof child === 'object' && child !== null && child.nodeType !== NodeTypeTextNode) {\n // A plugin serialized this Node to '' meaning we should ignore it.\n return '';\n }\n return config.spacingOuter + indentation + printedChild;\n}).join('');\nconst printText = (text, config) => {\n const contentColor = config.colors.content;\n return contentColor.open + escapeHTML(text) + contentColor.close;\n};\nconst printComment = (comment, config) => {\n const commentColor = config.colors.comment;\n return commentColor.open + '<!--' + escapeHTML(comment) + '-->' + commentColor.close;\n};\n\n// Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\nconst printElement = (type, printedProps, printedChildren, config, indentation) => {\n const tagColor = config.colors.tag;\n return tagColor.open + '<' + type + (printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open) + (printedChildren ? '>' + tagColor.close + printedChildren + config.spacingOuter + indentation + tagColor.open + '</' + type : (printedProps && !config.min ? '' : ' ') + '/') + '>' + tagColor.close;\n};\nconst printElementAsLeaf = (type, config) => {\n const tagColor = config.colors.tag;\n return tagColor.open + '<' + type + tagColor.close + ' …' + tagColor.open + ' />' + tagColor.close;\n};\nconst ELEMENT_NODE$1 = 1;\nconst TEXT_NODE$1 = 3;\nconst COMMENT_NODE$1 = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\nconst isCustomElement = val => {\n const {\n tagName\n } = val;\n return Boolean(typeof tagName === 'string' && tagName.includes('-') || typeof val.hasAttribute === 'function' && val.hasAttribute('is'));\n};\nconst testNode = val => {\n const constructorName = val.constructor.name;\n const {\n nodeType\n } = val;\n return nodeType === ELEMENT_NODE$1 && (ELEMENT_REGEXP.test(constructorName) || isCustomElement(val)) || nodeType === TEXT_NODE$1 && constructorName === 'Text' || nodeType === COMMENT_NODE$1 && constructorName === 'Comment' || nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment';\n};\nfunction nodeIsText(node) {\n return node.nodeType === TEXT_NODE$1;\n}\nfunction nodeIsComment(node) {\n return node.nodeType === COMMENT_NODE$1;\n}\nfunction nodeIsFragment(node) {\n return node.nodeType === FRAGMENT_NODE;\n}\nfunction createDOMElementFilter(filterNode) {\n return {\n test: val => {\n var _val$constructor2;\n return ((val == null || (_val$constructor2 = val.constructor) == null ? void 0 : _val$constructor2.name) || isCustomElement(val)) && testNode(val);\n },\n serialize: (node, config, indentation, depth, refs, printer) => {\n if (nodeIsText(node)) {\n return printText(node.data, config);\n }\n if (nodeIsComment(node)) {\n return printComment(node.data, config);\n }\n const type = nodeIsFragment(node) ? \"DocumentFragment\" : node.tagName.toLowerCase();\n if (++depth > config.maxDepth) {\n return printElementAsLeaf(type, config);\n }\n return printElement(type, printProps(nodeIsFragment(node) ? [] : Array.from(node.attributes).map(attr => attr.name).sort(), nodeIsFragment(node) ? {} : Array.from(node.attributes).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {}), config, indentation + config.indent, depth, refs, printer), printChildren(Array.prototype.slice.call(node.childNodes || node.children).filter(filterNode), config, indentation + config.indent, depth, refs, printer), config, indentation);\n }\n };\n}\n\n// We try to load node dependencies\nlet picocolors = null;\nlet readFileSync = null;\nlet codeFrameColumns = null;\ntry {\n const nodeRequire = module && module.require;\n readFileSync = nodeRequire.call(module, 'fs').readFileSync;\n codeFrameColumns = nodeRequire.call(module, '@babel/code-frame').codeFrameColumns;\n picocolors = nodeRequire.call(module, 'picocolors');\n} catch {\n // We're in a browser environment\n}\n\n// frame has the form \"at myMethod (location/to/my/file.js:10:2)\"\nfunction getCodeFrame(frame) {\n const locationStart = frame.indexOf('(') + 1;\n const locationEnd = frame.indexOf(')');\n const frameLocation = frame.slice(locationStart, locationEnd);\n const frameLocationElements = frameLocation.split(':');\n const [filename, line, column] = [frameLocationElements[0], parseInt(frameLocationElements[1], 10), parseInt(frameLocationElements[2], 10)];\n let rawFileContents = '';\n try {\n rawFileContents = readFileSync(filename, 'utf-8');\n } catch {\n return '';\n }\n const codeFrame = codeFrameColumns(rawFileContents, {\n start: {\n line,\n column\n }\n }, {\n highlightCode: true,\n linesBelow: 0\n });\n return picocolors.dim(frameLocation) + \"\\n\" + codeFrame + \"\\n\";\n}\nfunction getUserCodeFrame() {\n // If we couldn't load dependencies, we can't generate the user trace\n /* istanbul ignore next */\n if (!readFileSync || !codeFrameColumns) {\n return '';\n }\n const err = new Error();\n const firstClientCodeFrame = err.stack.split('\\n').slice(1) // Remove first line which has the form \"Error: TypeError\"\n .find(frame => !frame.includes('node_modules/')); // Ignore frames from 3rd party libraries\n\n return getCodeFrame(firstClientCodeFrame);\n}\n\n// Constant node.nodeType for text nodes, see:\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#Node_type_constants\nconst TEXT_NODE = 3;\nfunction jestFakeTimersAreEnabled() {\n /* istanbul ignore else */\n // eslint-disable-next-line\n if (typeof jest !== 'undefined' && jest !== null) {\n return (\n // legacy timers\n setTimeout._isMockFunction === true ||\n // modern timers\n // eslint-disable-next-line prefer-object-has-own -- not supported by our support matrix\n Object.prototype.hasOwnProperty.call(setTimeout, 'clock')\n );\n }\n // istanbul ignore next\n return false;\n}\nfunction getDocument() {\n /* istanbul ignore if */\n if (typeof window === 'undefined') {\n throw new Error('Could not find default container');\n }\n return window.document;\n}\nfunction getWindowFromNode(node) {\n if (node.defaultView) {\n // node is document\n return node.defaultView;\n } else if (node.ownerDocument && node.ownerDocument.defaultView) {\n // node is a DOM node\n return node.ownerDocument.defaultView;\n } else if (node.window) {\n // node is window\n return node.window;\n } else if (node.ownerDocument && node.ownerDocument.defaultView === null) {\n throw new Error(\"It looks like the window object is not available for the provided node.\");\n } else if (node.then instanceof Function) {\n throw new Error(\"It looks like you passed a Promise object instead of a DOM node. Did you do something like `fireEvent.click(screen.findBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`, or await the findBy query `fireEvent.click(await screen.findBy...`?\");\n } else if (Array.isArray(node)) {\n throw new Error(\"It looks like you passed an Array instead of a DOM node. Did you do something like `fireEvent.click(screen.getAllBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`?\");\n } else if (typeof node.debug === 'function' && typeof node.logTestingPlaygroundURL === 'function') {\n throw new Error(\"It looks like you passed a `screen` object. Did you do something like `fireEvent.click(screen, ...` when you meant to use a query, e.g. `fireEvent.click(screen.getBy..., `?\");\n } else {\n // The user passed something unusual to a calling function\n throw new Error(\"The given node is not an Element, the node type is: \" + typeof node + \".\");\n }\n}\nfunction checkContainerType(container) {\n if (!container || !(typeof container.querySelector === 'function') || !(typeof container.querySelectorAll === 'function')) {\n throw new TypeError(\"Expected container to be an Element, a Document or a DocumentFragment but got \" + getTypeName(container) + \".\");\n }\n function getTypeName(object) {\n if (typeof object === 'object') {\n return object === null ? 'null' : object.constructor.name;\n }\n return typeof object;\n }\n}\n\nconst shouldHighlight = () => {\n if (typeof process === 'undefined') {\n // Don't colorize in non-node environments (e.g. Browsers)\n return false;\n }\n let colors;\n // Try to safely parse env COLORS: We will default behavior if any step fails.\n try {\n var _process$env;\n const colorsJSON = (_process$env = process.env) == null ? void 0 : _process$env.COLORS;\n if (colorsJSON) {\n colors = JSON.parse(colorsJSON);\n }\n } catch {\n // If this throws, process.env?.COLORS wasn't parsable. Since we only\n // care about `true` or `false`, we can safely ignore the error.\n }\n if (typeof colors === 'boolean') {\n // If `colors` is set explicitly (both `true` and `false`), use that value.\n return colors;\n } else {\n // If `colors` is not set, colorize if we're in node.\n return process.versions !== undefined && process.versions.node !== undefined;\n }\n};\nconst {\n DOMCollection\n} = prettyFormat.plugins;\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#node_type_constants\nconst ELEMENT_NODE = 1;\nconst COMMENT_NODE = 8;\n\n// https://github.com/facebook/jest/blob/615084195ae1ae61ddd56162c62bbdda17587569/packages/pretty-format/src/plugins/DOMElement.ts#L50\nfunction filterCommentsAndDefaultIgnoreTagsTags(value) {\n return value.nodeType !== COMMENT_NODE && (value.nodeType !== ELEMENT_NODE || !value.matches(getConfig().defaultIgnore));\n}\nfunction prettyDOM(dom, maxLength, options) {\n if (options === void 0) {\n options = {};\n }\n if (!dom) {\n dom = getDocument().body;\n }\n if (typeof maxLength !== 'number') {\n maxLength = typeof process !== 'undefined' && typeof process.env !== 'undefined' && process.env.DEBUG_PRINT_LIMIT || 7000;\n }\n if (maxLength === 0) {\n return '';\n }\n if (dom.documentElement) {\n dom = dom.documentElement;\n }\n let domTypeName = typeof dom;\n if (domTypeName === 'object') {\n domTypeName = dom.constructor.name;\n } else {\n // To don't fall with `in` operator\n dom = {};\n }\n if (!('outerHTML' in dom)) {\n throw new TypeError(\"Expected an element or document but got \" + domTypeName);\n }\n const {\n filterNode = filterCommentsAndDefaultIgnoreTagsTags,\n ...prettyFormatOptions\n } = options;\n const debugContent = prettyFormat.format(dom, {\n plugins: [createDOMElementFilter(filterNode), DOMCollection],\n printFunctionName: false,\n highlight: shouldHighlight(),\n ...prettyFormatOptions\n });\n return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + \"...\" : debugContent;\n}\nconst logDOM = function () {\n const userCodeFrame = getUserCodeFrame();\n if (userCodeFrame) {\n console.log(prettyDOM(...arguments) + \"\\n\\n\" + userCodeFrame);\n } else {\n console.log(prettyDOM(...arguments));\n }\n};\n\n// It would be cleaner for this to live inside './queries', but\n// other parts of the code assume that all exports from\n// './queries' are query functions.\nlet config = {\n testIdAttribute: 'data-testid',\n asyncUtilTimeout: 1000,\n // asyncWrapper and advanceTimersWrapper is to support React's async `act` function.\n // forcing react-testing-library to wrap all async functions would've been\n // a total nightmare (consider wrapping every findBy* query and then also\n // updating `within` so those would be wrapped too. Total nightmare).\n // so we have this config option that's really only intended for\n // react-testing-library to use. For that reason, this feature will remain\n // undocumented.\n asyncWrapper: cb => cb(),\n unstable_advanceTimersWrapper: cb => cb(),\n eventWrapper: cb => cb(),\n // default value for the `hidden` option in `ByRole` queries\n defaultHidden: false,\n // default value for the `ignore` option in `ByText` queries\n defaultIgnore: 'script, style',\n // showOriginalStackTrace flag to show the full error stack traces for async errors\n showOriginalStackTrace: false,\n // throw errors w/ suggestions for better queries. Opt in so off by default.\n throwSuggestions: false,\n // called when getBy* queries fail. (message, container) => Error\n getElementError(message, container) {\n const prettifiedDOM = prettyDOM(container);\n const error = new Error([message, \"Ignored nodes: comments, \" + config.defaultIgnore + \"\\n\" + prettifiedDOM].filter(Boolean).join('\\n\\n'));\n error.name = 'TestingLibraryElementError';\n return error;\n },\n _disableExpensiveErrorDiagnostics: false,\n computedStyleSupportsPseudoElements: false\n};\nfunction runWithExpensiveErrorDiagnosticsDisabled(callback) {\n try {\n config._disableExpensiveErrorDiagnostics = true;\n return callback();\n } finally {\n config._disableExpensiveErrorDiagnostics = false;\n }\n}\nfunction configure(newConfig) {\n if (typeof newConfig === 'function') {\n // Pass the existing config out to the provided function\n // and accept a delta in return\n newConfig = newConfig(config);\n }\n\n // Merge the incoming config delta\n config = {\n ...config,\n ...newConfig\n };\n}\nfunction getConfig() {\n return config;\n}\n\nconst labelledNodeNames = ['button', 'meter', 'output', 'progress', 'select', 'textarea', 'input'];\nfunction getTextContent(node) {\n if (labelledNodeNames.includes(node.nodeName.toLowerCase())) {\n return '';\n }\n if (node.nodeType === TEXT_NODE) return node.textContent;\n return Array.from(node.childNodes).map(childNode => getTextContent(childNode)).join('');\n}\nfunction getLabelContent(element) {\n let textContent;\n if (element.tagName.toLowerCase() === 'label') {\n textContent = getTextContent(element);\n } else {\n textContent = element.value || element.textContent;\n }\n return textContent;\n}\n\n// Based on https://github.com/eps1lon/dom-accessibility-api/pull/352\nfunction getRealLabels(element) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- types are not aware of older browsers that don't implement `labels`\n if (element.labels !== undefined) {\n var _labels;\n return (_labels = element.labels) != null ? _labels : [];\n }\n if (!isLabelable(element)) return [];\n const labels = element.ownerDocument.querySelectorAll('label');\n return Array.from(labels).filter(label => label.control === element);\n}\nfunction isLabelable(element) {\n return /BUTTON|METER|OUTPUT|PROGRESS|SELECT|TEXTAREA/.test(element.tagName) || element.tagName === 'INPUT' && element.getAttribute('type') !== 'hidden';\n}\nfunction getLabels(container, element, _temp) {\n let {\n selector = '*'\n } = _temp === void 0 ? {} : _temp;\n const ariaLabelledBy = element.getAttribute('aria-labelledby');\n const labelsId = ariaLabelledBy ? ariaLabelledBy.split(' ') : [];\n return labelsId.length ? labelsId.map(labelId => {\n const labellingElement = container.querySelector(\"[id=\\\"\" + labelId + \"\\\"]\");\n return labellingElement ? {\n content: getLabelContent(labellingElement),\n formControl: null\n } : {\n content: '',\n formControl: null\n };\n }) : Array.from(getRealLabels(element)).map(label => {\n const textToMatch = getLabelContent(label);\n const formControlSelector = 'button, input, meter, output, progress, select, textarea';\n const labelledFormControl = Array.from(label.querySelectorAll(formControlSelector)).filter(formControlElement => formControlElement.matches(selector))[0];\n return {\n content: textToMatch,\n formControl: labelledFormControl\n };\n });\n}\n\nfunction assertNotNullOrUndefined(matcher) {\n if (matcher === null || matcher === undefined) {\n throw new Error(// eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- implicitly converting `T` to `string`\n \"It looks like \" + matcher + \" was passed instead of a matcher. Did you do something like getByText(\" + matcher + \")?\");\n }\n}\nfunction fuzzyMatches(textToMatch, node, matcher, normalizer) {\n if (typeof textToMatch !== 'string') {\n return false;\n }\n assertNotNullOrUndefined(matcher);\n const normalizedText = normalizer(textToMatch);\n if (typeof matcher === 'string' || typeof matcher === 'number') {\n return normalizedText.toLowerCase().includes(matcher.toString().toLowerCase());\n } else if (typeof matcher === 'function') {\n return matcher(normalizedText, node);\n } else {\n return matchRegExp(matcher, normalizedText);\n }\n}\nfunction matches(textToMatch, node, matcher, normalizer) {\n if (typeof textToMatch !== 'string') {\n return false;\n }\n assertNotNullOrUndefined(matcher);\n const normalizedText = normalizer(textToMatch);\n if (matcher instanceof Function) {\n return matcher(normalizedText, node);\n } else if (matcher instanceof RegExp) {\n return matchRegExp(matcher, normalizedText);\n } else {\n return normalizedText === String(matcher);\n }\n}\nfunction getDefaultNormalizer(_temp) {\n let {\n trim = true,\n collapseWhitespace = true\n } = _temp === void 0 ? {} : _temp;\n return text => {\n let normalizedText = text;\n normalizedText = trim ? normalizedText.trim() : normalizedText;\n normalizedText = collapseWhitespace ? normalizedText.replace(/\\s+/g, ' ') : normalizedText;\n return normalizedText;\n };\n}\n\n/**\n * Constructs a normalizer to pass to functions in matches.js\n * @param {boolean|undefined} trim The user-specified value for `trim`, without\n * any defaulting having been applied\n * @param {boolean|undefined} collapseWhitespace The user-specified value for\n * `collapseWhitespace`, without any defaulting having been applied\n * @param {Function|undefined} normalizer The user-specified normalizer\n * @returns {Function} A normalizer\n */\n\nfunction makeNormalizer(_ref) {\n let {\n trim,\n collapseWhitespace,\n normalizer\n } = _ref;\n if (!normalizer) {\n // No custom normalizer specified. Just use default.\n return getDefaultNormalizer({\n trim,\n collapseWhitespace\n });\n }\n if (typeof trim !== 'undefined' || typeof collapseWhitespace !== 'undefined') {\n // They've also specified a value for trim or collapseWhitespace\n throw new Error('trim and collapseWhitespace are not supported with a normalizer. ' + 'If you want to use the default trim and collapseWhitespace logic in your normalizer, ' + 'use \"getDefaultNormalizer({trim, collapseWhitespace})\" and compose that into your normalizer');\n }\n return normalizer;\n}\nfunction matchRegExp(matcher, text) {\n const match = matcher.test(text);\n if (matcher.global && matcher.lastIndex !== 0) {\n console.warn(\"To match all elements we had to reset the lastIndex of the RegExp because the global flag is enabled. We encourage to remove the global flag from the RegExp.\");\n matcher.lastIndex = 0;\n }\n return match;\n}\n\nfunction getNodeText(node) {\n if (node.matches('input[type=submit], input[type=button], input[type=reset]')) {\n return node.value;\n }\n return Array.from(node.childNodes).filter(child => child.nodeType === TEXT_NODE && Boolean(child.textContent)).map(c => c.textContent).join('');\n}\n\nconst elementRoleList = buildElementRoleList(elementRoles);\n\n/**\n * @param {Element} element -\n * @returns {boolean} - `true` if `element` and its subtree are inaccessible\n */\nfunction isSubtreeInaccessible(element) {\n if (element.hidden === true) {\n return true;\n }\n if (element.getAttribute('aria-hidden') === 'true') {\n return true;\n }\n const window = element.ownerDocument.defaultView;\n if (window.getComputedStyle(element).display === 'none') {\n return true;\n }\n return false;\n}\n\n/**\n * Partial implementation https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion\n * which should only be used for elements with a non-presentational role i.e.\n * `role=\"none\"` and `role=\"presentation\"` will not be excluded.\n *\n * Implements aria-hidden semantics (i.e. parent overrides child)\n * Ignores \"Child Presentational: True\" characteristics\n *\n * @param {Element} element -\n * @param {object} [options] -\n * @param {function (element: Element): boolean} options.isSubtreeInaccessible -\n * can be used to return cached results from previous isSubtreeInaccessible calls\n * @returns {boolean} true if excluded, otherwise false\n */\nfunction isInaccessible(element, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n isSubtreeInaccessible: isSubtreeInaccessibleImpl = isSubtreeInaccessible\n } = options;\n const window = element.ownerDocument.defaultView;\n // since visibility is inherited we can exit early\n if (window.getComputedStyle(element).visibility === 'hidden') {\n return true;\n }\n let currentElement = element;\n while (currentElement) {\n if (isSubtreeInaccessibleImpl(currentElement)) {\n return true;\n }\n currentElement = currentElement.parentElement;\n }\n return false;\n}\nfunction getImplicitAriaRoles(currentNode) {\n // eslint bug here:\n // eslint-disable-next-line no-unused-vars\n for (const {\n match,\n roles\n } of elementRoleList) {\n if (match(currentNode)) {\n return [...roles];\n }\n }\n return [];\n}\nfunction buildElementRoleList(elementRolesMap) {\n function makeElementSelector(_ref) {\n let {\n name,\n attributes\n } = _ref;\n return \"\" + name + attributes.map(_ref2 => {\n let {\n name: attributeName,\n value,\n constraints = []\n } = _ref2;\n const shouldNotExist = constraints.indexOf('undefined') !== -1;\n const shouldBeNonEmpty = constraints.indexOf('set') !== -1;\n const hasExplicitValue = typeof value !== 'undefined';\n if (hasExplicitValue) {\n return \"[\" + attributeName + \"=\\\"\" + value + \"\\\"]\";\n } else if (shouldNotExist) {\n return \":not([\" + attributeName + \"])\";\n } else if (shouldBeNonEmpty) {\n return \"[\" + attributeName + \"]:not([\" + attributeName + \"=\\\"\\\"])\";\n }\n return \"[\" + attributeName + \"]\";\n }).join('');\n }\n function getSelectorSpecificity(_ref3) {\n let {\n attributes = []\n } = _ref3;\n return attributes.length;\n }\n function bySelectorSpecificity(_ref4, _ref5) {\n let {\n specificity: leftSpecificity\n } = _ref4;\n let {\n specificity: rightSpecificity\n } = _ref5;\n return rightSpecificity - leftSpecificity;\n }\n function match(element) {\n let {\n attributes = []\n } = element;\n\n // https://github.com/testing-library/dom-testing-library/issues/814\n const typeTextIndex = attributes.findIndex(attribute => attribute.value && attribute.name === 'type' && attribute.value === 'text');\n if (typeTextIndex >= 0) {\n // not using splice to not mutate the attributes array\n attributes = [...attributes.slice(0, typeTextIndex), ...attributes.slice(typeTextIndex + 1)];\n }\n const selector = makeElementSelector({\n ...element,\n attributes\n });\n return node => {\n if (typeTextIndex >= 0 && node.type !== 'text') {\n return false;\n }\n return node.matches(selector);\n };\n }\n let result = [];\n\n // eslint bug here:\n // eslint-disable-next-line no-unused-vars\n for (const [element, roles] of elementRolesMap.entries()) {\n result = [...result, {\n match: match(element),\n roles: Array.from(roles),\n specificity: getSelectorSpecificity(element)\n }];\n }\n return result.sort(bySelectorSpecificity);\n}\nfunction getRoles(container, _temp) {\n let {\n hidden = false\n } = _temp === void 0 ? {} : _temp;\n function flattenDOM(node) {\n return [node, ...Array.from(node.children).reduce((acc, child) => [...acc, ...flattenDOM(child)], [])];\n }\n return flattenDOM(container).filter(element => {\n return hidden === false ? isInaccessible(element) === false : true;\n }).reduce((acc, node) => {\n let roles = [];\n // TODO: This violates html-aria which does not allow any role on every element\n if (node.hasAttribute('role')) {\n roles = node.getAttribute('role').split(' ').slice(0, 1);\n } else {\n roles = getImplicitAriaRoles(node);\n }\n return roles.reduce((rolesAcc, role) => Array.isArray(rolesAcc[role]) ? {\n ...rolesAcc,\n [role]: [...rolesAcc[role], node]\n } : {\n ...rolesAcc,\n [role]: [node]\n }, acc);\n }, {});\n}\nfunction prettyRoles(dom, _ref6) {\n let {\n hidden,\n includeDescription\n } = _ref6;\n const roles = getRoles(dom, {\n hidden\n });\n // We prefer to skip generic role, we don't recommend it\n return Object.entries(roles).filter(_ref7 => {\n let [role] = _ref7;\n return role !== 'generic';\n }).map(_ref8 => {\n let [role, elements] = _ref8;\n const delimiterBar = '-'.repeat(50);\n const elementsString = elements.map(el => {\n const nameString = \"Name \\\"\" + computeAccessibleName(el, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }) + \"\\\":\\n\";\n const domString = prettyDOM(el.cloneNode(false));\n if (includeDescription) {\n const descriptionString = \"Description \\\"\" + computeAccessibleDescription(el, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }) + \"\\\":\\n\";\n return \"\" + nameString + descriptionString + domString;\n }\n return \"\" + nameString + domString;\n }).join('\\n\\n');\n return role + \":\\n\\n\" + elementsString + \"\\n\\n\" + delimiterBar;\n }).join('\\n');\n}\nconst logRoles = function (dom, _temp2) {\n let {\n hidden = false\n } = _temp2 === void 0 ? {} : _temp2;\n return console.log(prettyRoles(dom, {\n hidden\n }));\n};\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)selected, undefined if not selectable\n */\nfunction computeAriaSelected(element) {\n // implicit value from html-aam mappings: https://www.w3.org/TR/html-aam-1.0/#html-attribute-state-and-property-mappings\n // https://www.w3.org/TR/html-aam-1.0/#details-id-97\n if (element.tagName === 'OPTION') {\n return element.selected;\n }\n\n // explicit value\n return checkBooleanAttribute(element, 'aria-selected');\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean} -\n */\nfunction computeAriaBusy(element) {\n // https://www.w3.org/TR/wai-aria-1.1/#aria-busy\n return element.getAttribute('aria-busy') === 'true';\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)checked, undefined if not checked-able\n */\nfunction computeAriaChecked(element) {\n // implicit value from html-aam mappings: https://www.w3.org/TR/html-aam-1.0/#html-attribute-state-and-property-mappings\n // https://www.w3.org/TR/html-aam-1.0/#details-id-56\n // https://www.w3.org/TR/html-aam-1.0/#details-id-67\n if ('indeterminate' in element && element.indeterminate) {\n return undefined;\n }\n if ('checked' in element) {\n return element.checked;\n }\n\n // explicit value\n return checkBooleanAttribute(element, 'aria-checked');\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)pressed, undefined if not press-able\n */\nfunction computeAriaPressed(element) {\n // https://www.w3.org/TR/wai-aria-1.1/#aria-pressed\n return checkBooleanAttribute(element, 'aria-pressed');\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | string | null} -\n */\nfunction computeAriaCurrent(element) {\n var _ref9, _checkBooleanAttribut;\n // https://www.w3.org/TR/wai-aria-1.1/#aria-current\n return (_ref9 = (_checkBooleanAttribut = checkBooleanAttribute(element, 'aria-current')) != null ? _checkBooleanAttribut : element.getAttribute('aria-current')) != null ? _ref9 : false;\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)expanded, undefined if not expand-able\n */\nfunction computeAriaExpanded(element) {\n // https://www.w3.org/TR/wai-aria-1.1/#aria-expanded\n return checkBooleanAttribute(element, 'aria-expanded');\n}\nfunction checkBooleanAttribute(element, attribute) {\n const attributeValue = element.getAttribute(attribute);\n if (attributeValue === 'true') {\n return true;\n }\n if (attributeValue === 'false') {\n return false;\n }\n return undefined;\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} - number if implicit heading or aria-level present, otherwise undefined\n */\nfunction computeHeadingLevel(element) {\n // https://w3c.github.io/html-aam/#el-h1-h6\n // https://w3c.github.io/html-aam/#el-h1-h6\n const implicitHeadingLevels = {\n H1: 1,\n H2: 2,\n H3: 3,\n H4: 4,\n H5: 5,\n H6: 6\n };\n // explicit aria-level value\n // https://www.w3.org/TR/wai-aria-1.2/#aria-level\n const ariaLevelAttribute = element.getAttribute('aria-level') && Number(element.getAttribute('aria-level'));\n return ariaLevelAttribute || implicitHeadingLevels[element.tagName];\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} -\n */\nfunction computeAriaValueNow(element) {\n const valueNow = element.getAttribute('aria-valuenow');\n return valueNow === null ? undefined : +valueNow;\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} -\n */\nfunction computeAriaValueMax(element) {\n const valueMax = element.getAttribute('aria-valuemax');\n return valueMax === null ? undefined : +valueMax;\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} -\n */\nfunction computeAriaValueMin(element) {\n const valueMin = element.getAttribute('aria-valuemin');\n return valueMin === null ? undefined : +valueMin;\n}\n\n/**\n * @param {Element} element -\n * @returns {string | undefined} -\n */\nfunction computeAriaValueText(element) {\n const valueText = element.getAttribute('aria-valuetext');\n return valueText === null ? undefined : valueText;\n}\n\nconst normalize = getDefaultNormalizer();\nfunction escapeRegExp(string) {\n return string.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\nfunction getRegExpMatcher(string) {\n return new RegExp(escapeRegExp(string.toLowerCase()), 'i');\n}\nfunction makeSuggestion(queryName, element, content, _ref) {\n let {\n variant,\n name\n } = _ref;\n let warning = '';\n const queryOptions = {};\n const queryArgs = [['Role', 'TestId'].includes(queryName) ? content : getRegExpMatcher(content)];\n if (name) {\n queryOptions.name = getRegExpMatcher(name);\n }\n if (queryName === 'Role' && isInaccessible(element)) {\n queryOptions.hidden = true;\n warning = \"Element is inaccessible. This means that the element and all its children are invisible to screen readers.\\n If you are using the aria-hidden prop, make sure this is the right choice for your case.\\n \";\n }\n if (Object.keys(queryOptions).length > 0) {\n queryArgs.push(queryOptions);\n }\n const queryMethod = variant + \"By\" + queryName;\n return {\n queryName,\n queryMethod,\n queryArgs,\n variant,\n warning,\n toString() {\n if (warning) {\n console.warn(warning);\n }\n let [text, options] = queryArgs;\n text = typeof text === 'string' ? \"'\" + text + \"'\" : text;\n options = options ? \", { \" + Object.entries(options).map(_ref2 => {\n let [k, v] = _ref2;\n return k + \": \" + v;\n }).join(', ') + \" }\" : '';\n return queryMethod + \"(\" + text + options + \")\";\n }\n };\n}\nfunction canSuggest(currentMethod, requestedMethod, data) {\n return data && (!requestedMethod || requestedMethod.toLowerCase() === currentMethod.toLowerCase());\n}\nfunction getSuggestedQuery(element, variant, method) {\n var _element$getAttribute, _getImplicitAriaRoles;\n if (variant === void 0) {\n variant = 'get';\n }\n // don't create suggestions for script and style elements\n if (element.matches(getConfig().defaultIgnore)) {\n return undefined;\n }\n\n //We prefer to suggest something else if the role is generic\n const role = (_element$getAttribute = element.getAttribute('role')) != null ? _element$getAttribute : (_getImplicitAriaRoles = getImplicitAriaRoles(element)) == null ? void 0 : _getImplicitAriaRoles[0];\n if (role !== 'generic' && canSuggest('Role', method, role)) {\n return makeSuggestion('Role', element, role, {\n variant,\n name: computeAccessibleName(element, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n })\n });\n }\n const labelText = getLabels(document, element).map(label => label.content).join(' ');\n if (canSuggest('LabelText', method, labelText)) {\n return makeSuggestion('LabelText', element, labelText, {\n variant\n });\n }\n const placeholderText = element.getAttribute('placeholder');\n if (canSuggest('PlaceholderText', method, placeholderText)) {\n return makeSuggestion('PlaceholderText', element, placeholderText, {\n variant\n });\n }\n const textContent = normalize(getNodeText(element));\n if (canSuggest('Text', method, textContent)) {\n return makeSuggestion('Text', element, textContent, {\n variant\n });\n }\n if (canSuggest('DisplayValue', method, element.value)) {\n return makeSuggestion('DisplayValue', element, normalize(element.value), {\n variant\n });\n }\n const alt = element.getAttribute('alt');\n if (canSuggest('AltText', method, alt)) {\n return makeSuggestion('AltText', element, alt, {\n variant\n });\n }\n const title = element.getAttribute('title');\n if (canSuggest('Title', method, title)) {\n return makeSuggestion('Title', element, title, {\n variant\n });\n }\n const testId = element.getAttribute(getConfig().testIdAttribute);\n if (canSuggest('TestId', method, testId)) {\n return makeSuggestion('TestId', element, testId, {\n variant\n });\n }\n return undefined;\n}\n\n// This is so the stack trace the developer sees is one that's\n// closer to their code (because async stack traces are hard to follow).\nfunction copyStackTrace(target, source) {\n target.stack = source.stack.replace(source.message, target.message);\n}\nfunction waitFor(callback, _ref) {\n let {\n container = getDocument(),\n timeout = getConfig().asyncUtilTimeout,\n showOriginalStackTrace = getConfig().showOriginalStackTrace,\n stackTraceError,\n interval = 50,\n onTimeout = error => {\n Object.defineProperty(error, 'message', {\n value: getConfig().getElementError(error.message, container).message\n });\n return error;\n },\n mutationObserverOptions = {\n subtree: true,\n childList: true,\n attributes: true,\n characterData: true\n }\n } = _ref;\n if (typeof callback !== 'function') {\n throw new TypeError('Received `callback` arg must be a function');\n }\n return new Promise(async (resolve, reject) => {\n let lastError, intervalId, observer;\n let finished = false;\n let promiseStatus = 'idle';\n const overallTimeoutTimer = setTimeout(handleTimeout, timeout);\n const usingJestFakeTimers = jestFakeTimersAreEnabled();\n if (usingJestFakeTimers) {\n const {\n unstable_advanceTimersWrapper: advanceTimersWrapper\n } = getConfig();\n checkCallback();\n // this is a dangerous rule to disable because it could lead to an\n // infinite loop. However, eslint isn't smart enough to know that we're\n // setting finished inside `onDone` which will be called when we're done\n // waiting or when we've timed out.\n // eslint-disable-next-line no-unmodified-loop-condition\n while (!finished) {\n if (!jestFakeTimersAreEnabled()) {\n const error = new Error(\"Changed from using fake timers to real timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to real timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830\");\n if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);\n reject(error);\n return;\n }\n\n // In this rare case, we *need* to wait for in-flight promises\n // to resolve before continuing. We don't need to take advantage\n // of parallelization so we're fine.\n // https://stackoverflow.com/a/59243586/971592\n // eslint-disable-next-line no-await-in-loop\n await advanceTimersWrapper(async () => {\n // we *could* (maybe should?) use `advanceTimersToNextTimer` but it's\n // possible that could make this loop go on forever if someone is using\n // third party code that's setting up recursive timers so rapidly that\n // the user's timer's don't get a chance to resolve. So we'll advance\n // by an interval instead. (We have a test for this case).\n jest.advanceTimersByTime(interval);\n });\n\n // Could have timed-out\n if (finished) {\n break;\n }\n // It's really important that checkCallback is run *before* we flush\n // in-flight promises. To be honest, I'm not sure why, and I can't quite\n // think of a way to reproduce the problem in a test, but I spent\n // an entire day banging my head against a wall on this.\n checkCallback();\n }\n } else {\n try {\n checkContainerType(container);\n } catch (e) {\n reject(e);\n return;\n }\n intervalId = setInterval(checkRealTimersCallback, interval);\n const {\n MutationObserver\n } = getWindowFromNode(container);\n observer = new MutationObserver(checkRealTimersCallback);\n observer.observe(container, mutationObserverOptions);\n checkCallback();\n }\n function onDone(error, result) {\n finished = true;\n clearTimeout(overallTimeoutTimer);\n if (!usingJestFakeTimers) {\n clearInterval(intervalId);\n observer.disconnect();\n }\n if (error) {\n reject(error);\n } else {\n resolve(result);\n }\n }\n function checkRealTimersCallback() {\n if (jestFakeTimersAreEnabled()) {\n const error = new Error(\"Changed from using real timers to fake timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to fake timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830\");\n if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);\n return reject(error);\n } else {\n return checkCallback();\n }\n }\n function checkCallback() {\n if (promiseStatus === 'pending') return;\n try {\n const result = runWithExpensiveErrorDiagnosticsDisabled(callback);\n if (typeof (result == null ? void 0 : result.then) === 'function') {\n promiseStatus = 'pending';\n result.then(resolvedValue => {\n promiseStatus = 'resolved';\n onDone(null, resolvedValue);\n }, rejectedValue => {\n promiseStatus = 'rejected';\n lastError = rejectedValue;\n });\n } else {\n onDone(null, result);\n }\n // If `callback` throws, wait for the next mutation, interval, or timeout.\n } catch (error) {\n // Save the most recent callback error to reject the promise with it in the event of a timeout\n lastError = error;\n }\n }\n function handleTimeout() {\n let error;\n if (lastError) {\n error = lastError;\n if (!showOriginalStackTrace && error.name === 'TestingLibraryElementError') {\n copyStackTrace(error, stackTraceError);\n }\n } else {\n error = new Error('Timed out in waitFor.');\n if (!showOriginalStackTrace) {\n copyStackTrace(error, stackTraceError);\n }\n }\n onDone(onTimeout(error), null);\n }\n });\n}\nfunction waitForWrapper(callback, options) {\n // create the error here so its stack trace is as close to the\n // calling code as possible\n const stackTraceError = new Error('STACK_TRACE_MESSAGE');\n return getConfig().asyncWrapper(() => waitFor(callback, {\n stackTraceError,\n ...options\n }));\n}\n\n/*\neslint\n max-lines-per-function: [\"error\", {\"max\": 200}],\n*/\n\nfunction getElementError(message, container) {\n return getConfig().getElementError(message, container);\n}\nfunction getMultipleElementsFoundError(message, container) {\n return getElementError(message + \"\\n\\n(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).\", container);\n}\nfunction queryAllByAttribute(attribute, container, text, _temp) {\n let {\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n return Array.from(container.querySelectorAll(\"[\" + attribute + \"]\")).filter(node => matcher(node.getAttribute(attribute), node, text, matchNormalizer));\n}\nfunction queryByAttribute(attribute, container, text, options) {\n const els = queryAllByAttribute(attribute, container, text, options);\n if (els.length > 1) {\n throw getMultipleElementsFoundError(\"Found multiple elements by [\" + attribute + \"=\" + text + \"]\", container);\n }\n return els[0] || null;\n}\n\n// this accepts a query function and returns a function which throws an error\n// if more than one elements is returned, otherwise it returns the first\n// element or null\nfunction makeSingleQuery(allQuery, getMultipleError) {\n return function (container) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n const els = allQuery(container, ...args);\n if (els.length > 1) {\n const elementStrings = els.map(element => getElementError(null, element).message).join('\\n\\n');\n throw getMultipleElementsFoundError(getMultipleError(container, ...args) + \"\\n\\nHere are the matching elements:\\n\\n\" + elementStrings, container);\n }\n return els[0] || null;\n };\n}\nfunction getSuggestionError(suggestion, container) {\n return getConfig().getElementError(\"A better query is available, try this:\\n\" + suggestion.toString() + \"\\n\", container);\n}\n\n// this accepts a query function and returns a function which throws an error\n// if an empty list of elements is returned\nfunction makeGetAllQuery(allQuery, getMissingError) {\n return function (container) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const els = allQuery(container, ...args);\n if (!els.length) {\n throw getConfig().getElementError(getMissingError(container, ...args), container);\n }\n return els;\n };\n}\n\n// this accepts a getter query function and returns a function which calls\n// waitFor and passing a function which invokes the getter.\nfunction makeFindQuery(getter) {\n return (container, text, options, waitForOptions) => {\n return waitForWrapper(() => {\n return getter(container, text, options);\n }, {\n container,\n ...waitForOptions\n });\n };\n}\nconst wrapSingleQueryWithSuggestion = (query, queryAllByName, variant) => function (container) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n const element = query(container, ...args);\n const [{\n suggest = getConfig().throwSuggestions\n } = {}] = args.slice(-1);\n if (element && suggest) {\n const suggestion = getSuggestedQuery(element, variant);\n if (suggestion && !queryAllByName.endsWith(suggestion.queryName)) {\n throw getSuggestionError(suggestion.toString(), container);\n }\n }\n return element;\n};\nconst wrapAllByQueryWithSuggestion = (query, queryAllByName, variant) => function (container) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n const els = query(container, ...args);\n const [{\n suggest = getConfig().throwSuggestions\n } = {}] = args.slice(-1);\n if (els.length && suggest) {\n // get a unique list of all suggestion messages. We are only going to make a suggestion if\n // all the suggestions are the same\n const uniqueSuggestionMessages = [...new Set(els.map(element => {\n var _getSuggestedQuery;\n return (_getSuggestedQuery = getSuggestedQuery(element, variant)) == null ? void 0 : _getSuggestedQuery.toString();\n }))];\n if (\n // only want to suggest if all the els have the same suggestion.\n uniqueSuggestionMessages.length === 1 && !queryAllByName.endsWith(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- TODO: Can this be null at runtime?\n getSuggestedQuery(els[0], variant).queryName)) {\n throw getSuggestionError(uniqueSuggestionMessages[0], container);\n }\n }\n return els;\n};\n\n// TODO: This deviates from the published declarations\n// However, the implementation always required a dyadic (after `container`) not variadic `queryAllBy` considering the implementation of `makeFindQuery`\n// This is at least statically true and can be verified by accepting `QueryMethod<Arguments, HTMLElement[]>`\nfunction buildQueries(queryAllBy, getMultipleError, getMissingError) {\n const queryBy = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllBy, getMultipleError), queryAllBy.name, 'query');\n const getAllBy = makeGetAllQuery(queryAllBy, getMissingError);\n const getBy = makeSingleQuery(getAllBy, getMultipleError);\n const getByWithSuggestions = wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, 'get');\n const getAllWithSuggestions = wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name.replace('query', 'get'), 'getAll');\n const findAllBy = makeFindQuery(wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name, 'findAll'));\n const findBy = makeFindQuery(wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, 'find'));\n return [queryBy, getAllWithSuggestions, getByWithSuggestions, findAllBy, findBy];\n}\n\nvar queryHelpers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getElementError: getElementError,\n wrapAllByQueryWithSuggestion: wrapAllByQueryWithSuggestion,\n wrapSingleQueryWithSuggestion: wrapSingleQueryWithSuggestion,\n getMultipleElementsFoundError: getMultipleElementsFoundError,\n queryAllByAttribute: queryAllByAttribute,\n queryByAttribute: queryByAttribute,\n makeSingleQuery: makeSingleQuery,\n makeGetAllQuery: makeGetAllQuery,\n makeFindQuery: makeFindQuery,\n buildQueries: buildQueries\n});\n\nfunction queryAllLabels(container) {\n return Array.from(container.querySelectorAll('label,input')).map(node => {\n return {\n node,\n textToMatch: getLabelContent(node)\n };\n }).filter(_ref => {\n let {\n textToMatch\n } = _ref;\n return textToMatch !== null;\n });\n}\nconst queryAllLabelsByText = function (container, text, _temp) {\n let {\n exact = true,\n trim,\n collapseWhitespace,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n const textToMatchByLabels = queryAllLabels(container);\n return textToMatchByLabels.filter(_ref2 => {\n let {\n node,\n textToMatch\n } = _ref2;\n return matcher(textToMatch, node, text, matchNormalizer);\n }).map(_ref3 => {\n let {\n node\n } = _ref3;\n return node;\n });\n};\nconst queryAllByLabelText = function (container, text, _temp2) {\n let {\n selector = '*',\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp2 === void 0 ? {} : _temp2;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n const matchingLabelledElements = Array.from(container.querySelectorAll('*')).filter(element => {\n return getRealLabels(element).length || element.hasAttribute('aria-labelledby');\n }).reduce((labelledElements, labelledElement) => {\n const labelList = getLabels(container, labelledElement, {\n selector\n });\n labelList.filter(label => Boolean(label.formControl)).forEach(label => {\n if (matcher(label.content, label.formControl, text, matchNormalizer) && label.formControl) {\n labelledElements.push(label.formControl);\n }\n });\n const labelsValue = labelList.filter(label => Boolean(label.content)).map(label => label.content);\n if (matcher(labelsValue.join(' '), labelledElement, text, matchNormalizer)) {\n labelledElements.push(labelledElement);\n }\n if (labelsValue.length > 1) {\n labelsValue.forEach((labelValue, index) => {\n if (matcher(labelValue, labelledElement, text, matchNormalizer)) {\n labelledElements.push(labelledElement);\n }\n const labelsFiltered = [...labelsValue];\n labelsFiltered.splice(index, 1);\n if (labelsFiltered.length > 1) {\n if (matcher(labelsFiltered.join(' '), labelledElement, text, matchNormalizer)) {\n labelledElements.push(labelledElement);\n }\n }\n });\n }\n return labelledElements;\n }, []).concat(queryAllByAttribute('aria-label', container, text, {\n exact,\n normalizer: matchNormalizer\n }));\n return Array.from(new Set(matchingLabelledElements)).filter(element => element.matches(selector));\n};\n\n// the getAll* query would normally look like this:\n// const getAllByLabelText = makeGetAllQuery(\n// queryAllByLabelText,\n// (c, text) => `Unable to find a label with the text of: ${text}`,\n// )\n// however, we can give a more helpful error message than the generic one,\n// so we're writing this one out by hand.\nconst getAllByLabelText = function (container, text) {\n for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n rest[_key - 2] = arguments[_key];\n }\n const els = queryAllByLabelText(container, text, ...rest);\n if (!els.length) {\n const labels = queryAllLabelsByText(container, text, ...rest);\n if (labels.length) {\n const tagNames = labels.map(label => getTagNameOfElementAssociatedWithLabelViaFor(container, label)).filter(tagName => !!tagName);\n if (tagNames.length) {\n throw getConfig().getElementError(tagNames.map(tagName => \"Found a label with the text of: \" + text + \", however the element associated with this label (<\" + tagName + \" />) is non-labellable [https://html.spec.whatwg.org/multipage/forms.html#category-label]. If you really need to label a <\" + tagName + \" />, you can use aria-label or aria-labelledby instead.\").join('\\n\\n'), container);\n } else {\n throw getConfig().getElementError(\"Found a label with the text of: \" + text + \", however no form control was found associated to that label. Make sure you're using the \\\"for\\\" attribute or \\\"aria-labelledby\\\" attribute correctly.\", container);\n }\n } else {\n throw getConfig().getElementError(\"Unable to find a label with the text of: \" + text, container);\n }\n }\n return els;\n};\nfunction getTagNameOfElementAssociatedWithLabelViaFor(container, label) {\n const htmlFor = label.getAttribute('for');\n if (!htmlFor) {\n return null;\n }\n const element = container.querySelector(\"[id=\\\"\" + htmlFor + \"\\\"]\");\n return element ? element.tagName.toLowerCase() : null;\n}\n\n// the reason mentioned above is the same reason we're not using buildQueries\nconst getMultipleError$7 = (c, text) => \"Found multiple elements with the text of: \" + text;\nconst queryByLabelText = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllByLabelText, getMultipleError$7), queryAllByLabelText.name, 'query');\nconst getByLabelText = makeSingleQuery(getAllByLabelText, getMultipleError$7);\nconst findAllByLabelText = makeFindQuery(wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, 'findAll'));\nconst findByLabelText = makeFindQuery(wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, 'find'));\nconst getAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, 'getAll');\nconst getByLabelTextWithSuggestions = wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, 'get');\nconst queryAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByLabelText, queryAllByLabelText.name, 'queryAll');\n\nconst queryAllByPlaceholderText = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n checkContainerType(args[0]);\n return queryAllByAttribute('placeholder', ...args);\n};\nconst getMultipleError$6 = (c, text) => \"Found multiple elements with the placeholder text of: \" + text;\nconst getMissingError$6 = (c, text) => \"Unable to find an element with the placeholder text of: \" + text;\nconst queryAllByPlaceholderTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByPlaceholderText, queryAllByPlaceholderText.name, 'queryAll');\nconst [queryByPlaceholderText, getAllByPlaceholderText, getByPlaceholderText, findAllByPlaceholderText, findByPlaceholderText] = buildQueries(queryAllByPlaceholderText, getMultipleError$6, getMissingError$6);\n\nconst queryAllByText = function (container, text, _temp) {\n let {\n selector = '*',\n exact = true,\n collapseWhitespace,\n trim,\n ignore = getConfig().defaultIgnore,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n let baseArray = [];\n if (typeof container.matches === 'function' && container.matches(selector)) {\n baseArray = [container];\n }\n return [...baseArray, ...Array.from(container.querySelectorAll(selector))]\n // TODO: `matches` according lib.dom.d.ts can get only `string` but according our code it can handle also boolean :)\n .filter(node => !ignore || !node.matches(ignore)).filter(node => matcher(getNodeText(node), node, text, matchNormalizer));\n};\nconst getMultipleError$5 = (c, text) => \"Found multiple elements with the text: \" + text;\nconst getMissingError$5 = function (c, text, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n collapseWhitespace,\n trim,\n normalizer,\n selector\n } = options;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n const normalizedText = matchNormalizer(text.toString());\n const isNormalizedDifferent = normalizedText !== text.toString();\n const isCustomSelector = (selector != null ? selector : '*') !== '*';\n return \"Unable to find an element with the text: \" + (isNormalizedDifferent ? normalizedText + \" (normalized from '\" + text + \"')\" : text) + (isCustomSelector ? \", which matches selector '\" + selector + \"'\" : '') + \". This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\";\n};\nconst queryAllByTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByText, queryAllByText.name, 'queryAll');\nconst [queryByText, getAllByText, getByText, findAllByText, findByText] = buildQueries(queryAllByText, getMultipleError$5, getMissingError$5);\n\nconst queryAllByDisplayValue = function (container, value, _temp) {\n let {\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n return Array.from(container.querySelectorAll(\"input,textarea,select\")).filter(node => {\n if (node.tagName === 'SELECT') {\n const selectedOptions = Array.from(node.options).filter(option => option.selected);\n return selectedOptions.some(optionNode => matcher(getNodeText(optionNode), optionNode, value, matchNormalizer));\n } else {\n return matcher(node.value, node, value, matchNormalizer);\n }\n });\n};\nconst getMultipleError$4 = (c, value) => \"Found multiple elements with the display value: \" + value + \".\";\nconst getMissingError$4 = (c, value) => \"Unable to find an element with the display value: \" + value + \".\";\nconst queryAllByDisplayValueWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByDisplayValue, queryAllByDisplayValue.name, 'queryAll');\nconst [queryByDisplayValue, getAllByDisplayValue, getByDisplayValue, findAllByDisplayValue, findByDisplayValue] = buildQueries(queryAllByDisplayValue, getMultipleError$4, getMissingError$4);\n\n// Valid tags are img, input, area and custom elements\nconst VALID_TAG_REGEXP = /^(img|input|area|.+-.+)$/i;\nconst queryAllByAltText = function (container, alt, options) {\n if (options === void 0) {\n options = {};\n }\n checkContainerType(container);\n return queryAllByAttribute('alt', container, alt, options).filter(node => VALID_TAG_REGEXP.test(node.tagName));\n};\nconst getMultipleError$3 = (c, alt) => \"Found multiple elements with the alt text: \" + alt;\nconst getMissingError$3 = (c, alt) => \"Unable to find an element with the alt text: \" + alt;\nconst queryAllByAltTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByAltText, queryAllByAltText.name, 'queryAll');\nconst [queryByAltText, getAllByAltText, getByAltText, findAllByAltText, findByAltText] = buildQueries(queryAllByAltText, getMultipleError$3, getMissingError$3);\n\nconst isSvgTitle = node => {\n var _node$parentElement;\n return node.tagName.toLowerCase() === 'title' && ((_node$parentElement = node.parentElement) == null ? void 0 : _node$parentElement.tagName.toLowerCase()) === 'svg';\n};\nconst queryAllByTitle = function (container, text, _temp) {\n let {\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n return Array.from(container.querySelectorAll('[title], svg > title')).filter(node => matcher(node.getAttribute('title'), node, text, matchNormalizer) || isSvgTitle(node) && matcher(getNodeText(node), node, text, matchNormalizer));\n};\nconst getMultipleError$2 = (c, title) => \"Found multiple elements with the title: \" + title + \".\";\nconst getMissingError$2 = (c, title) => \"Unable to find an element with the title: \" + title + \".\";\nconst queryAllByTitleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTitle, queryAllByTitle.name, 'queryAll');\nconst [queryByTitle, getAllByTitle, getByTitle, findAllByTitle, findByTitle] = buildQueries(queryAllByTitle, getMultipleError$2, getMissingError$2);\n\n/* eslint-disable complexity */\nconst queryAllByRole = function (container, role, _temp) {\n let {\n hidden = getConfig().defaultHidden,\n name,\n description,\n queryFallbacks = false,\n selected,\n busy,\n checked,\n pressed,\n current,\n level,\n expanded,\n value: {\n now: valueNow,\n min: valueMin,\n max: valueMax,\n text: valueText\n } = {}\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n if (selected !== undefined) {\n var _allRoles$get;\n // guard against unknown roles\n if (((_allRoles$get = roles.get(role)) == null ? void 0 : _allRoles$get.props['aria-selected']) === undefined) {\n throw new Error(\"\\\"aria-selected\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (busy !== undefined) {\n var _allRoles$get2;\n // guard against unknown roles\n if (((_allRoles$get2 = roles.get(role)) == null ? void 0 : _allRoles$get2.props['aria-busy']) === undefined) {\n throw new Error(\"\\\"aria-busy\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (checked !== undefined) {\n var _allRoles$get3;\n // guard against unknown roles\n if (((_allRoles$get3 = roles.get(role)) == null ? void 0 : _allRoles$get3.props['aria-checked']) === undefined) {\n throw new Error(\"\\\"aria-checked\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (pressed !== undefined) {\n var _allRoles$get4;\n // guard against unknown roles\n if (((_allRoles$get4 = roles.get(role)) == null ? void 0 : _allRoles$get4.props['aria-pressed']) === undefined) {\n throw new Error(\"\\\"aria-pressed\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (current !== undefined) {\n var _allRoles$get5;\n /* istanbul ignore next */\n // guard against unknown roles\n // All currently released ARIA versions support `aria-current` on all roles.\n // Leaving this for symmetry and forward compatibility\n if (((_allRoles$get5 = roles.get(role)) == null ? void 0 : _allRoles$get5.props['aria-current']) === undefined) {\n throw new Error(\"\\\"aria-current\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (level !== undefined) {\n // guard against using `level` option with any role other than `heading`\n if (role !== 'heading') {\n throw new Error(\"Role \\\"\" + role + \"\\\" cannot have \\\"level\\\" property.\");\n }\n }\n if (valueNow !== undefined) {\n var _allRoles$get6;\n // guard against unknown roles\n if (((_allRoles$get6 = roles.get(role)) == null ? void 0 : _allRoles$get6.props['aria-valuenow']) === undefined) {\n throw new Error(\"\\\"aria-valuenow\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (valueMax !== undefined) {\n var _allRoles$get7;\n // guard against unknown roles\n if (((_allRoles$get7 = roles.get(role)) == null ? void 0 : _allRoles$get7.props['aria-valuemax']) === undefined) {\n throw new Error(\"\\\"aria-valuemax\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (valueMin !== undefined) {\n var _allRoles$get8;\n // guard against unknown roles\n if (((_allRoles$get8 = roles.get(role)) == null ? void 0 : _allRoles$get8.props['aria-valuemin']) === undefined) {\n throw new Error(\"\\\"aria-valuemin\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (valueText !== undefined) {\n var _allRoles$get9;\n // guard against unknown roles\n if (((_allRoles$get9 = roles.get(role)) == null ? void 0 : _allRoles$get9.props['aria-valuetext']) === undefined) {\n throw new Error(\"\\\"aria-valuetext\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (expanded !== undefined) {\n var _allRoles$get0;\n // guard against unknown roles\n if (((_allRoles$get0 = roles.get(role)) == null ? void 0 : _allRoles$get0.props['aria-expanded']) === undefined) {\n throw new Error(\"\\\"aria-expanded\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n const subtreeIsInaccessibleCache = new WeakMap();\n function cachedIsSubtreeInaccessible(element) {\n if (!subtreeIsInaccessibleCache.has(element)) {\n subtreeIsInaccessibleCache.set(element, isSubtreeInaccessible(element));\n }\n return subtreeIsInaccessibleCache.get(element);\n }\n return Array.from(container.querySelectorAll(\n // Only query elements that can be matched by the following filters\n makeRoleSelector(role))).filter(node => {\n const isRoleSpecifiedExplicitly = node.hasAttribute('role');\n if (isRoleSpecifiedExplicitly) {\n const roleValue = node.getAttribute('role');\n if (queryFallbacks) {\n return roleValue.split(' ').filter(Boolean).some(roleAttributeToken => roleAttributeToken === role);\n }\n // other wise only send the first token to match\n const [firstRoleAttributeToken] = roleValue.split(' ');\n return firstRoleAttributeToken === role;\n }\n const implicitRoles = getImplicitAriaRoles(node);\n return implicitRoles.some(implicitRole => {\n return implicitRole === role;\n });\n }).filter(element => {\n if (selected !== undefined) {\n return selected === computeAriaSelected(element);\n }\n if (busy !== undefined) {\n return busy === computeAriaBusy(element);\n }\n if (checked !== undefined) {\n return checked === computeAriaChecked(element);\n }\n if (pressed !== undefined) {\n return pressed === computeAriaPressed(element);\n }\n if (current !== undefined) {\n return current === computeAriaCurrent(element);\n }\n if (expanded !== undefined) {\n return expanded === computeAriaExpanded(element);\n }\n if (level !== undefined) {\n return level === computeHeadingLevel(element);\n }\n if (valueNow !== undefined || valueMax !== undefined || valueMin !== undefined || valueText !== undefined) {\n let valueMatches = true;\n if (valueNow !== undefined) {\n valueMatches && (valueMatches = valueNow === computeAriaValueNow(element));\n }\n if (valueMax !== undefined) {\n valueMatches && (valueMatches = valueMax === computeAriaValueMax(element));\n }\n if (valueMin !== undefined) {\n valueMatches && (valueMatches = valueMin === computeAriaValueMin(element));\n }\n if (valueText !== undefined) {\n var _computeAriaValueText;\n valueMatches && (valueMatches = matches((_computeAriaValueText = computeAriaValueText(element)) != null ? _computeAriaValueText : null, element, valueText, text => text));\n }\n return valueMatches;\n }\n // don't care if aria attributes are unspecified\n return true;\n }).filter(element => {\n if (name === undefined) {\n // Don't care\n return true;\n }\n return matches(computeAccessibleName(element, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }), element, name, text => text);\n }).filter(element => {\n if (description === undefined) {\n // Don't care\n return true;\n }\n return matches(computeAccessibleDescription(element, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }), element, description, text => text);\n }).filter(element => {\n return hidden === false ? isInaccessible(element, {\n isSubtreeInaccessible: cachedIsSubtreeInaccessible\n }) === false : true;\n });\n};\nfunction makeRoleSelector(role) {\n var _roleElements$get;\n const explicitRoleSelector = \"*[role~=\\\"\" + role + \"\\\"]\";\n const roleRelations = (_roleElements$get = roleElements.get(role)) != null ? _roleElements$get : new Set();\n const implicitRoleSelectors = new Set(Array.from(roleRelations).map(_ref => {\n let {\n name\n } = _ref;\n return name;\n }));\n\n // Current transpilation config sometimes assumes `...` is always applied to arrays.\n // `...` is equivalent to `Array.prototype.concat` for arrays.\n // If you replace this code with `[explicitRoleSelector, ...implicitRoleSelectors]`, make sure every transpilation target retains the `...` in favor of `Array.prototype.concat`.\n return [explicitRoleSelector].concat(Array.from(implicitRoleSelectors)).join(',');\n}\nconst getNameHint = name => {\n let nameHint = '';\n if (name === undefined) {\n nameHint = '';\n } else if (typeof name === 'string') {\n nameHint = \" and name \\\"\" + name + \"\\\"\";\n } else {\n nameHint = \" and name `\" + name + \"`\";\n }\n return nameHint;\n};\nconst getMultipleError$1 = function (c, role, _temp2) {\n let {\n name\n } = _temp2 === void 0 ? {} : _temp2;\n return \"Found multiple elements with the role \\\"\" + role + \"\\\"\" + getNameHint(name);\n};\nconst getMissingError$1 = function (container, role, _temp3) {\n let {\n hidden = getConfig().defaultHidden,\n name,\n description\n } = _temp3 === void 0 ? {} : _temp3;\n if (getConfig()._disableExpensiveErrorDiagnostics) {\n return \"Unable to find role=\\\"\" + role + \"\\\"\" + getNameHint(name);\n }\n let roles = '';\n Array.from(container.children).forEach(childElement => {\n roles += prettyRoles(childElement, {\n hidden,\n includeDescription: description !== undefined\n });\n });\n let roleMessage;\n if (roles.length === 0) {\n if (hidden === false) {\n roleMessage = 'There are no accessible roles. But there might be some inaccessible roles. ' + 'If you wish to access them, then set the `hidden` option to `true`. ' + 'Learn more about this here: https://testing-library.com/docs/dom-testing-library/api-queries#byrole';\n } else {\n roleMessage = 'There are no available roles.';\n }\n } else {\n roleMessage = (\"\\nHere are the \" + (hidden === false ? 'accessible' : 'available') + \" roles:\\n\\n \" + roles.replace(/\\n/g, '\\n ').replace(/\\n\\s\\s\\n/g, '\\n\\n') + \"\\n\").trim();\n }\n let nameHint = '';\n if (name === undefined) {\n nameHint = '';\n } else if (typeof name === 'string') {\n nameHint = \" and name \\\"\" + name + \"\\\"\";\n } else {\n nameHint = \" and name `\" + name + \"`\";\n }\n let descriptionHint = '';\n if (description === undefined) {\n descriptionHint = '';\n } else if (typeof description === 'string') {\n descriptionHint = \" and description \\\"\" + description + \"\\\"\";\n } else {\n descriptionHint = \" and description `\" + description + \"`\";\n }\n return (\"\\nUnable to find an \" + (hidden === false ? 'accessible ' : '') + \"element with the role \\\"\" + role + \"\\\"\" + nameHint + descriptionHint + \"\\n\\n\" + roleMessage).trim();\n};\nconst queryAllByRoleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByRole, queryAllByRole.name, 'queryAll');\nconst [queryByRole, getAllByRole, getByRole, findAllByRole, findByRole] = buildQueries(queryAllByRole, getMultipleError$1, getMissingError$1);\n\nconst getTestIdAttribute = () => getConfig().testIdAttribute;\nconst queryAllByTestId = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n checkContainerType(args[0]);\n return queryAllByAttribute(getTestIdAttribute(), ...args);\n};\nconst getMultipleError = (c, id) => \"Found multiple elements by: [\" + getTestIdAttribute() + \"=\\\"\" + id + \"\\\"]\";\nconst getMissingError = (c, id) => \"Unable to find an element by: [\" + getTestIdAttribute() + \"=\\\"\" + id + \"\\\"]\";\nconst queryAllByTestIdWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTestId, queryAllByTestId.name, 'queryAll');\nconst [queryByTestId, getAllByTestId, getByTestId, findAllByTestId, findByTestId] = buildQueries(queryAllByTestId, getMultipleError, getMissingError);\n\nvar queries = /*#__PURE__*/Object.freeze({\n __proto__: null,\n queryAllByLabelText: queryAllByLabelTextWithSuggestions,\n queryByLabelText: queryByLabelText,\n getAllByLabelText: getAllByLabelTextWithSuggestions,\n getByLabelText: getByLabelTextWithSuggestions,\n findAllByLabelText: findAllByLabelText,\n findByLabelText: findByLabelText,\n queryByPlaceholderText: queryByPlaceholderText,\n queryAllByPlaceholderText: queryAllByPlaceholderTextWithSuggestions,\n getByPlaceholderText: getByPlaceholderText,\n getAllByPlaceholderText: getAllByPlaceholderText,\n findAllByPlaceholderText: findAllByPlaceholderText,\n findByPlaceholderText: findByPlaceholderText,\n queryByText: queryByText,\n queryAllByText: queryAllByTextWithSuggestions,\n getByText: getByText,\n getAllByText: getAllByText,\n findAllByText: findAllByText,\n findByText: findByText,\n queryByDisplayValue: queryByDisplayValue,\n queryAllByDisplayValue: queryAllByDisplayValueWithSuggestions,\n getByDisplayValue: getByDisplayValue,\n getAllByDisplayValue: getAllByDisplayValue,\n findAllByDisplayValue: findAllByDisplayValue,\n findByDisplayValue: findByDisplayValue,\n queryByAltText: queryByAltText,\n queryAllByAltText: queryAllByAltTextWithSuggestions,\n getByAltText: getByAltText,\n getAllByAltText: getAllByAltText,\n findAllByAltText: findAllByAltText,\n findByAltText: findByAltText,\n queryByTitle: queryByTitle,\n queryAllByTitle: queryAllByTitleWithSuggestions,\n getByTitle: getByTitle,\n getAllByTitle: getAllByTitle,\n findAllByTitle: findAllByTitle,\n findByTitle: findByTitle,\n queryByRole: queryByRole,\n queryAllByRole: queryAllByRoleWithSuggestions,\n getAllByRole: getAllByRole,\n getByRole: getByRole,\n findAllByRole: findAllByRole,\n findByRole: findByRole,\n queryByTestId: queryByTestId,\n queryAllByTestId: queryAllByTestIdWithSuggestions,\n getByTestId: getByTestId,\n getAllByTestId: getAllByTestId,\n findAllByTestId: findAllByTestId,\n findByTestId: findByTestId\n});\n\n/**\n * @typedef {{[key: string]: Function}} FuncMap\n */\n\n/**\n * @param {HTMLElement} element container\n * @param {FuncMap} queries object of functions\n * @param {Object} initialValue for reducer\n * @returns {FuncMap} returns object of functions bound to container\n */\nfunction getQueriesForElement(element, queries$1, initialValue) {\n if (queries$1 === void 0) {\n queries$1 = queries;\n }\n if (initialValue === void 0) {\n initialValue = {};\n }\n return Object.keys(queries$1).reduce((helpers, key) => {\n const fn = queries$1[key];\n helpers[key] = fn.bind(null, element);\n return helpers;\n }, initialValue);\n}\n\nconst isRemoved = result => !result || Array.isArray(result) && !result.length;\n\n// Check if the element is not present.\n// As the name implies, waitForElementToBeRemoved should check `present` --> `removed`\nfunction initialCheck(elements) {\n if (isRemoved(elements)) {\n throw new Error('The element(s) given to waitForElementToBeRemoved are already removed. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.');\n }\n}\nasync function waitForElementToBeRemoved(callback, options) {\n // created here so we get a nice stacktrace\n const timeoutError = new Error('Timed out in waitForElementToBeRemoved.');\n if (typeof callback !== 'function') {\n initialCheck(callback);\n const elements = Array.isArray(callback) ? callback : [callback];\n const getRemainingElements = elements.map(element => {\n let parent = element.parentElement;\n if (parent === null) return () => null;\n while (parent.parentElement) parent = parent.parentElement;\n return () => parent.contains(element) ? element : null;\n });\n callback = () => getRemainingElements.map(c => c()).filter(Boolean);\n }\n initialCheck(callback());\n return waitForWrapper(() => {\n let result;\n try {\n result = callback();\n } catch (error) {\n if (error.name === 'TestingLibraryElementError') {\n return undefined;\n }\n throw error;\n }\n if (!isRemoved(result)) {\n throw timeoutError;\n }\n return undefined;\n }, options);\n}\n\n/*\neslint\n require-await: \"off\"\n*/\n\nconst eventMap = {\n // Clipboard Events\n copy: {\n EventType: 'ClipboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n cut: {\n EventType: 'ClipboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n paste: {\n EventType: 'ClipboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Composition Events\n compositionEnd: {\n EventType: 'CompositionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n compositionStart: {\n EventType: 'CompositionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n compositionUpdate: {\n EventType: 'CompositionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Keyboard Events\n keyDown: {\n EventType: 'KeyboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n charCode: 0,\n composed: true\n }\n },\n keyPress: {\n EventType: 'KeyboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n charCode: 0,\n composed: true\n }\n },\n keyUp: {\n EventType: 'KeyboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n charCode: 0,\n composed: true\n }\n },\n // Focus Events\n focus: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n blur: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n focusIn: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n focusOut: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n // Form Events\n change: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n input: {\n EventType: 'InputEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n invalid: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: true\n }\n },\n submit: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n reset: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n // Mouse Events\n click: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n button: 0,\n composed: true\n }\n },\n contextMenu: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dblClick: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n drag: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dragEnd: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n dragEnter: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dragExit: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n dragLeave: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n dragOver: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dragStart: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n drop: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseDown: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseEnter: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n mouseLeave: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n mouseMove: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseOut: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseOver: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseUp: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Selection Events\n select: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // Touch Events\n touchCancel: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n touchEnd: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n touchMove: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n touchStart: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // UI Events\n resize: {\n EventType: 'UIEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n scroll: {\n EventType: 'UIEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n // Wheel Events\n wheel: {\n EventType: 'WheelEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Media Events\n abort: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n canPlay: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n canPlayThrough: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n durationChange: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n emptied: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n encrypted: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n ended: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n loadedData: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n loadedMetadata: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n loadStart: {\n EventType: 'ProgressEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n pause: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n play: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n playing: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n progress: {\n EventType: 'ProgressEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n rateChange: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n seeked: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n seeking: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n stalled: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n suspend: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n timeUpdate: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n volumeChange: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n waiting: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n // Events\n load: {\n // TODO: load events can be UIEvent or Event depending on what generated them\n // This is where this abstraction breaks down.\n // But the common targets are <img />, <script /> and window.\n // Neither of these targets receive a UIEvent\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n error: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n // Animation Events\n animationStart: {\n EventType: 'AnimationEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n animationEnd: {\n EventType: 'AnimationEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n animationIteration: {\n EventType: 'AnimationEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // Transition Events\n transitionCancel: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n transitionEnd: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n transitionRun: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n transitionStart: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // pointer events\n pointerOver: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerEnter: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n pointerDown: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerMove: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerUp: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerCancel: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n pointerOut: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerLeave: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n gotPointerCapture: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n lostPointerCapture: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n // history events\n popState: {\n EventType: 'PopStateEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // window events\n offline: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n online: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n pageHide: {\n EventType: 'PageTransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n pageShow: {\n EventType: 'PageTransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n }\n};\nconst eventAliasMap = {\n doubleClick: 'dblClick'\n};\n\nfunction fireEvent(element, event) {\n return getConfig().eventWrapper(() => {\n if (!event) {\n throw new Error(\"Unable to fire an event - please provide an event object.\");\n }\n if (!element) {\n throw new Error(\"Unable to fire a \\\"\" + event.type + \"\\\" event - please provide a DOM element.\");\n }\n return element.dispatchEvent(event);\n });\n}\nfunction createEvent(eventName, node, init, _temp) {\n let {\n EventType = 'Event',\n defaultInit = {}\n } = _temp === void 0 ? {} : _temp;\n if (!node) {\n throw new Error(\"Unable to fire a \\\"\" + eventName + \"\\\" event - please provide a DOM element.\");\n }\n const eventInit = {\n ...defaultInit,\n ...init\n };\n const {\n target: {\n value,\n files,\n ...targetProperties\n } = {}\n } = eventInit;\n if (value !== undefined) {\n setNativeValue(node, value);\n }\n if (files !== undefined) {\n // input.files is a read-only property so this is not allowed:\n // input.files = [file]\n // so we have to use this workaround to set the property\n Object.defineProperty(node, 'files', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: files\n });\n }\n Object.assign(node, targetProperties);\n const window = getWindowFromNode(node);\n const EventConstructor = window[EventType] || window.Event;\n let event;\n /* istanbul ignore else */\n if (typeof EventConstructor === 'function') {\n event = new EventConstructor(eventName, eventInit);\n } else {\n // IE11 polyfill from https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill\n event = window.document.createEvent(EventType);\n const {\n bubbles,\n cancelable,\n detail,\n ...otherInit\n } = eventInit;\n event.initEvent(eventName, bubbles, cancelable, detail);\n Object.keys(otherInit).forEach(eventKey => {\n event[eventKey] = otherInit[eventKey];\n });\n }\n\n // DataTransfer is not supported in jsdom: https://github.com/jsdom/jsdom/issues/1568\n const dataTransferProperties = ['dataTransfer', 'clipboardData'];\n dataTransferProperties.forEach(dataTransferKey => {\n const dataTransferValue = eventInit[dataTransferKey];\n if (typeof dataTransferValue === 'object') {\n /* istanbul ignore if */\n if (typeof window.DataTransfer === 'function') {\n Object.defineProperty(event, dataTransferKey, {\n value: Object.getOwnPropertyNames(dataTransferValue).reduce((acc, propName) => {\n Object.defineProperty(acc, propName, {\n value: dataTransferValue[propName]\n });\n return acc;\n }, new window.DataTransfer())\n });\n } else {\n Object.defineProperty(event, dataTransferKey, {\n value: dataTransferValue\n });\n }\n }\n });\n return event;\n}\nObject.keys(eventMap).forEach(key => {\n const {\n EventType,\n defaultInit\n } = eventMap[key];\n const eventName = key.toLowerCase();\n createEvent[key] = (node, init) => createEvent(eventName, node, init, {\n EventType,\n defaultInit\n });\n fireEvent[key] = (node, init) => fireEvent(node, createEvent[key](node, init));\n});\n\n// function written after some investigation here:\n// https://github.com/facebook/react/issues/10135#issuecomment-401496776\nfunction setNativeValue(element, value) {\n const {\n set: valueSetter\n } = Object.getOwnPropertyDescriptor(element, 'value') || {};\n const prototype = Object.getPrototypeOf(element);\n const {\n set: prototypeValueSetter\n } = Object.getOwnPropertyDescriptor(prototype, 'value') || {};\n if (prototypeValueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter.call(element, value);\n } else {\n /* istanbul ignore if */\n // eslint-disable-next-line no-lonely-if -- Can't be ignored by istanbul otherwise\n if (valueSetter) {\n valueSetter.call(element, value);\n } else {\n throw new Error('The given element does not have a value setter');\n }\n }\n}\nObject.keys(eventAliasMap).forEach(aliasKey => {\n const key = eventAliasMap[aliasKey];\n fireEvent[aliasKey] = function () {\n return fireEvent[key](...arguments);\n };\n});\n\n/* eslint complexity:[\"error\", 9] */\n\n// WARNING: `lz-string` only has a default export but statically we assume named exports are allowed\nfunction unindent(string) {\n // remove white spaces first, to save a few bytes.\n // testing-playground will reformat on load any ways.\n return string.replace(/[ \\t]*[\\n][ \\t]*/g, '\\n');\n}\nfunction encode(value) {\n return lzString.compressToEncodedURIComponent(unindent(value));\n}\nfunction getPlaygroundUrl(markup) {\n return \"https://testing-playground.com/#markup=\" + encode(markup);\n}\nconst debug = (element, maxLength, options) => Array.isArray(element) ? element.forEach(el => logDOM(el, maxLength, options)) : logDOM(element, maxLength, options);\nconst logTestingPlaygroundURL = function (element) {\n if (element === void 0) {\n element = getDocument().body;\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!element || !('innerHTML' in element)) {\n console.log(\"The element you're providing isn't a valid DOM element.\");\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!element.innerHTML) {\n console.log(\"The provided element doesn't have any children.\");\n return;\n }\n const playgroundUrl = getPlaygroundUrl(element.innerHTML);\n console.log(\"Open this URL in your browser\\n\\n\" + playgroundUrl);\n return playgroundUrl;\n};\nconst initialValue = {\n debug,\n logTestingPlaygroundURL\n};\nconst screen = typeof document !== 'undefined' && document.body // eslint-disable-line @typescript-eslint/no-unnecessary-condition\n? getQueriesForElement(document.body, queries, initialValue) : Object.keys(queries).reduce((helpers, key) => {\n // `key` is for all intents and purposes the type of keyof `helpers`, which itself is the type of `initialValue` plus incoming properties from `queries`\n // if `Object.keys(something)` returned Array<keyof typeof something> this explicit type assertion would not be necessary\n // see https://stackoverflow.com/questions/55012174/why-doesnt-object-keys-return-a-keyof-type-in-typescript\n helpers[key] = () => {\n throw new TypeError('For queries bound to document.body a global document has to be available... Learn more: https://testing-library.com/s/screen-global-error');\n };\n return helpers;\n}, initialValue);\n\nexport { buildQueries, configure, createEvent, findAllByAltText, findAllByDisplayValue, findAllByLabelText, findAllByPlaceholderText, findAllByRole, findAllByTestId, findAllByText, findAllByTitle, findByAltText, findByDisplayValue, findByLabelText, findByPlaceholderText, findByRole, findByTestId, findByText, findByTitle, fireEvent, getAllByAltText, getAllByDisplayValue, getAllByLabelTextWithSuggestions as getAllByLabelText, getAllByPlaceholderText, getAllByRole, getAllByTestId, getAllByText, getAllByTitle, getByAltText, getByDisplayValue, getByLabelTextWithSuggestions as getByLabelText, getByPlaceholderText, getByRole, getByTestId, getByText, getByTitle, getConfig, getDefaultNormalizer, getElementError, getMultipleElementsFoundError, getNodeText, getQueriesForElement, getRoles, getSuggestedQuery, isInaccessible, logDOM, logRoles, makeFindQuery, makeGetAllQuery, makeSingleQuery, prettyDOM, queries, queryAllByAltTextWithSuggestions as queryAllByAltText, queryAllByAttribute, queryAllByDisplayValueWithSuggestions as queryAllByDisplayValue, queryAllByLabelTextWithSuggestions as queryAllByLabelText, queryAllByPlaceholderTextWithSuggestions as queryAllByPlaceholderText, queryAllByRoleWithSuggestions as queryAllByRole, queryAllByTestIdWithSuggestions as queryAllByTestId, queryAllByTextWithSuggestions as queryAllByText, queryAllByTitleWithSuggestions as queryAllByTitle, queryByAltText, queryByAttribute, queryByDisplayValue, queryByLabelText, queryByPlaceholderText, queryByRole, queryByTestId, queryByText, queryByTitle, queryHelpers, screen, waitForWrapper as waitFor, waitForElementToBeRemoved, getQueriesForElement as within, wrapAllByQueryWithSuggestion, wrapSingleQueryWithSuggestion };\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 */\nconst toStr = Object.prototype.toString;\nfunction isCallable(fn: unknown): boolean {\n\treturn typeof fn === \"function\" || toStr.call(fn) === \"[object Function]\";\n}\nfunction toInteger(value: unknown): number {\n\tconst number = Number(value);\n\tif (isNaN(number)) {\n\t\treturn 0;\n\t}\n\tif (number === 0 || !isFinite(number)) {\n\t\treturn number;\n\t}\n\treturn (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\n}\nconst maxSafeInteger = Math.pow(2, 53) - 1;\nfunction toLength(value: unknown): number {\n\tconst len = toInteger(value);\n\treturn 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 */\nexport default function arrayFrom<T>(iterable: Iterable<T> | ArrayLike<T>): T[];\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<T, U>(\n\tarrayLike: Iterable<T> | ArrayLike<T>,\n\tmapFn?: (v: T, k: number) => U\n): U[] {\n\t// 1. Let C be the this value.\n\t// edit(@eps1lon): we're not calling it as Array.from\n\tconst C = Array;\n\n\t// 2. Let items be ToObject(arrayLike).\n\tconst items = Object(arrayLike);\n\n\t// 3. ReturnIfAbrupt(items).\n\tif (arrayLike == null) {\n\t\tthrow new TypeError(\n\t\t\t\"Array.from requires an array-like object - not null or undefined\"\n\t\t);\n\t}\n\n\t// 4. If mapfn is undefined, then let mapping be false.\n\t// const mapFn = arguments.length > 1 ? arguments[1] : void undefined;\n\n\tif (typeof mapFn !== \"undefined\") {\n\t\t// 5. else\n\t\t// 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\n\t\tif (!isCallable(mapFn)) {\n\t\t\tthrow new TypeError(\n\t\t\t\t\"Array.from: when provided, the second argument must be a function\"\n\t\t\t);\n\t\t}\n\t}\n\n\t// 10. Let lenValue be Get(items, \"length\").\n\t// 11. Let len be ToLength(lenValue).\n\tconst len = toLength(items.length);\n\n\t// 13. If IsConstructor(C) is true, then\n\t// 13. a. Let A be the result of calling the [[Construct]] internal method\n\t// of C with an argument list containing the single item len.\n\t// 14. a. Else, Let A be ArrayCreate(len).\n\tconst A = isCallable(C) ? Object(new C(len)) : new Array(len);\n\n\t// 16. Let k be 0.\n\tlet k = 0;\n\t// 17. Repeat, while k < len… (also steps a - h)\n\tlet kValue;\n\twhile (k < len) {\n\t\tkValue = items[k];\n\t\tif (mapFn) {\n\t\t\tA[k] = mapFn(kValue, k);\n\t\t} else {\n\t\t\tA[k] = kValue;\n\t\t}\n\t\tk += 1;\n\t}\n\t// 18. Let putStatus be Put(A, \"length\", len, true).\n\tA.length = len;\n\t// 20. Return A.\n\treturn A;\n}\n","declare global {\n\tclass Set<T> {\n\t\t// es2015.collection.d.ts\n\t\tconstructor(items?: T[]);\n\t\tadd(value: T): this;\n\t\tclear(): void;\n\t\tdelete(value: T): boolean;\n\t\tforEach(\n\t\t\tcallbackfn: (value: T, value2: T, set: Set<T>) => void,\n\t\t\tthisArg?: unknown\n\t\t): void;\n\t\thas(value: T): boolean;\n\t\treadonly size: number;\n\n\t\t// es2015.iterable.d.ts\n\t\t// no implemennted\n\t}\n}\n\n// for environments without Set we fallback to arrays with unique members\nclass SetLike<T> implements Set<T> {\n\tprivate items: T[];\n\n\tconstructor(items: T[] = []) {\n\t\tthis.items = items;\n\t}\n\n\tadd(value: T): this {\n\t\tif (this.has(value) === false) {\n\t\t\tthis.items.push(value);\n\t\t}\n\t\treturn this;\n\t}\n\tclear(): void {\n\t\tthis.items = [];\n\t}\n\tdelete(value: T): boolean {\n\t\tconst previousLength = this.items.length;\n\t\tthis.items = this.items.filter((item) => item !== value);\n\n\t\treturn previousLength !== this.items.length;\n\t}\n\tforEach(callbackfn: (value: T, value2: T, set: Set<T>) => void): void {\n\t\tthis.items.forEach((item) => {\n\t\t\tcallbackfn(item, item, this);\n\t\t});\n\t}\n\thas(value: T): boolean {\n\t\treturn this.items.indexOf(value) !== -1;\n\t}\n\n\tget size(): number {\n\t\treturn this.items.length;\n\t}\n}\n\nexport default typeof Set === \"undefined\" ? Set : SetLike;\n","// https://w3c.github.io/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html\n\n/**\n * Safe Element.localName for all supported environments\n * @param element\n */\nexport function getLocalName(element: Element): string {\n\treturn (\n\t\t// eslint-disable-next-line no-restricted-properties -- actual guard for environments without localName\n\t\telement.localName ??\n\t\t// eslint-disable-next-line no-restricted-properties -- required for the fallback\n\t\telement.tagName.toLowerCase()\n\t);\n}\n\nconst localNameToRoleMappings: Record<string, string | undefined> = {\n\tarticle: \"article\",\n\taside: \"complementary\",\n\tbutton: \"button\",\n\tdatalist: \"listbox\",\n\tdd: \"definition\",\n\tdetails: \"group\",\n\tdialog: \"dialog\",\n\tdt: \"term\",\n\tfieldset: \"group\",\n\tfigure: \"figure\",\n\t// WARNING: Only with an accessible name\n\tform: \"form\",\n\tfooter: \"contentinfo\",\n\th1: \"heading\",\n\th2: \"heading\",\n\th3: \"heading\",\n\th4: \"heading\",\n\th5: \"heading\",\n\th6: \"heading\",\n\theader: \"banner\",\n\thr: \"separator\",\n\thtml: \"document\",\n\tlegend: \"legend\",\n\tli: \"listitem\",\n\tmath: \"math\",\n\tmain: \"main\",\n\tmenu: \"list\",\n\tnav: \"navigation\",\n\tol: \"list\",\n\toptgroup: \"group\",\n\t// WARNING: Only in certain context\n\toption: \"option\",\n\toutput: \"status\",\n\tprogress: \"progressbar\",\n\t// WARNING: Only with an accessible name\n\tsection: \"region\",\n\tsummary: \"button\",\n\ttable: \"table\",\n\ttbody: \"rowgroup\",\n\ttextarea: \"textbox\",\n\ttfoot: \"rowgroup\",\n\t// WARNING: Only in certain context\n\ttd: \"cell\",\n\tth: \"columnheader\",\n\tthead: \"rowgroup\",\n\ttr: \"row\",\n\tul: \"list\",\n};\n\nconst prohibitedAttributes: Record<string, Set<string>> = {\n\tcaption: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tcode: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tdeletion: new Set([\"aria-label\", \"aria-labelledby\"]),\n\temphasis: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tgeneric: new Set([\"aria-label\", \"aria-labelledby\", \"aria-roledescription\"]),\n\tinsertion: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tparagraph: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tpresentation: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tstrong: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tsubscript: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tsuperscript: 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: Element, role: string): boolean {\n\t// https://rawgit.com/w3c/aria/stable/#global_states\n\t// commented attributes are deprecated\n\treturn [\n\t\t\"aria-atomic\",\n\t\t\"aria-busy\",\n\t\t\"aria-controls\",\n\t\t\"aria-current\",\n\t\t\"aria-describedby\",\n\t\t\"aria-details\",\n\t\t// \"disabled\",\n\t\t\"aria-dropeffect\",\n\t\t// \"errormessage\",\n\t\t\"aria-flowto\",\n\t\t\"aria-grabbed\",\n\t\t// \"haspopup\",\n\t\t\"aria-hidden\",\n\t\t// \"invalid\",\n\t\t\"aria-keyshortcuts\",\n\t\t\"aria-label\",\n\t\t\"aria-labelledby\",\n\t\t\"aria-live\",\n\t\t\"aria-owns\",\n\t\t\"aria-relevant\",\n\t\t\"aria-roledescription\",\n\t].some((attributeName) => {\n\t\treturn (\n\t\t\telement.hasAttribute(attributeName) &&\n\t\t\t!prohibitedAttributes[role]?.has(attributeName)\n\t\t);\n\t});\n}\n\nfunction ignorePresentationalRole(\n\telement: Element,\n\timplicitRole: string\n): boolean {\n\t// https://rawgit.com/w3c/aria/stable/#conflict_resolution_presentation_none\n\treturn hasGlobalAriaAttributes(element, implicitRole);\n}\n\nexport default function getRole(element: Element): string | null {\n\tconst explicitRole = getExplicitRole(element);\n\tif (explicitRole === null || explicitRole === \"presentation\") {\n\t\tconst implicitRole = getImplicitRole(element);\n\t\tif (\n\t\t\texplicitRole !== \"presentation\" ||\n\t\t\tignorePresentationalRole(element, implicitRole || \"\")\n\t\t) {\n\t\t\treturn implicitRole;\n\t\t}\n\t}\n\n\treturn explicitRole;\n}\n\nfunction getImplicitRole(element: Element): string | null {\n\tconst mappedByTag = localNameToRoleMappings[getLocalName(element)];\n\tif (mappedByTag !== undefined) {\n\t\treturn mappedByTag;\n\t}\n\n\tswitch (getLocalName(element)) {\n\t\tcase \"a\":\n\t\tcase \"area\":\n\t\tcase \"link\":\n\t\t\tif (element.hasAttribute(\"href\")) {\n\t\t\t\treturn \"link\";\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"img\":\n\t\t\tif (\n\t\t\t\telement.getAttribute(\"alt\") === \"\" &&\n\t\t\t\t!ignorePresentationalRole(element, \"img\")\n\t\t\t) {\n\t\t\t\treturn \"presentation\";\n\t\t\t}\n\t\t\treturn \"img\";\n\t\tcase \"input\": {\n\t\t\tconst { type } = element as HTMLInputElement;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"button\":\n\t\t\t\tcase \"image\":\n\t\t\t\tcase \"reset\":\n\t\t\t\tcase \"submit\":\n\t\t\t\t\treturn \"button\";\n\t\t\t\tcase \"checkbox\":\n\t\t\t\tcase \"radio\":\n\t\t\t\t\treturn type;\n\t\t\t\tcase \"range\":\n\t\t\t\t\treturn \"slider\";\n\t\t\t\tcase \"email\":\n\t\t\t\tcase \"tel\":\n\t\t\t\tcase \"text\":\n\t\t\t\tcase \"url\":\n\t\t\t\t\tif (element.hasAttribute(\"list\")) {\n\t\t\t\t\t\treturn \"combobox\";\n\t\t\t\t\t}\n\t\t\t\t\treturn \"textbox\";\n\n\t\t\t\tcase \"search\":\n\t\t\t\t\tif (element.hasAttribute(\"list\")) {\n\t\t\t\t\t\treturn \"combobox\";\n\t\t\t\t\t}\n\t\t\t\t\treturn \"searchbox\";\n\t\t\t\tcase \"number\":\n\t\t\t\t\treturn \"spinbutton\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\tcase \"select\":\n\t\t\tif (\n\t\t\t\telement.hasAttribute(\"multiple\") ||\n\t\t\t\t(element as HTMLSelectElement).size > 1\n\t\t\t) {\n\t\t\t\treturn \"listbox\";\n\t\t\t}\n\t\t\treturn \"combobox\";\n\t}\n\treturn null;\n}\n\nfunction getExplicitRole(element: Element): string | null {\n\tconst role = element.getAttribute(\"role\");\n\tif (role !== null) {\n\t\tconst explicitRole = role.trim().split(\" \")[0];\n\t\t// String.prototype.split(sep, limit) will always return an array with at least one member\n\t\t// as long as limit is either undefined or > 0\n\t\tif (explicitRole.length > 0) {\n\t\t\treturn explicitRole;\n\t\t}\n\t}\n\n\treturn null;\n}\n","export { getLocalName } from \"./getRole\";\nimport getRole, { getLocalName } from \"./getRole\";\n\nexport function isElement(node: Node | null): node is Element {\n\treturn node !== null && node.nodeType === node.ELEMENT_NODE;\n}\n\nexport function isHTMLTableCaptionElement(\n\tnode: Node | null\n): node is HTMLTableCaptionElement {\n\treturn isElement(node) && getLocalName(node) === \"caption\";\n}\n\nexport function isHTMLInputElement(\n\tnode: Node | null\n): node is HTMLInputElement {\n\treturn isElement(node) && getLocalName(node) === \"input\";\n}\n\nexport function isHTMLOptGroupElement(\n\tnode: Node | null\n): node is HTMLOptGroupElement {\n\treturn isElement(node) && getLocalName(node) === \"optgroup\";\n}\n\nexport function isHTMLSelectElement(\n\tnode: Node | null\n): node is HTMLSelectElement {\n\treturn isElement(node) && getLocalName(node) === \"select\";\n}\n\nexport function isHTMLTableElement(\n\tnode: Node | null\n): node is HTMLTableElement {\n\treturn isElement(node) && getLocalName(node) === \"table\";\n}\n\nexport function isHTMLTextAreaElement(\n\tnode: Node | null\n): node is HTMLTextAreaElement {\n\treturn isElement(node) && getLocalName(node) === \"textarea\";\n}\n\nexport function safeWindow(node: Node): Window {\n\tconst { defaultView } =\n\t\tnode.ownerDocument === null ? (node as Document) : node.ownerDocument;\n\n\tif (defaultView === null) {\n\t\tthrow new TypeError(\"no window available\");\n\t}\n\treturn defaultView;\n}\n\nexport function isHTMLFieldSetElement(\n\tnode: Node | null\n): node is HTMLFieldSetElement {\n\treturn isElement(node) && getLocalName(node) === \"fieldset\";\n}\n\nexport function isHTMLLegendElement(\n\tnode: Node | null\n): node is HTMLLegendElement {\n\treturn isElement(node) && getLocalName(node) === \"legend\";\n}\n\nexport function isHTMLSlotElement(node: Node | null): node is HTMLSlotElement {\n\treturn isElement(node) && getLocalName(node) === \"slot\";\n}\n\nexport function isSVGElement(node: Node | null): node is SVGElement {\n\treturn isElement(node) && (node as SVGElement).ownerSVGElement !== undefined;\n}\n\nexport function isSVGSVGElement(node: Node | null): node is SVGSVGElement {\n\treturn isElement(node) && getLocalName(node) === \"svg\";\n}\n\nexport function isSVGTitleElement(node: Node | null): node is SVGTitleElement {\n\treturn 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: Node, attributeName: string): Element[] {\n\tif (isElement(node) && node.hasAttribute(attributeName)) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute check\n\t\tconst ids = node.getAttribute(attributeName)!.split(\" \");\n\n\t\t// Browsers that don't support shadow DOM won't have getRootNode\n\t\tconst root = node.getRootNode\n\t\t\t? (node.getRootNode() as Document | ShadowRoot)\n\t\t\t: node.ownerDocument;\n\n\t\treturn ids\n\t\t\t.map((id) => root.getElementById(id))\n\t\t\t.filter(\n\t\t\t\t(element: Element | null): element is Element => element !== null\n\t\t\t\t// TODO: why does this not narrow?\n\t\t\t) as Element[];\n\t}\n\n\treturn [];\n}\n\nexport function hasAnyConcreteRoles(\n\tnode: Node,\n\troles: Array<string | null>\n): node is Element {\n\tif (isElement(node)) {\n\t\treturn roles.indexOf(getRole(node)) !== -1;\n\t}\n\treturn false;\n}\n","/**\n * implements https://w3c.github.io/accname/\n */\nimport ArrayFrom from \"./polyfills/array.from\";\nimport SetLike from \"./polyfills/SetLike\";\nimport {\n\thasAnyConcreteRoles,\n\tisElement,\n\tisHTMLTableCaptionElement,\n\tisHTMLInputElement,\n\tisHTMLSelectElement,\n\tisHTMLTextAreaElement,\n\tsafeWindow,\n\tisHTMLFieldSetElement,\n\tisHTMLLegendElement,\n\tisHTMLOptGroupElement,\n\tisHTMLTableElement,\n\tisHTMLSlotElement,\n\tisSVGSVGElement,\n\tisSVGTitleElement,\n\tqueryIdRefs,\n\tgetLocalName,\n} from \"./util\";\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 */\ntype FlatString = string & {\n\t__flat: true;\n};\n\n/**\n * interface for an options-bag where `window.getComputedStyle` can be mocked\n */\nexport interface ComputeTextAlternativeOptions {\n\tcompute?: \"description\" | \"name\";\n\t/**\n\t * Set to true if window.computedStyle supports the second argument.\n\t * This should be false in JSDOM. Otherwise JSDOM will log console errors.\n\t */\n\tcomputedStyleSupportsPseudoElements?: boolean;\n\t/**\n\t * mock window.getComputedStyle. Needs `content`, `display` and `visibility`\n\t */\n\tgetComputedStyle?: typeof window.getComputedStyle;\n\t/**\n\t * Set to `true` if you want to include hidden elements in the accessible name and description computation.\n\t * Skips 2A in https://w3c.github.io/accname/#computation-steps.\n\t * @default false\n\t */\n\thidden?: boolean;\n}\n\n/**\n *\n * @param {string} string -\n * @returns {FlatString} -\n */\nfunction asFlatString(s: string): FlatString {\n\treturn s.trim().replace(/\\s\\s+/g, \" \") as FlatString;\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(\n\tnode: Node,\n\tgetComputedStyleImplementation: typeof window.getComputedStyle\n): node is Element {\n\tif (!isElement(node)) {\n\t\treturn false;\n\t}\n\n\tif (\n\t\tnode.hasAttribute(\"hidden\") ||\n\t\tnode.getAttribute(\"aria-hidden\") === \"true\"\n\t) {\n\t\treturn true;\n\t}\n\n\tconst style = getComputedStyleImplementation(node);\n\treturn (\n\t\tstyle.getPropertyValue(\"display\") === \"none\" ||\n\t\tstyle.getPropertyValue(\"visibility\") === \"hidden\"\n\t);\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: Node): boolean {\n\treturn (\n\t\thasAnyConcreteRoles(node, [\"button\", \"combobox\", \"listbox\", \"textbox\"]) ||\n\t\thasAbstractRole(node, \"range\")\n\t);\n}\n\nfunction hasAbstractRole(node: Node, role: string): node is Element {\n\tif (!isElement(node)) {\n\t\treturn false;\n\t}\n\n\tswitch (role) {\n\t\tcase \"range\":\n\t\t\treturn hasAnyConcreteRoles(node, [\n\t\t\t\t\"meter\",\n\t\t\t\t\"progressbar\",\n\t\t\t\t\"scrollbar\",\n\t\t\t\t\"slider\",\n\t\t\t\t\"spinbutton\",\n\t\t\t]);\n\t\tdefault:\n\t\t\tthrow new TypeError(\n\t\t\t\t`No knowledge about abstract role '${role}'. This is likely a bug :(`\n\t\t\t);\n\t}\n}\n\n/**\n * element.querySelectorAll but also considers owned tree\n * @param element\n * @param selectors\n */\nfunction querySelectorAllSubtree(\n\telement: Element,\n\tselectors: string\n): Element[] {\n\tconst elements = ArrayFrom(element.querySelectorAll(selectors));\n\n\tqueryIdRefs(element, \"aria-owns\").forEach((root) => {\n\t\t// babel transpiles this assuming an iterator\n\t\telements.push.apply(elements, ArrayFrom(root.querySelectorAll(selectors)));\n\t});\n\n\treturn elements;\n}\n\nfunction querySelectedOptions(listbox: Element): ArrayLike<Element> {\n\tif (isHTMLSelectElement(listbox)) {\n\t\t// IE11 polyfill\n\t\treturn (\n\t\t\tlistbox.selectedOptions || querySelectorAllSubtree(listbox, \"[selected]\")\n\t\t);\n\t}\n\treturn querySelectorAllSubtree(listbox, '[aria-selected=\"true\"]');\n}\n\nfunction isMarkedPresentational(node: Node): node is Element {\n\treturn hasAnyConcreteRoles(node, [\"none\", \"presentation\"]);\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(\n\tnode: Node\n): node is Element {\n\treturn isHTMLTableCaptionElement(node);\n}\n\n/**\n * https://w3c.github.io/aria/#namefromcontent\n */\nfunction allowsNameFromContent(node: Node): boolean {\n\treturn hasAnyConcreteRoles(node, [\n\t\t\"button\",\n\t\t\"cell\",\n\t\t\"checkbox\",\n\t\t\"columnheader\",\n\t\t\"gridcell\",\n\t\t\"heading\",\n\t\t\"label\",\n\t\t\"legend\",\n\t\t\"link\",\n\t\t\"menuitem\",\n\t\t\"menuitemcheckbox\",\n\t\t\"menuitemradio\",\n\t\t\"option\",\n\t\t\"radio\",\n\t\t\"row\",\n\t\t\"rowheader\",\n\t\t\"switch\",\n\t\t\"tab\",\n\t\t\"tooltip\",\n\t\t\"treeitem\",\n\t]);\n}\n\n/**\n * TODO https://github.com/eps1lon/dom-accessibility-api/issues/100\n */\nfunction isDescendantOfNativeHostLanguageTextAlternativeElement(\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars -- not implemented yet\n\tnode: Node\n): boolean {\n\treturn false;\n}\n\nfunction getValueOfTextbox(element: Element): string {\n\tif (isHTMLInputElement(element) || isHTMLTextAreaElement(element)) {\n\t\treturn element.value;\n\t}\n\t// https://github.com/eps1lon/dom-accessibility-api/issues/4\n\treturn element.textContent || \"\";\n}\n\nfunction getTextualContent(declaration: CSSStyleDeclaration): string {\n\tconst content = declaration.getPropertyValue(\"content\");\n\tif (/^[\"'].*[\"']$/.test(content)) {\n\t\treturn content.slice(1, -1);\n\t}\n\treturn \"\";\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: Element): boolean {\n\tconst localName = getLocalName(element);\n\n\treturn (\n\t\tlocalName === \"button\" ||\n\t\t(localName === \"input\" && element.getAttribute(\"type\") !== \"hidden\") ||\n\t\tlocalName === \"meter\" ||\n\t\tlocalName === \"output\" ||\n\t\tlocalName === \"progress\" ||\n\t\tlocalName === \"select\" ||\n\t\tlocalName === \"textarea\"\n\t);\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: Element): Element | null {\n\tif (isLabelableElement(element)) {\n\t\treturn element;\n\t}\n\tlet labelableElement: Element | null = null;\n\telement.childNodes.forEach((childNode) => {\n\t\tif (labelableElement === null && isElement(childNode)) {\n\t\t\tconst descendantLabelableElement = findLabelableElement(childNode);\n\t\t\tif (descendantLabelableElement !== null) {\n\t\t\t\tlabelableElement = descendantLabelableElement;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn 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: HTMLLabelElement): Element | null {\n\tif (label.control !== undefined) {\n\t\treturn label.control;\n\t}\n\n\tconst htmlFor = label.getAttribute(\"for\");\n\tif (htmlFor !== null) {\n\t\treturn label.ownerDocument.getElementById(htmlFor);\n\t}\n\n\treturn 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: Element): HTMLLabelElement[] | null {\n\tconst labelsProperty = (element as HTMLInputElement).labels as\n\t\t| HTMLInputElement[\"labels\"]\n\t\t| undefined;\n\n\tif (labelsProperty === null) {\n\t\treturn labelsProperty;\n\t}\n\tif (labelsProperty !== undefined) {\n\t\treturn ArrayFrom(labelsProperty);\n\t}\n\n\t// polyfill\n\tif (!isLabelableElement(element)) {\n\t\treturn null;\n\t}\n\tconst document = element.ownerDocument;\n\n\treturn ArrayFrom(document.querySelectorAll(\"label\")).filter((label) => {\n\t\treturn getControlOfLabel(label) === element;\n\t});\n}\n\n/**\n * Gets the contents of a slot used for computing the accname\n * @param slot\n */\nfunction getSlotContents(slot: HTMLSlotElement): Node[] {\n\t// Computing the accessible name for elements containing slots is not\n\t// currently defined in the spec. This implementation reflects the\n\t// behavior of NVDA 2020.2/Firefox 81 and iOS VoiceOver/Safari 13.6.\n\tconst assignedNodes = slot.assignedNodes();\n\tif (assignedNodes.length === 0) {\n\t\t// if no nodes are assigned to the slot, it displays the default content\n\t\treturn ArrayFrom(slot.childNodes);\n\t}\n\treturn 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(\n\troot: Element,\n\toptions: ComputeTextAlternativeOptions = {}\n): string {\n\tconst consultedNodes = new SetLike<Node>();\n\n\tconst window = safeWindow(root);\n\tconst {\n\t\tcompute = \"name\",\n\t\tcomputedStyleSupportsPseudoElements = options.getComputedStyle !==\n\t\t\tundefined,\n\t\t// This might be overengineered. I don't know what happens if I call\n\t\t// window.getComputedStyle(elementFromAnotherWindow) or if I don't bind it\n\t\t// the type declarations don't require a `this`\n\t\t// eslint-disable-next-line no-restricted-properties\n\t\tgetComputedStyle = window.getComputedStyle.bind(window),\n\t\thidden = false,\n\t} = options;\n\n\t// 2F.i\n\tfunction computeMiscTextAlternative(\n\t\tnode: Node,\n\t\tcontext: { isEmbeddedInLabel: boolean; isReferenced: boolean }\n\t): string {\n\t\tlet accumulatedText = \"\";\n\t\tif (isElement(node) && computedStyleSupportsPseudoElements) {\n\t\t\tconst pseudoBefore = getComputedStyle(node, \"::before\");\n\t\t\tconst beforeContent = getTextualContent(pseudoBefore);\n\t\t\taccumulatedText = `${beforeContent} ${accumulatedText}`;\n\t\t}\n\n\t\t// FIXME: Including aria-owns is not defined in the spec\n\t\t// But it is required in the web-platform-test\n\t\tconst childNodes = isHTMLSlotElement(node)\n\t\t\t? getSlotContents(node)\n\t\t\t: ArrayFrom(node.childNodes).concat(queryIdRefs(node, \"aria-owns\"));\n\t\tchildNodes.forEach((child) => {\n\t\t\tconst result = computeTextAlternative(child, {\n\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\tisReferenced: false,\n\t\t\t\trecursion: true,\n\t\t\t});\n\t\t\t// TODO: Unclear why display affects delimiter\n\t\t\t// see https://github.com/w3c/accname/issues/3\n\t\t\tconst display = isElement(child)\n\t\t\t\t? getComputedStyle(child).getPropertyValue(\"display\")\n\t\t\t\t: \"inline\";\n\t\t\tconst separator = display !== \"inline\" ? \" \" : \"\";\n\t\t\t// trailing separator for wpt tests\n\t\t\taccumulatedText += `${separator}${result}${separator}`;\n\t\t});\n\n\t\tif (isElement(node) && computedStyleSupportsPseudoElements) {\n\t\t\tconst pseudoAfter = getComputedStyle(node, \"::after\");\n\t\t\tconst afterContent = getTextualContent(pseudoAfter);\n\t\t\taccumulatedText = `${accumulatedText} ${afterContent}`;\n\t\t}\n\n\t\treturn accumulatedText.trim();\n\t}\n\n\t/**\n\t *\n\t * @param element\n\t * @param attributeName\n\t * @returns A string non-empty string or `null`\n\t */\n\tfunction useAttribute(\n\t\telement: Element,\n\t\tattributeName: string\n\t): string | null {\n\t\tconst attribute = element.getAttributeNode(attributeName);\n\t\tif (\n\t\t\tattribute !== null &&\n\t\t\t!consultedNodes.has(attribute) &&\n\t\t\tattribute.value.trim() !== \"\"\n\t\t) {\n\t\t\tconsultedNodes.add(attribute);\n\t\t\treturn attribute.value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tfunction computeTooltipAttributeValue(node: Node): string | null {\n\t\tif (!isElement(node)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn useAttribute(node, \"title\");\n\t}\n\n\tfunction computeElementTextAlternative(node: Node): string | null {\n\t\tif (!isElement(node)) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// https://w3c.github.io/html-aam/#fieldset-and-legend-elements\n\t\tif (isHTMLFieldSetElement(node)) {\n\t\t\tconsultedNodes.add(node);\n\t\t\tconst children = ArrayFrom(node.childNodes);\n\t\t\tfor (let i = 0; i < children.length; i += 1) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (isHTMLLegendElement(child)) {\n\t\t\t\t\treturn computeTextAlternative(child, {\n\t\t\t\t\t\tisEmbeddedInLabel: false,\n\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\trecursion: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isHTMLTableElement(node)) {\n\t\t\t// https://w3c.github.io/html-aam/#table-element\n\t\t\tconsultedNodes.add(node);\n\t\t\tconst children = ArrayFrom(node.childNodes);\n\t\t\tfor (let i = 0; i < children.length; i += 1) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (isHTMLTableCaptionElement(child)) {\n\t\t\t\t\treturn computeTextAlternative(child, {\n\t\t\t\t\t\tisEmbeddedInLabel: false,\n\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\trecursion: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isSVGSVGElement(node)) {\n\t\t\t// https://www.w3.org/TR/svg-aam-1.0/\n\t\t\tconsultedNodes.add(node);\n\t\t\tconst children = ArrayFrom(node.childNodes);\n\t\t\tfor (let i = 0; i < children.length; i += 1) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (isSVGTitleElement(child)) {\n\t\t\t\t\treturn child.textContent;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t} else if (getLocalName(node) === \"img\" || getLocalName(node) === \"area\") {\n\t\t\t// https://w3c.github.io/html-aam/#area-element\n\t\t\t// https://w3c.github.io/html-aam/#img-element\n\t\t\tconst nameFromAlt = useAttribute(node, \"alt\");\n\t\t\tif (nameFromAlt !== null) {\n\t\t\t\treturn nameFromAlt;\n\t\t\t}\n\t\t} else if (isHTMLOptGroupElement(node)) {\n\t\t\tconst nameFromLabel = useAttribute(node, \"label\");\n\t\t\tif (nameFromLabel !== null) {\n\t\t\t\treturn nameFromLabel;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tisHTMLInputElement(node) &&\n\t\t\t(node.type === \"button\" ||\n\t\t\t\tnode.type === \"submit\" ||\n\t\t\t\tnode.type === \"reset\")\n\t\t) {\n\t\t\t// 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\t\t\tconst nameFromValue = useAttribute(node, \"value\");\n\t\t\tif (nameFromValue !== null) {\n\t\t\t\treturn nameFromValue;\n\t\t\t}\n\n\t\t\t// TODO: l10n\n\t\t\tif (node.type === \"submit\") {\n\t\t\t\treturn \"Submit\";\n\t\t\t}\n\t\t\t// TODO: l10n\n\t\t\tif (node.type === \"reset\") {\n\t\t\t\treturn \"Reset\";\n\t\t\t}\n\t\t}\n\n\t\tconst labels = getLabels(node);\n\t\tif (labels !== null && labels.length !== 0) {\n\t\t\tconsultedNodes.add(node);\n\t\t\treturn ArrayFrom(labels)\n\t\t\t\t.map((element) => {\n\t\t\t\t\treturn computeTextAlternative(element, {\n\t\t\t\t\t\tisEmbeddedInLabel: true,\n\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\trecursion: true,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.filter((label) => {\n\t\t\t\t\treturn label.length > 0;\n\t\t\t\t})\n\t\t\t\t.join(\" \");\n\t\t}\n\n\t\t// https://w3c.github.io/html-aam/#input-type-image-accessible-name-computation\n\t\t// TODO: wpt test consider label elements but html-aam does not mention them\n\t\t// We follow existing implementations over spec\n\t\tif (isHTMLInputElement(node) && node.type === \"image\") {\n\t\t\tconst nameFromAlt = useAttribute(node, \"alt\");\n\t\t\tif (nameFromAlt !== null) {\n\t\t\t\treturn nameFromAlt;\n\t\t\t}\n\n\t\t\tconst nameFromTitle = useAttribute(node, \"title\");\n\t\t\tif (nameFromTitle !== null) {\n\t\t\t\treturn nameFromTitle;\n\t\t\t}\n\n\t\t\t// TODO: l10n\n\t\t\treturn \"Submit Query\";\n\t\t}\n\n\t\tif (hasAnyConcreteRoles(node, [\"button\"])) {\n\t\t\t// https://www.w3.org/TR/html-aam-1.0/#button-element\n\t\t\tconst nameFromSubTree = computeMiscTextAlternative(node, {\n\t\t\t\tisEmbeddedInLabel: false,\n\t\t\t\tisReferenced: false,\n\t\t\t});\n\t\t\tif (nameFromSubTree !== \"\") {\n\t\t\t\treturn nameFromSubTree;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction computeTextAlternative(\n\t\tcurrent: Node,\n\t\tcontext: {\n\t\t\tisEmbeddedInLabel: boolean;\n\t\t\tisReferenced: boolean;\n\t\t\trecursion: boolean;\n\t\t}\n\t): string {\n\t\tif (consultedNodes.has(current)) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\t// 2A\n\t\tif (\n\t\t\t!hidden &&\n\t\t\tisHidden(current, getComputedStyle) &&\n\t\t\t!context.isReferenced\n\t\t) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn \"\" as FlatString;\n\t\t}\n\n\t\t// 2B\n\t\tconst labelAttributeNode = isElement(current)\n\t\t\t? current.getAttributeNode(\"aria-labelledby\")\n\t\t\t: null;\n\t\t// TODO: Do we generally need to block query IdRefs of attributes we have already consulted?\n\t\tconst labelElements =\n\t\t\tlabelAttributeNode !== null && !consultedNodes.has(labelAttributeNode)\n\t\t\t\t? queryIdRefs(current, \"aria-labelledby\")\n\t\t\t\t: [];\n\t\tif (\n\t\t\tcompute === \"name\" &&\n\t\t\t!context.isReferenced &&\n\t\t\tlabelElements.length > 0\n\t\t) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Can't be null here otherwise labelElements would be empty\n\t\t\tconsultedNodes.add(labelAttributeNode!);\n\n\t\t\treturn labelElements\n\t\t\t\t.map((element) => {\n\t\t\t\t\t// TODO: Chrome will consider repeated values i.e. use a node multiple times while we'll bail out in computeTextAlternative.\n\t\t\t\t\treturn computeTextAlternative(element, {\n\t\t\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\t\t\tisReferenced: true,\n\t\t\t\t\t\t// this isn't recursion as specified, otherwise we would skip\n\t\t\t\t\t\t// `aria-label` in\n\t\t\t\t\t\t// <input id=\"myself\" aria-label=\"foo\" aria-labelledby=\"myself\"\n\t\t\t\t\t\trecursion: false,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.join(\" \");\n\t\t}\n\n\t\t// 2C\n\t\t// Changed from the spec in anticipation of https://github.com/w3c/accname/issues/64\n\t\t// spec says we should only consider skipping if we have a non-empty label\n\t\tconst skipToStep2E =\n\t\t\tcontext.recursion && isControl(current) && compute === \"name\";\n\t\tif (!skipToStep2E) {\n\t\t\tconst ariaLabel = (\n\t\t\t\t(isElement(current) && current.getAttribute(\"aria-label\")) ||\n\t\t\t\t\"\"\n\t\t\t).trim();\n\t\t\tif (ariaLabel !== \"\" && compute === \"name\") {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\treturn ariaLabel;\n\t\t\t}\n\n\t\t\t// 2D\n\t\t\tif (!isMarkedPresentational(current)) {\n\t\t\t\tconst elementTextAlternative = computeElementTextAlternative(current);\n\t\t\t\tif (elementTextAlternative !== null) {\n\t\t\t\t\tconsultedNodes.add(current);\n\t\t\t\t\treturn elementTextAlternative;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// special casing, cheating to make tests pass\n\t\t// https://github.com/w3c/accname/issues/67\n\t\tif (hasAnyConcreteRoles(current, [\"menu\"])) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn \"\";\n\t\t}\n\n\t\t// 2E\n\t\tif (skipToStep2E || context.isEmbeddedInLabel || context.isReferenced) {\n\t\t\tif (hasAnyConcreteRoles(current, [\"combobox\", \"listbox\"])) {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\tconst selectedOptions = querySelectedOptions(current);\n\t\t\t\tif (selectedOptions.length === 0) {\n\t\t\t\t\t// defined per test `name_heading_combobox`\n\t\t\t\t\treturn isHTMLInputElement(current) ? current.value : \"\";\n\t\t\t\t}\n\t\t\t\treturn ArrayFrom(selectedOptions)\n\t\t\t\t\t.map((selectedOption) => {\n\t\t\t\t\t\treturn computeTextAlternative(selectedOption, {\n\t\t\t\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\t\trecursion: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.join(\" \");\n\t\t\t}\n\t\t\tif (hasAbstractRole(current, \"range\")) {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\tif (current.hasAttribute(\"aria-valuetext\")) {\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard\n\t\t\t\t\treturn current.getAttribute(\"aria-valuetext\")!;\n\t\t\t\t}\n\t\t\t\tif (current.hasAttribute(\"aria-valuenow\")) {\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard\n\t\t\t\t\treturn current.getAttribute(\"aria-valuenow\")!;\n\t\t\t\t}\n\t\t\t\t// Otherwise, use the value as specified by a host language attribute.\n\t\t\t\treturn current.getAttribute(\"value\") || \"\";\n\t\t\t}\n\t\t\tif (hasAnyConcreteRoles(current, [\"textbox\"])) {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\treturn getValueOfTextbox(current);\n\t\t\t}\n\t\t}\n\n\t\t// 2F: https://w3c.github.io/accname/#step2F\n\t\tif (\n\t\t\tallowsNameFromContent(current) ||\n\t\t\t(isElement(current) && context.isReferenced) ||\n\t\t\tisNativeHostLanguageTextAlternativeElement(current) ||\n\t\t\tisDescendantOfNativeHostLanguageTextAlternativeElement(current)\n\t\t) {\n\t\t\tconst accumulatedText2F = computeMiscTextAlternative(current, {\n\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\tisReferenced: false,\n\t\t\t});\n\t\t\tif (accumulatedText2F !== \"\") {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\treturn accumulatedText2F;\n\t\t\t}\n\t\t}\n\n\t\tif (current.nodeType === current.TEXT_NODE) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn current.textContent || \"\";\n\t\t}\n\n\t\tif (context.recursion) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn computeMiscTextAlternative(current, {\n\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\tisReferenced: false,\n\t\t\t});\n\t\t}\n\n\t\tconst tooltipAttributeValue = computeTooltipAttributeValue(current);\n\t\tif (tooltipAttributeValue !== null) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn tooltipAttributeValue;\n\t\t}\n\n\t\t// TODO should this be reachable?\n\t\tconsultedNodes.add(current);\n\t\treturn \"\";\n\t}\n\n\treturn asFlatString(\n\t\tcomputeTextAlternative(root, {\n\t\t\tisEmbeddedInLabel: false,\n\t\t\t// by spec computeAccessibleDescription starts with the referenced elements as roots\n\t\t\tisReferenced: compute === \"description\",\n\t\t\trecursion: false,\n\t\t})\n\t);\n}\n","import {\n\tcomputeTextAlternative,\n\tComputeTextAlternativeOptions,\n} from \"./accessible-name-and-description\";\nimport { queryIdRefs } from \"./util\";\n\n/**\n * @param root\n * @param options\n * @returns\n */\nexport function computeAccessibleDescription(\n\troot: Element,\n\toptions: ComputeTextAlternativeOptions = {}\n): string {\n\tlet description = queryIdRefs(root, \"aria-describedby\")\n\t\t.map((element) => {\n\t\t\treturn computeTextAlternative(element, {\n\t\t\t\t...options,\n\t\t\t\tcompute: \"description\",\n\t\t\t});\n\t\t})\n\t\t.join(\" \");\n\n\t// TODO: Technically we need to make sure that node wasn't used for the accessible name\n\t// This causes `description_1.0_combobox-focusable-manual` to fail\n\t//\n\t// https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation\n\t// says for so many elements to use the `title` that we assume all elements are considered\n\tif (description === \"\") {\n\t\tconst title = root.getAttribute(\"title\");\n\t\tdescription = title === null ? \"\" : title;\n\t}\n\n\treturn description;\n}\n","import {\n\tcomputeTextAlternative,\n\tComputeTextAlternativeOptions,\n} from \"./accessible-name-and-description\";\nimport { hasAnyConcreteRoles } from \"./util\";\n\n/**\n * https://w3c.github.io/aria/#namefromprohibited\n */\nfunction prohibitsNaming(node: Node): boolean {\n\treturn hasAnyConcreteRoles(node, [\n\t\t\"caption\",\n\t\t\"code\",\n\t\t\"deletion\",\n\t\t\"emphasis\",\n\t\t\"generic\",\n\t\t\"insertion\",\n\t\t\"paragraph\",\n\t\t\"presentation\",\n\t\t\"strong\",\n\t\t\"subscript\",\n\t\t\"superscript\",\n\t]);\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(\n\troot: Element,\n\toptions: ComputeTextAlternativeOptions = {}\n): string {\n\tif (prohibitsNaming(root)) {\n\t\treturn \"\";\n\t}\n\n\treturn computeTextAlternative(root, options);\n}\n","/**\n * Test utilities for @semiont/react-ui\n *\n * Provides a renderWithProviders helper that wraps components with all necessary providers\n * for testing, with customizable mock implementations.\n */\n\nimport React, { ReactElement } from 'react';\nimport { render, RenderOptions, RenderResult } from '@testing-library/react';\nimport { vi } from 'vitest';\nimport { BehaviorSubject } from 'rxjs';\nimport { SemiontApiClient, type SemiontBrowser } from '@semiont/api-client';\nimport { baseUrl, EventBus } from '@semiont/core';\nimport { TranslationProvider } from './contexts/TranslationContext';\nimport { ToastProvider } from './components/Toast';\nimport type { TranslationManager } from './types/TranslationManager';\nimport { SemiontProvider } from './session/SemiontProvider';\n\n/**\n * Minimal fake SemiontBrowser for tests. Emits a fake session whose `client`\n * is a fresh SemiontApiClient constructed off `apiBaseUrl`. Tests that spy\n * on client methods (e.g. `BindNamespace.prototype.body`) rely on the\n * real-ish client surface. Tests that inspect events production code emits\n * subscribe via `client.on(channel, handler)`.\n */\nfunction createFakeBrowserForTests(\n apiBaseUrl: string,\n): SemiontBrowser {\n const client = new SemiontApiClient({\n baseUrl: baseUrl(apiBaseUrl),\n });\n const fakeSession = {\n client,\n kb: null,\n user$: new BehaviorSubject<any>(null),\n token$: new BehaviorSubject<any>(null),\n expiresAt: null,\n refresh: vi.fn(async () => null),\n };\n // Modal-state mock sits on its own BehaviorSubject so tests that\n // exercise the session-expired / permission-denied paths can poke\n // it directly. Mirrors the `FrontendSessionSignals` shape.\n const fakeSignals = {\n sessionExpiredAt$: new BehaviorSubject<number | null>(null),\n sessionExpiredMessage$: new BehaviorSubject<string | null>(null),\n permissionDeniedAt$: new BehaviorSubject<number | null>(null),\n permissionDeniedMessage$: new BehaviorSubject<string | null>(null),\n notifySessionExpired: vi.fn(),\n notifyPermissionDenied: vi.fn(),\n acknowledgeSessionExpired: vi.fn(),\n acknowledgePermissionDenied: vi.fn(),\n dispose: vi.fn(),\n };\n const activeSession$ = new BehaviorSubject<any>(fakeSession);\n const activeSignals$ = new BehaviorSubject<any>(fakeSignals);\n const sessionActivating$ = new BehaviorSubject<boolean>(false);\n const identityToken$ = new BehaviorSubject<null>(null);\n const openResources$ = new BehaviorSubject<any[]>([]);\n const kbs$ = new BehaviorSubject<any[]>([]);\n const activeKbId$ = new BehaviorSubject<string | null>(null);\n const error$ = new BehaviorSubject<never>(null as never);\n // App-scoped bus: a real EventBus stand-in so tests exercising\n // `semiont.emit/on/stream` round-trip through a live subject.\n const shellBus = new EventBus();\n return {\n activeSession$,\n activeSignals$,\n sessionActivating$,\n identityToken$,\n openResources$,\n kbs$,\n activeKbId$,\n error$,\n addKb: vi.fn(),\n removeKb: vi.fn(),\n updateKb: vi.fn(),\n setActiveKb: vi.fn(async () => {}),\n signIn: vi.fn(async () => {}),\n signOut: vi.fn(async () => {}),\n setIdentityToken: vi.fn(),\n addOpenResource: vi.fn(),\n removeOpenResource: vi.fn(),\n updateOpenResourceName: vi.fn(),\n reorderOpenResources: vi.fn(),\n dispose: vi.fn(async () => {}),\n emit: (channel: any, payload: any) => shellBus.get(channel).next(payload),\n on: (channel: any, handler: any) => {\n const sub = shellBus.get(channel).subscribe(handler);\n return () => sub.unsubscribe();\n },\n stream: (channel: any) => shellBus.get(channel).asObservable(),\n _shellBus: shellBus,\n } as unknown as SemiontBrowser;\n}\n\n/**\n * Default mock implementations\n */\nexport const defaultMocks = {\n translationManager: {\n t: (namespace: string, key: string, params?: Record<string, any>) => {\n let result = `${namespace}.${key}`;\n if (params) {\n Object.entries(params).forEach(([k, v]) => {\n result = result.replace(`{${k}}`, String(v));\n });\n }\n return result;\n },\n } as TranslationManager,\n};\n\n/**\n * Options for renderWithProviders\n */\nexport interface TestProvidersOptions {\n translationManager?: TranslationManager;\n apiBaseUrl?: string;\n /** Inject a specific SemiontBrowser (e.g. one seeded with a kbs list). */\n browser?: SemiontBrowser;\n}\n\n/**\n * Extract the internal bus from a client for test assertions. Production\n * code uses `client.emit` / `client.on` / `client.stream`; tests still\n * reach for raw subjects because many pre-existing test suites do\n * `bus.get(channel).subscribe(...)` / `.next(...)`. That migration is\n * tracked as a follow-up; in the meantime, this cast is the single\n * sanctioned escape hatch.\n */\nfunction busOf(client: SemiontApiClient): EventBus {\n return (client as unknown as { eventBus: EventBus }).eventBus;\n}\n\nexport interface RenderWithProvidersOptions extends TestProvidersOptions, Omit<RenderOptions, 'wrapper'> {\n /**\n * If true, returns the session (client) EventBus — session-scoped\n * channels (mark:*, beckon:*, gather:*, match:*, bind:*, yield:*,\n * browse:click, browse:reference-navigate, browse:entity-type-clicked).\n */\n returnEventBus?: boolean;\n /**\n * If true, returns the app-scoped (SemiontBrowser) EventBus — panel:*,\n * shell:*, tabs:*, nav:*, settings:*.\n */\n returnShellBus?: boolean;\n}\n\nexport interface RenderWithProvidersResult extends RenderResult {\n /** Session-scoped bus (from the fake client inside the fake browser). */\n eventBus?: EventBus;\n /** App-scoped bus (the fake browser's own bus). */\n shellBus?: EventBus;\n}\n\n/** Read the app-scoped bus stashed on the fake browser by createFakeBrowserForTests. */\nfunction shellBusOf(browser: SemiontBrowser): EventBus | undefined {\n return (browser as unknown as { _shellBus?: EventBus })._shellBus;\n}\n\nexport function renderWithProviders(\n ui: ReactElement,\n options?: RenderWithProvidersOptions\n): RenderWithProvidersResult {\n const {\n translationManager = defaultMocks.translationManager,\n apiBaseUrl = 'http://localhost:4000',\n browser,\n returnEventBus = false,\n returnShellBus = false,\n ...renderOptions\n } = options || {};\n\n const fakeBrowser = browser ?? createFakeBrowserForTests(apiBaseUrl);\n const fakeSession = (fakeBrowser as unknown as { activeSession$: { getValue(): { client?: SemiontApiClient } | null } }).activeSession$.getValue();\n const client = fakeSession?.client;\n\n function Wrapper({ children }: { children: React.ReactNode }) {\n return (\n <TranslationProvider translationManager={translationManager}>\n <SemiontProvider browser={fakeBrowser}>\n <ToastProvider>\n {children}\n </ToastProvider>\n </SemiontProvider>\n </TranslationProvider>\n );\n }\n\n const result = render(ui, { wrapper: Wrapper, ...renderOptions });\n\n const extras: Partial<RenderWithProvidersResult> = {};\n if (returnEventBus && client) extras.eventBus = busOf(client);\n if (returnShellBus) extras.shellBus = shellBusOf(fakeBrowser);\n return Object.keys(extras).length ? { ...result, ...extras } : result;\n}\n\n/**\n * Build a minimal `<SemiontProvider>` wrapper for tests that roll their\n * own render wrapper (instead of `renderWithProviders`). The returned\n * `eventBus` is the bus backing the fake session's client — same\n * reference production code pokes via `session.client.emit(...)`.\n */\nexport function createTestSemiontWrapper(apiBaseUrl: string = 'http://localhost:4000'): {\n SemiontWrapper: React.ComponentType<{ children: React.ReactNode }>;\n /** Session-scoped bus (from the fake client). */\n eventBus: EventBus;\n /** App-scoped bus (the fake browser's own bus). */\n shellBus: EventBus;\n} {\n const fakeBrowser = createFakeBrowserForTests(apiBaseUrl);\n const fakeSession = (fakeBrowser as unknown as { activeSession$: { getValue(): { client: SemiontApiClient } | null } }).activeSession$.getValue();\n const client = fakeSession!.client;\n const SemiontWrapper = ({ children }: { children: React.ReactNode }) => (\n <SemiontProvider browser={fakeBrowser}>{children}</SemiontProvider>\n );\n return {\n SemiontWrapper,\n eventBus: busOf(client),\n shellBus: shellBusOf(fakeBrowser)!,\n };\n}\n\n/**\n * Create a mock translation manager with custom translations\n */\nexport function createMockTranslationManager(\n translations: Record<string, Record<string, string>>\n): TranslationManager {\n return {\n t: (namespace: string, key: string) => {\n return translations[namespace]?.[key] || key;\n },\n };\n}\n\n/**\n * Build a fake SemiontBrowser with the active FrontendSessionSignals\n * observables pre-populated. Used by SessionExpiredModal and\n * PermissionDeniedModal tests that need to control the modal flags\n * without driving a real session through its state machine.\n */\nexport function createMockKnowledgeBaseSession(overrides: {\n permissionDeniedAt?: number | null;\n permissionDeniedMessage?: string | null;\n sessionExpiredAt?: number | null;\n sessionExpiredMessage?: string | null;\n acknowledgePermissionDenied?: () => void;\n acknowledgeSessionExpired?: () => void;\n} = {}): SemiontBrowser {\n const session = {\n kb: null,\n user$: new BehaviorSubject<unknown>(null),\n token$: new BehaviorSubject<unknown>(null),\n expiresAt: null,\n refresh: vi.fn(async () => null),\n };\n const signals = {\n permissionDeniedAt$: new BehaviorSubject<number | null>(overrides.permissionDeniedAt ?? null),\n permissionDeniedMessage$: new BehaviorSubject<string | null>(overrides.permissionDeniedMessage ?? null),\n sessionExpiredAt$: new BehaviorSubject<number | null>(overrides.sessionExpiredAt ?? null),\n sessionExpiredMessage$: new BehaviorSubject<string | null>(overrides.sessionExpiredMessage ?? null),\n notifyPermissionDenied: vi.fn(),\n notifySessionExpired: vi.fn(),\n acknowledgePermissionDenied: overrides.acknowledgePermissionDenied ?? vi.fn(),\n acknowledgeSessionExpired: overrides.acknowledgeSessionExpired ?? vi.fn(),\n dispose: vi.fn(),\n };\n return {\n activeSession$: new BehaviorSubject(session),\n activeSignals$: new BehaviorSubject(signals),\n sessionActivating$: new BehaviorSubject<boolean>(false),\n kbs$: new BehaviorSubject<unknown[]>([]),\n activeKbId$: new BehaviorSubject<string | null>(null),\n openResources$: new BehaviorSubject<unknown[]>([]),\n identityToken$: new BehaviorSubject<string | null>(null),\n error$: new BehaviorSubject<unknown>(null),\n addKb: vi.fn(),\n removeKb: vi.fn(),\n updateKb: vi.fn(),\n setActiveKb: vi.fn(async () => {}),\n signIn: vi.fn(async () => {}),\n signOut: vi.fn(async () => {}),\n setIdentityToken: vi.fn(),\n addOpenResource: vi.fn(),\n removeOpenResource: vi.fn(),\n updateOpenResourceName: vi.fn(),\n reorderOpenResources: vi.fn(),\n dispose: vi.fn(async () => {}),\n // App-scoped bus stubs (post-shell-vm refactor). Minimal so\n // useEventSubscription(s) can register without exploding.\n emit: vi.fn(),\n on: vi.fn(() => () => {}),\n stream: vi.fn(() => ({ subscribe: () => ({ unsubscribe: () => {} }) })),\n } as unknown as SemiontBrowser;\n}\n\n// Re-export testing library utilities\nexport * from '@testing-library/react';\nexport { vi } from 'vitest';\n"],"mappings":"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","names":["module","matches","config","global","Symbol","config","module","config","config","escapeHTML","printProps","config","printChildren","printText","printComment","printElement","printElementAsLeaf","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","FRAGMENT_NODE","ELEMENT_REGEXP","testNode","isCustomElement","nodeIsText","nodeIsComment","nodeIsFragment","config","config","StrictMode","isElement","module","nodeInterop","config","global","Symbol","config","format","config","plugins","getConfig","_typeof","obj","F","values","F","values","_defineProperty","F","roles","_loop","values","i","F","elementRoles","relation","roles","key","keys","values","i","F","key","keys","values","roles","elementRoles","roleElements","module","LZString","AsapAction","AsapScheduler","QueueAction","QueueScheduler","AnimationFrameAction","AnimationFrameScheduler","VirtualTimeScheduler","VirtualAction","config","config","_i","config","sourceIndex","_a","toStr","Object","prototype","toString","isCallable","fn","call","toInteger","value","number","Number","isNaN","isFinite","Math","floor","abs","maxSafeInteger","pow","toLength","len","min","max","arrayLike","mapFn","C","Array","items","TypeError","length","A","k","kValue","SetLike","items","value","has","push","previousLength","length","filter","item","callbackfn","forEach","indexOf","Set","getLocalName","element","localName","tagName","toLowerCase","localNameToRoleMappings","article","aside","button","datalist","dd","details","dialog","dt","fieldset","figure","form","footer","h1","h2","h3","h4","h5","h6","header","hr","html","legend","li","math","main","menu","nav","ol","optgroup","option","output","progress","section","summary","table","tbody","textarea","tfoot","td","th","thead","tr","ul","prohibitedAttributes","caption","Set","code","deletion","emphasis","generic","insertion","paragraph","presentation","strong","subscript","superscript","hasGlobalAriaAttributes","role","some","attributeName","hasAttribute","has","ignorePresentationalRole","implicitRole","explicitRole","getExplicitRole","getImplicitRole","mappedByTag","undefined","getAttribute","type","size","trim","split","length","isElement","node","nodeType","ELEMENT_NODE","isHTMLTableCaptionElement","getLocalName","isHTMLInputElement","isHTMLOptGroupElement","isHTMLSelectElement","isHTMLTableElement","isHTMLTextAreaElement","safeWindow","ownerDocument","defaultView","TypeError","isHTMLFieldSetElement","isHTMLLegendElement","isHTMLSlotElement","isSVGElement","ownerSVGElement","undefined","isSVGSVGElement","isSVGTitleElement","queryIdRefs","attributeName","hasAttribute","ids","getAttribute","split","root","getRootNode","map","id","getElementById","filter","element","hasAnyConcreteRoles","roles","indexOf","getRole","asFlatString","s","trim","replace","isHidden","node","getComputedStyleImplementation","isElement","hasAttribute","getAttribute","style","getPropertyValue","isControl","hasAnyConcreteRoles","hasAbstractRole","role","TypeError","querySelectorAllSubtree","element","selectors","elements","ArrayFrom","querySelectorAll","queryIdRefs","forEach","root","push","apply","querySelectedOptions","listbox","isHTMLSelectElement","selectedOptions","isMarkedPresentational","isNativeHostLanguageTextAlternativeElement","isHTMLTableCaptionElement","allowsNameFromContent","isDescendantOfNativeHostLanguageTextAlternativeElement","getValueOfTextbox","isHTMLInputElement","isHTMLTextAreaElement","value","textContent","getTextualContent","declaration","content","test","slice","isLabelableElement","localName","getLocalName","findLabelableElement","labelableElement","childNodes","childNode","descendantLabelableElement","getControlOfLabel","label","control","undefined","htmlFor","ownerDocument","getElementById","getLabels","labelsProperty","labels","document","filter","getSlotContents","slot","assignedNodes","length","computeTextAlternative","options","consultedNodes","SetLike","window","safeWindow","compute","computedStyleSupportsPseudoElements","getComputedStyle","bind","hidden","computeMiscTextAlternative","context","accumulatedText","pseudoBefore","beforeContent","isHTMLSlotElement","concat","child","result","isEmbeddedInLabel","isReferenced","recursion","display","separator","pseudoAfter","afterContent","useAttribute","attributeName","attribute","getAttributeNode","has","add","computeTooltipAttributeValue","computeElementTextAlternative","isHTMLFieldSetElement","children","i","isHTMLLegendElement","isHTMLTableElement","isSVGSVGElement","isSVGTitleElement","nameFromAlt","isHTMLOptGroupElement","nameFromLabel","type","nameFromValue","map","join","nameFromTitle","nameFromSubTree","current","labelAttributeNode","labelElements","skipToStep2E","ariaLabel","elementTextAlternative","selectedOption","accumulatedText2F","nodeType","TEXT_NODE","tooltipAttributeValue","computeAccessibleDescription","root","options","description","queryIdRefs","map","element","computeTextAlternative","compute","join","title","getAttribute","prohibitsNaming","node","hasAnyConcreteRoles","computeAccessibleName","root","options","computeTextAlternative","config","getLabels","window","roles","getMultipleError","getMissingError","initialValue","lzString","act","fireEvent","getConfig","configure","jestFakeTimersAreEnabled","queries","vi"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/pretty-format/node_modules/ansi-styles/index.js","../../../node_modules/pretty-format/build/collections.js","../../../node_modules/pretty-format/build/plugins/AsymmetricMatcher.js","../../../node_modules/ansi-regex/index.js","../../../node_modules/pretty-format/build/plugins/ConvertAnsi.js","../../../node_modules/pretty-format/build/plugins/DOMCollection.js","../../../node_modules/pretty-format/build/plugins/lib/escapeHTML.js","../../../node_modules/pretty-format/build/plugins/lib/markup.js","../../../node_modules/pretty-format/build/plugins/DOMElement.js","../../../node_modules/pretty-format/build/plugins/Immutable.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/react-is/index.js","../../../node_modules/pretty-format/build/plugins/ReactElement.js","../../../node_modules/pretty-format/build/plugins/ReactTestComponent.js","../../../node_modules/pretty-format/build/index.js","../../../node_modules/aria-query/lib/util/iteratorProxy.js","../../../node_modules/aria-query/lib/util/iterationDecorator.js","../../../node_modules/aria-query/lib/ariaPropsMap.js","../../../node_modules/aria-query/lib/domMap.js","../../../node_modules/aria-query/lib/etc/roles/abstract/commandRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/compositeRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/inputRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/landmarkRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/rangeRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/roletypeRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/sectionRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/sectionheadRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/selectRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/structureRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/widgetRole.js","../../../node_modules/aria-query/lib/etc/roles/abstract/windowRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaAbstractRoles.js","../../../node_modules/aria-query/lib/etc/roles/literal/alertRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/alertdialogRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/applicationRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/articleRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/bannerRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/blockquoteRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/buttonRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/captionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/cellRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/checkboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/codeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/columnheaderRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/comboboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/complementaryRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/contentinfoRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/definitionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/deletionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/dialogRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/directoryRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/documentRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/emphasisRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/feedRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/figureRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/formRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/genericRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/gridRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/gridcellRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/groupRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/headingRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/imgRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/insertionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/linkRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/listRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/listboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/listitemRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/logRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/mainRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/markRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/marqueeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/mathRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menubarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuitemRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuitemcheckboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/menuitemradioRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/meterRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/navigationRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/noneRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/noteRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/optionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/paragraphRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/presentationRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/progressbarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/radioRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/radiogroupRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/regionRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/rowRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/rowgroupRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/rowheaderRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/scrollbarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/searchRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/searchboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/separatorRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/sliderRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/spinbuttonRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/statusRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/strongRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/subscriptRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/superscriptRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/switchRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tabRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tableRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tablistRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tabpanelRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/termRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/textboxRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/timeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/timerRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/toolbarRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/tooltipRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/treeRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/treegridRole.js","../../../node_modules/aria-query/lib/etc/roles/literal/treeitemRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaLiteralRoles.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAbstractRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAcknowledgmentsRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAfterwordRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docAppendixRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBacklinkRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBiblioentryRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBibliographyRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docBibliorefRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docChapterRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docColophonRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docConclusionRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docCoverRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docCreditRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docCreditsRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docDedicationRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEndnoteRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEndnotesRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEpigraphRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docEpilogueRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docErrataRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docExampleRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docFootnoteRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docForewordRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docGlossaryRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docGlossrefRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docIndexRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docIntroductionRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docNoterefRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docNoticeRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPagebreakRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPagelistRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPartRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPrefaceRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPrologueRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docPullquoteRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docQnaRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docSubtitleRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docTipRole.js","../../../node_modules/aria-query/lib/etc/roles/dpub/docTocRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaDpubRoles.js","../../../node_modules/aria-query/lib/etc/roles/graphics/graphicsDocumentRole.js","../../../node_modules/aria-query/lib/etc/roles/graphics/graphicsObjectRole.js","../../../node_modules/aria-query/lib/etc/roles/graphics/graphicsSymbolRole.js","../../../node_modules/aria-query/lib/etc/roles/ariaGraphicsRoles.js","../../../node_modules/aria-query/lib/rolesMap.js","../../../node_modules/dequal/lite/index.js","../../../node_modules/aria-query/lib/elementRoleMap.js","../../../node_modules/aria-query/lib/roleElementMap.js","../../../node_modules/aria-query/lib/index.js","../../../node_modules/lz-string/libs/lz-string.js","../../../node_modules/rxjs/src/internal/scheduler/performanceTimestampProvider.ts","../../../node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts","../../../node_modules/rxjs/src/internal/observable/dom/animationFrames.ts","../../../node_modules/rxjs/src/internal/util/Immediate.ts","../../../node_modules/rxjs/src/internal/scheduler/immediateProvider.ts","../../../node_modules/rxjs/src/internal/scheduler/AsapAction.ts","../../../node_modules/rxjs/src/internal/scheduler/AsapScheduler.ts","../../../node_modules/rxjs/src/internal/scheduler/asap.ts","../../../node_modules/rxjs/src/internal/scheduler/QueueAction.ts","../../../node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts","../../../node_modules/rxjs/src/internal/scheduler/queue.ts","../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts","../../../node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts","../../../node_modules/rxjs/src/internal/scheduler/animationFrame.ts","../../../node_modules/rxjs/src/internal/scheduler/VirtualTimeScheduler.ts","../../../node_modules/rxjs/src/internal/util/isObservable.ts","../../../node_modules/rxjs/src/internal/lastValueFrom.ts","../../../node_modules/rxjs/src/internal/firstValueFrom.ts","../../../node_modules/rxjs/src/internal/observable/bindCallbackInternals.ts","../../../node_modules/rxjs/src/internal/observable/bindCallback.ts","../../../node_modules/rxjs/src/internal/observable/bindNodeCallback.ts","../../../node_modules/rxjs/src/internal/observable/defer.ts","../../../node_modules/rxjs/src/internal/observable/connectable.ts","../../../node_modules/rxjs/src/internal/observable/forkJoin.ts","../../../node_modules/rxjs/src/internal/observable/fromEvent.ts","../../../node_modules/rxjs/src/internal/observable/fromEventPattern.ts","../../../node_modules/rxjs/src/internal/observable/generate.ts","../../../node_modules/rxjs/src/internal/observable/iif.ts","../../../node_modules/rxjs/src/internal/observable/merge.ts","../../../node_modules/rxjs/src/internal/observable/never.ts","../../../node_modules/rxjs/src/internal/observable/pairs.ts","../../../node_modules/rxjs/src/internal/observable/partition.ts","../../../node_modules/rxjs/src/internal/observable/range.ts","../../../node_modules/rxjs/src/internal/observable/using.ts","../../../node_modules/rxjs/dist/cjs/internal/types.js","../../../node_modules/rxjs/src/index.ts","../../../node_modules/@testing-library/react/dist/@testing-library/react.esm.js","../../../node_modules/@testing-library/dom/dist/@testing-library/dom.esm.js","../../../node_modules/dom-accessibility-api/sources/polyfills/array.from.ts","../../../node_modules/dom-accessibility-api/sources/polyfills/SetLike.ts","../../../node_modules/dom-accessibility-api/sources/getRole.ts","../../../node_modules/dom-accessibility-api/sources/util.ts","../../../node_modules/dom-accessibility-api/sources/accessible-name-and-description.ts","../../../node_modules/dom-accessibility-api/sources/accessible-description.ts","../../../node_modules/dom-accessibility-api/sources/accessible-name.ts","../src/test-utils.tsx"],"sourcesContent":["'use strict';\n\nconst ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\tconst styles = {\n\t\tmodifier: {\n\t\t\treset: [0, 0],\n\t\t\t// 21 isn't widely supported and 22 does the same thing\n\t\t\tbold: [1, 22],\n\t\t\tdim: [2, 22],\n\t\t\titalic: [3, 23],\n\t\t\tunderline: [4, 24],\n\t\t\toverline: [53, 55],\n\t\t\tinverse: [7, 27],\n\t\t\thidden: [8, 28],\n\t\t\tstrikethrough: [9, 29]\n\t\t},\n\t\tcolor: {\n\t\t\tblack: [30, 39],\n\t\t\tred: [31, 39],\n\t\t\tgreen: [32, 39],\n\t\t\tyellow: [33, 39],\n\t\t\tblue: [34, 39],\n\t\t\tmagenta: [35, 39],\n\t\t\tcyan: [36, 39],\n\t\t\twhite: [37, 39],\n\n\t\t\t// Bright color\n\t\t\tblackBright: [90, 39],\n\t\t\tredBright: [91, 39],\n\t\t\tgreenBright: [92, 39],\n\t\t\tyellowBright: [93, 39],\n\t\t\tblueBright: [94, 39],\n\t\t\tmagentaBright: [95, 39],\n\t\t\tcyanBright: [96, 39],\n\t\t\twhiteBright: [97, 39]\n\t\t},\n\t\tbgColor: {\n\t\t\tbgBlack: [40, 49],\n\t\t\tbgRed: [41, 49],\n\t\t\tbgGreen: [42, 49],\n\t\t\tbgYellow: [43, 49],\n\t\t\tbgBlue: [44, 49],\n\t\t\tbgMagenta: [45, 49],\n\t\t\tbgCyan: [46, 49],\n\t\t\tbgWhite: [47, 49],\n\n\t\t\t// Bright color\n\t\t\tbgBlackBright: [100, 49],\n\t\t\tbgRedBright: [101, 49],\n\t\t\tbgGreenBright: [102, 49],\n\t\t\tbgYellowBright: [103, 49],\n\t\t\tbgBlueBright: [104, 49],\n\t\t\tbgMagentaBright: [105, 49],\n\t\t\tbgCyanBright: [106, 49],\n\t\t\tbgWhiteBright: [107, 49]\n\t\t}\n\t};\n\n\t// Alias bright black as gray (and grey)\n\tstyles.color.gray = styles.color.blackBright;\n\tstyles.bgColor.bgGray = styles.bgColor.bgBlackBright;\n\tstyles.color.grey = styles.color.blackBright;\n\tstyles.bgColor.bgGrey = styles.bgColor.bgBlackBright;\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue: (red, green, blue) => {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16 +\n\t\t\t\t\t(36 * Math.round(red / 255 * 5)) +\n\t\t\t\t\t(6 * Math.round(green / 255 * 5)) +\n\t\t\t\t\tMath.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue: hex => {\n\t\t\t\tconst matches = /(?<colorString>[a-f\\d]{6}|[a-f\\d]{3})/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet {colorString} = matches.groups;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = colorString.split('').map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false\n\t\t}\n\t});\n\n\treturn styles;\n}\n\n// Make the export immutable\nObject.defineProperty(module, 'exports', {\n\tenumerable: true,\n\tget: assembleStyles\n});\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.printIteratorEntries = printIteratorEntries;\nexports.printIteratorValues = printIteratorValues;\nexports.printListItems = printListItems;\nexports.printObjectProperties = printObjectProperties;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\nconst getKeysOfEnumerableProperties = (object, compareKeys) => {\n const keys = Object.keys(object).sort(compareKeys);\n\n if (Object.getOwnPropertySymbols) {\n Object.getOwnPropertySymbols(object).forEach(symbol => {\n if (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n keys.push(symbol);\n }\n });\n }\n\n return keys;\n};\n/**\n * Return entries (for example, of a map)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\n\nfunction printIteratorEntries(\n iterator,\n config,\n indentation,\n depth,\n refs,\n printer, // Too bad, so sad that separator for ECMAScript Map has been ' => '\n // What a distracting diff if you change a data structure to/from\n // ECMAScript Object or Immutable.Map/OrderedMap which use the default.\n separator = ': '\n) {\n let result = '';\n let current = iterator.next();\n\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n while (!current.done) {\n const name = printer(\n current.value[0],\n config,\n indentationNext,\n depth,\n refs\n );\n const value = printer(\n current.value[1],\n config,\n indentationNext,\n depth,\n refs\n );\n result += indentationNext + name + separator + value;\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n/**\n * Return values (for example, of a set)\n * with spacing, indentation, and comma\n * without surrounding punctuation (braces or brackets)\n */\n\nfunction printIteratorValues(\n iterator,\n config,\n indentation,\n depth,\n refs,\n printer\n) {\n let result = '';\n let current = iterator.next();\n\n if (!current.done) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n while (!current.done) {\n result +=\n indentationNext +\n printer(current.value, config, indentationNext, depth, refs);\n current = iterator.next();\n\n if (!current.done) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n/**\n * Return items (for example, of an array)\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, brackets)\n **/\n\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n let result = '';\n\n if (list.length) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n for (let i = 0; i < list.length; i++) {\n result += indentationNext;\n\n if (i in list) {\n result += printer(list[i], config, indentationNext, depth, refs);\n }\n\n if (i < list.length - 1) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n/**\n * Return properties of an object\n * with spacing, indentation, and comma\n * without surrounding punctuation (for example, braces)\n */\n\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n let result = '';\n const keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n\n if (keys.length) {\n result += config.spacingOuter;\n const indentationNext = indentation + config.indent;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const name = printer(key, config, indentationNext, depth, refs);\n const value = printer(val[key], config, indentationNext, depth, refs);\n result += indentationNext + name + ': ' + value;\n\n if (i < keys.length - 1) {\n result += ',' + config.spacingInner;\n } else if (!config.min) {\n result += ',';\n }\n }\n\n result += config.spacingOuter + indentation;\n }\n\n return result;\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\nvar global = (function () {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n } else if (typeof global !== 'undefined') {\n return global;\n } else if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else {\n return Function('return this')();\n }\n})();\n\nvar Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;\nconst asymmetricMatcher =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('jest.asymmetricMatcher')\n : 0x1357a5;\nconst SPACE = ' ';\n\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n const stringedValue = val.toString();\n\n if (\n stringedValue === 'ArrayContaining' ||\n stringedValue === 'ArrayNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return '[' + stringedValue + ']';\n }\n\n return (\n stringedValue +\n SPACE +\n '[' +\n (0, _collections.printListItems)(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']'\n );\n }\n\n if (\n stringedValue === 'ObjectContaining' ||\n stringedValue === 'ObjectNotContaining'\n ) {\n if (++depth > config.maxDepth) {\n return '[' + stringedValue + ']';\n }\n\n return (\n stringedValue +\n SPACE +\n '{' +\n (0, _collections.printObjectProperties)(\n val.sample,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}'\n );\n }\n\n if (\n stringedValue === 'StringMatching' ||\n stringedValue === 'StringNotMatching'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n\n if (\n stringedValue === 'StringContaining' ||\n stringedValue === 'StringNotContaining'\n ) {\n return (\n stringedValue +\n SPACE +\n printer(val.sample, config, indentation, depth, refs)\n );\n }\n\n return val.toAsymmetricMatcher();\n};\n\nexports.serialize = serialize;\n\nconst test = val => val && val.$$typeof === asymmetricMatcher;\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nmodule.exports = ({onlyFirst = false} = {}) => {\n\tconst pattern = [\n\t\t'[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _ansiRegex = _interopRequireDefault(require('ansi-regex'));\n\nvar _ansiStyles = _interopRequireDefault(require('ansi-styles'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst toHumanReadableAnsi = text =>\n text.replace((0, _ansiRegex.default)(), match => {\n switch (match) {\n case _ansiStyles.default.red.close:\n case _ansiStyles.default.green.close:\n case _ansiStyles.default.cyan.close:\n case _ansiStyles.default.gray.close:\n case _ansiStyles.default.white.close:\n case _ansiStyles.default.yellow.close:\n case _ansiStyles.default.bgRed.close:\n case _ansiStyles.default.bgGreen.close:\n case _ansiStyles.default.bgYellow.close:\n case _ansiStyles.default.inverse.close:\n case _ansiStyles.default.dim.close:\n case _ansiStyles.default.bold.close:\n case _ansiStyles.default.reset.open:\n case _ansiStyles.default.reset.close:\n return '</>';\n\n case _ansiStyles.default.red.open:\n return '<red>';\n\n case _ansiStyles.default.green.open:\n return '<green>';\n\n case _ansiStyles.default.cyan.open:\n return '<cyan>';\n\n case _ansiStyles.default.gray.open:\n return '<gray>';\n\n case _ansiStyles.default.white.open:\n return '<white>';\n\n case _ansiStyles.default.yellow.open:\n return '<yellow>';\n\n case _ansiStyles.default.bgRed.open:\n return '<bgRed>';\n\n case _ansiStyles.default.bgGreen.open:\n return '<bgGreen>';\n\n case _ansiStyles.default.bgYellow.open:\n return '<bgYellow>';\n\n case _ansiStyles.default.inverse.open:\n return '<inverse>';\n\n case _ansiStyles.default.dim.open:\n return '<dim>';\n\n case _ansiStyles.default.bold.open:\n return '<bold>';\n\n default:\n return '';\n }\n });\n\nconst test = val =>\n typeof val === 'string' && !!val.match((0, _ansiRegex.default)());\n\nexports.test = test;\n\nconst serialize = (val, config, indentation, depth, refs, printer) =>\n printer(toHumanReadableAnsi(val), config, indentation, depth, refs);\n\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* eslint-disable local/ban-types-eventually */\nconst SPACE = ' ';\nconst OBJECT_NAMES = ['DOMStringMap', 'NamedNodeMap'];\nconst ARRAY_REGEXP = /^(HTML\\w*Collection|NodeList)$/;\n\nconst testName = name =>\n OBJECT_NAMES.indexOf(name) !== -1 || ARRAY_REGEXP.test(name);\n\nconst test = val =>\n val &&\n val.constructor &&\n !!val.constructor.name &&\n testName(val.constructor.name);\n\nexports.test = test;\n\nconst isNamedNodeMap = collection =>\n collection.constructor.name === 'NamedNodeMap';\n\nconst serialize = (collection, config, indentation, depth, refs, printer) => {\n const name = collection.constructor.name;\n\n if (++depth > config.maxDepth) {\n return '[' + name + ']';\n }\n\n return (\n (config.min ? '' : name + SPACE) +\n (OBJECT_NAMES.indexOf(name) !== -1\n ? '{' +\n (0, _collections.printObjectProperties)(\n isNamedNodeMap(collection)\n ? Array.from(collection).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {})\n : {...collection},\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}'\n : '[' +\n (0, _collections.printListItems)(\n Array.from(collection),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']')\n );\n};\n\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.default = escapeHTML;\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nfunction escapeHTML(str) {\n return str.replace(/</g, '<').replace(/>/g, '>');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.printText =\n exports.printProps =\n exports.printElementAsLeaf =\n exports.printElement =\n exports.printComment =\n exports.printChildren =\n void 0;\n\nvar _escapeHTML = _interopRequireDefault(require('./escapeHTML'));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Return empty string if keys is empty.\nconst printProps = (keys, props, config, indentation, depth, refs, printer) => {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys\n .map(key => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n\n if (typeof value !== 'string') {\n if (printed.indexOf('\\n') !== -1) {\n printed =\n config.spacingOuter +\n indentationNext +\n printed +\n config.spacingOuter +\n indentation;\n }\n\n printed = '{' + printed + '}';\n }\n\n return (\n config.spacingInner +\n indentation +\n colors.prop.open +\n key +\n colors.prop.close +\n '=' +\n colors.value.open +\n printed +\n colors.value.close\n );\n })\n .join('');\n}; // Return empty string if children is empty.\n\nexports.printProps = printProps;\n\nconst printChildren = (children, config, indentation, depth, refs, printer) =>\n children\n .map(\n child =>\n config.spacingOuter +\n indentation +\n (typeof child === 'string'\n ? printText(child, config)\n : printer(child, config, indentation, depth, refs))\n )\n .join('');\n\nexports.printChildren = printChildren;\n\nconst printText = (text, config) => {\n const contentColor = config.colors.content;\n return (\n contentColor.open + (0, _escapeHTML.default)(text) + contentColor.close\n );\n};\n\nexports.printText = printText;\n\nconst printComment = (comment, config) => {\n const commentColor = config.colors.comment;\n return (\n commentColor.open +\n '<!--' +\n (0, _escapeHTML.default)(comment) +\n '-->' +\n commentColor.close\n );\n}; // Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\n\nexports.printComment = printComment;\n\nconst printElement = (\n type,\n printedProps,\n printedChildren,\n config,\n indentation\n) => {\n const tagColor = config.colors.tag;\n return (\n tagColor.open +\n '<' +\n type +\n (printedProps &&\n tagColor.close +\n printedProps +\n config.spacingOuter +\n indentation +\n tagColor.open) +\n (printedChildren\n ? '>' +\n tagColor.close +\n printedChildren +\n config.spacingOuter +\n indentation +\n tagColor.open +\n '</' +\n type\n : (printedProps && !config.min ? '' : ' ') + '/') +\n '>' +\n tagColor.close\n );\n};\n\nexports.printElement = printElement;\n\nconst printElementAsLeaf = (type, config) => {\n const tagColor = config.colors.tag;\n return (\n tagColor.open +\n '<' +\n type +\n tagColor.close +\n ' …' +\n tagColor.open +\n ' />' +\n tagColor.close\n );\n};\n\nexports.printElementAsLeaf = printElementAsLeaf;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _markup = require('./lib/markup');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\n\nconst testHasAttribute = val => {\n try {\n return typeof val.hasAttribute === 'function' && val.hasAttribute('is');\n } catch {\n return false;\n }\n};\n\nconst testNode = val => {\n const constructorName = val.constructor.name;\n const {nodeType, tagName} = val;\n const isCustomElement =\n (typeof tagName === 'string' && tagName.includes('-')) ||\n testHasAttribute(val);\n return (\n (nodeType === ELEMENT_NODE &&\n (ELEMENT_REGEXP.test(constructorName) || isCustomElement)) ||\n (nodeType === TEXT_NODE && constructorName === 'Text') ||\n (nodeType === COMMENT_NODE && constructorName === 'Comment') ||\n (nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment')\n );\n};\n\nconst test = val => {\n var _val$constructor;\n\n return (\n (val === null || val === void 0\n ? void 0\n : (_val$constructor = val.constructor) === null ||\n _val$constructor === void 0\n ? void 0\n : _val$constructor.name) && testNode(val)\n );\n};\n\nexports.test = test;\n\nfunction nodeIsText(node) {\n return node.nodeType === TEXT_NODE;\n}\n\nfunction nodeIsComment(node) {\n return node.nodeType === COMMENT_NODE;\n}\n\nfunction nodeIsFragment(node) {\n return node.nodeType === FRAGMENT_NODE;\n}\n\nconst serialize = (node, config, indentation, depth, refs, printer) => {\n if (nodeIsText(node)) {\n return (0, _markup.printText)(node.data, config);\n }\n\n if (nodeIsComment(node)) {\n return (0, _markup.printComment)(node.data, config);\n }\n\n const type = nodeIsFragment(node)\n ? 'DocumentFragment'\n : node.tagName.toLowerCase();\n\n if (++depth > config.maxDepth) {\n return (0, _markup.printElementAsLeaf)(type, config);\n }\n\n return (0, _markup.printElement)(\n type,\n (0, _markup.printProps)(\n nodeIsFragment(node)\n ? []\n : Array.from(node.attributes)\n .map(attr => attr.name)\n .sort(),\n nodeIsFragment(node)\n ? {}\n : Array.from(node.attributes).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {}),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n (0, _markup.printChildren)(\n Array.prototype.slice.call(node.childNodes || node.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\n};\n\nexports.serialize = serialize;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _collections = require('../collections');\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// SENTINEL constants are from https://github.com/facebook/immutable-js\nconst IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@';\nconst IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@';\nconst IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@';\nconst IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@';\nconst IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@';\nconst IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4\n\nconst IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@';\nconst IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@';\nconst IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@';\n\nconst getImmutableName = name => 'Immutable.' + name;\n\nconst printAsLeaf = name => '[' + name + ']';\n\nconst SPACE = ' ';\nconst LAZY = '…'; // Seq is lazy if it calls a method like filter\n\nconst printImmutableEntries = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n type\n) =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : getImmutableName(type) +\n SPACE +\n '{' +\n (0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}'; // Record has an entries method because it is a collection in immutable v3.\n// Return an iterator for Immutable Record from version v3 or v4.\n\nfunction getRecordEntries(val) {\n let i = 0;\n return {\n next() {\n if (i < val._keys.length) {\n const key = val._keys[i++];\n return {\n done: false,\n value: [key, val.get(key)]\n };\n }\n\n return {\n done: true,\n value: undefined\n };\n }\n };\n}\n\nconst printImmutableRecord = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n) => {\n // _name property is defined only for an Immutable Record instance\n // which was constructed with a second optional descriptive name arg\n const name = getImmutableName(val._name || 'Record');\n return ++depth > config.maxDepth\n ? printAsLeaf(name)\n : name +\n SPACE +\n '{' +\n (0, _collections.printIteratorEntries)(\n getRecordEntries(val),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}';\n};\n\nconst printImmutableSeq = (val, config, indentation, depth, refs, printer) => {\n const name = getImmutableName('Seq');\n\n if (++depth > config.maxDepth) {\n return printAsLeaf(name);\n }\n\n if (val[IS_KEYED_SENTINEL]) {\n return (\n name +\n SPACE +\n '{' + // from Immutable collection of entries or from ECMAScript object\n (val._iter || val._object\n ? (0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer\n )\n : LAZY) +\n '}'\n );\n }\n\n return (\n name +\n SPACE +\n '[' +\n (val._iter || // from Immutable collection of values\n val._array || // from ECMAScript array\n val._collection || // from ECMAScript collection in immutable v4\n val._iterable // from ECMAScript collection in immutable v3\n ? (0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n )\n : LAZY) +\n ']'\n );\n};\n\nconst printImmutableValues = (\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n type\n) =>\n ++depth > config.maxDepth\n ? printAsLeaf(getImmutableName(type))\n : getImmutableName(type) +\n SPACE +\n '[' +\n (0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']';\n\nconst serialize = (val, config, indentation, depth, refs, printer) => {\n if (val[IS_MAP_SENTINEL]) {\n return printImmutableEntries(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map'\n );\n }\n\n if (val[IS_LIST_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'List'\n );\n }\n\n if (val[IS_SET_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set'\n );\n }\n\n if (val[IS_STACK_SENTINEL]) {\n return printImmutableValues(\n val,\n config,\n indentation,\n depth,\n refs,\n printer,\n 'Stack'\n );\n }\n\n if (val[IS_SEQ_SENTINEL]) {\n return printImmutableSeq(val, config, indentation, depth, refs, printer);\n } // For compatibility with immutable v3 and v4, let record be the default.\n\n return printImmutableRecord(val, config, indentation, depth, refs, printer);\n}; // Explicitly comparing sentinel properties to true avoids false positive\n// when mock identity-obj-proxy returns the key as the value for any key.\n\nexports.serialize = serialize;\n\nconst test = val =>\n val &&\n (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","/** @license React v17.0.2\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nvar REACT_FRAGMENT_TYPE = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_BLOCK_TYPE = symbolFor('react.block');\n REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar ReactIs = _interopRequireWildcard(require('react-is'));\n\nvar _markup = require('./lib/markup');\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== 'function') return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function (nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {\n return {default: obj};\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor =\n Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Given element.props.children, or subtree during recursive traversal,\n// return flattened array of children.\nconst getChildren = (arg, children = []) => {\n if (Array.isArray(arg)) {\n arg.forEach(item => {\n getChildren(item, children);\n });\n } else if (arg != null && arg !== false) {\n children.push(arg);\n }\n\n return children;\n};\n\nconst getType = element => {\n const type = element.type;\n\n if (typeof type === 'string') {\n return type;\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || 'Unknown';\n }\n\n if (ReactIs.isFragment(element)) {\n return 'React.Fragment';\n }\n\n if (ReactIs.isSuspense(element)) {\n return 'React.Suspense';\n }\n\n if (typeof type === 'object' && type !== null) {\n if (ReactIs.isContextProvider(element)) {\n return 'Context.Provider';\n }\n\n if (ReactIs.isContextConsumer(element)) {\n return 'Context.Consumer';\n }\n\n if (ReactIs.isForwardRef(element)) {\n if (type.displayName) {\n return type.displayName;\n }\n\n const functionName = type.render.displayName || type.render.name || '';\n return functionName !== ''\n ? 'ForwardRef(' + functionName + ')'\n : 'ForwardRef';\n }\n\n if (ReactIs.isMemo(element)) {\n const functionName =\n type.displayName || type.type.displayName || type.type.name || '';\n return functionName !== '' ? 'Memo(' + functionName + ')' : 'Memo';\n }\n }\n\n return 'UNDEFINED';\n};\n\nconst getPropKeys = element => {\n const {props} = element;\n return Object.keys(props)\n .filter(key => key !== 'children' && props[key] !== undefined)\n .sort();\n};\n\nconst serialize = (element, config, indentation, depth, refs, printer) =>\n ++depth > config.maxDepth\n ? (0, _markup.printElementAsLeaf)(getType(element), config)\n : (0, _markup.printElement)(\n getType(element),\n (0, _markup.printProps)(\n getPropKeys(element),\n element.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n (0, _markup.printChildren)(\n getChildren(element.props.children),\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n ),\n config,\n indentation\n );\n\nexports.serialize = serialize;\n\nconst test = val => val != null && ReactIs.isElement(val);\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.test = exports.serialize = exports.default = void 0;\n\nvar _markup = require('./lib/markup');\n\nvar global = (function () {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n } else if (typeof global !== 'undefined') {\n return global;\n } else if (typeof self !== 'undefined') {\n return self;\n } else if (typeof window !== 'undefined') {\n return window;\n } else {\n return Function('return this')();\n }\n})();\n\nvar Symbol = global['jest-symbol-do-not-touch'] || global.Symbol;\nconst testSymbol =\n typeof Symbol === 'function' && Symbol.for\n ? Symbol.for('react.test.json')\n : 0xea71357;\n\nconst getPropKeys = object => {\n const {props} = object;\n return props\n ? Object.keys(props)\n .filter(key => props[key] !== undefined)\n .sort()\n : [];\n};\n\nconst serialize = (object, config, indentation, depth, refs, printer) =>\n ++depth > config.maxDepth\n ? (0, _markup.printElementAsLeaf)(object.type, config)\n : (0, _markup.printElement)(\n object.type,\n object.props\n ? (0, _markup.printProps)(\n getPropKeys(object),\n object.props,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n )\n : '',\n object.children\n ? (0, _markup.printChildren)(\n object.children,\n config,\n indentation + config.indent,\n depth,\n refs,\n printer\n )\n : '',\n config,\n indentation\n );\n\nexports.serialize = serialize;\n\nconst test = val => val && val.$$typeof === testSymbol;\n\nexports.test = test;\nconst plugin = {\n serialize,\n test\n};\nvar _default = plugin;\nexports.default = _default;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports.default = exports.DEFAULT_OPTIONS = void 0;\nexports.format = format;\nexports.plugins = void 0;\n\nvar _ansiStyles = _interopRequireDefault(require('ansi-styles'));\n\nvar _collections = require('./collections');\n\nvar _AsymmetricMatcher = _interopRequireDefault(\n require('./plugins/AsymmetricMatcher')\n);\n\nvar _ConvertAnsi = _interopRequireDefault(require('./plugins/ConvertAnsi'));\n\nvar _DOMCollection = _interopRequireDefault(require('./plugins/DOMCollection'));\n\nvar _DOMElement = _interopRequireDefault(require('./plugins/DOMElement'));\n\nvar _Immutable = _interopRequireDefault(require('./plugins/Immutable'));\n\nvar _ReactElement = _interopRequireDefault(require('./plugins/ReactElement'));\n\nvar _ReactTestComponent = _interopRequireDefault(\n require('./plugins/ReactTestComponent')\n);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {default: obj};\n}\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/* eslint-disable local/ban-types-eventually */\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\n/**\n * Explicitly comparing typeof constructor to function avoids undefined as name\n * when mock identity-obj-proxy returns the key as the value for any key.\n */\n\nconst getConstructorName = val =>\n (typeof val.constructor === 'function' && val.constructor.name) || 'Object';\n/* global window */\n\n/** Is val is equal to global window object? Works even if it does not exist :) */\n\nconst isWindow = val => typeof window !== 'undefined' && val === window;\n\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/gi;\n\nclass PrettyFormatPluginError extends Error {\n constructor(message, stack) {\n super(message);\n this.stack = stack;\n this.name = this.constructor.name;\n }\n}\n\nfunction isToStringedArrayType(toStringed) {\n return (\n toStringed === '[object Array]' ||\n toStringed === '[object ArrayBuffer]' ||\n toStringed === '[object DataView]' ||\n toStringed === '[object Float32Array]' ||\n toStringed === '[object Float64Array]' ||\n toStringed === '[object Int8Array]' ||\n toStringed === '[object Int16Array]' ||\n toStringed === '[object Int32Array]' ||\n toStringed === '[object Uint8Array]' ||\n toStringed === '[object Uint8ClampedArray]' ||\n toStringed === '[object Uint16Array]' ||\n toStringed === '[object Uint32Array]'\n );\n}\n\nfunction printNumber(val) {\n return Object.is(val, -0) ? '-0' : String(val);\n}\n\nfunction printBigInt(val) {\n return String(`${val}n`);\n}\n\nfunction printFunction(val, printFunctionName) {\n if (!printFunctionName) {\n return '[Function]';\n }\n\n return '[Function ' + (val.name || 'anonymous') + ']';\n}\n\nfunction printSymbol(val) {\n return String(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n}\n\nfunction printError(val) {\n return '[' + errorToString.call(val) + ']';\n}\n/**\n * The first port of call for printing an object, handles most of the\n * data-types in JS.\n */\n\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n if (val === true || val === false) {\n return '' + val;\n }\n\n if (val === undefined) {\n return 'undefined';\n }\n\n if (val === null) {\n return 'null';\n }\n\n const typeOf = typeof val;\n\n if (typeOf === 'number') {\n return printNumber(val);\n }\n\n if (typeOf === 'bigint') {\n return printBigInt(val);\n }\n\n if (typeOf === 'string') {\n if (escapeString) {\n return '\"' + val.replace(/\"|\\\\/g, '\\\\$&') + '\"';\n }\n\n return '\"' + val + '\"';\n }\n\n if (typeOf === 'function') {\n return printFunction(val, printFunctionName);\n }\n\n if (typeOf === 'symbol') {\n return printSymbol(val);\n }\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object WeakMap]') {\n return 'WeakMap {}';\n }\n\n if (toStringed === '[object WeakSet]') {\n return 'WeakSet {}';\n }\n\n if (\n toStringed === '[object Function]' ||\n toStringed === '[object GeneratorFunction]'\n ) {\n return printFunction(val, printFunctionName);\n }\n\n if (toStringed === '[object Symbol]') {\n return printSymbol(val);\n }\n\n if (toStringed === '[object Date]') {\n return isNaN(+val) ? 'Date { NaN }' : toISOString.call(val);\n }\n\n if (toStringed === '[object Error]') {\n return printError(val);\n }\n\n if (toStringed === '[object RegExp]') {\n if (escapeRegex) {\n // https://github.com/benjamingr/RegExp.escape/blob/main/polyfill.js\n return regExpToString.call(val).replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n return regExpToString.call(val);\n }\n\n if (val instanceof Error) {\n return printError(val);\n }\n\n return null;\n}\n/**\n * Handles more complex objects ( such as objects with circular references.\n * maps and sets etc )\n */\n\nfunction printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n) {\n if (refs.indexOf(val) !== -1) {\n return '[Circular]';\n }\n\n refs = refs.slice();\n refs.push(val);\n const hitMaxDepth = ++depth > config.maxDepth;\n const min = config.min;\n\n if (\n config.callToJSON &&\n !hitMaxDepth &&\n val.toJSON &&\n typeof val.toJSON === 'function' &&\n !hasCalledToJSON\n ) {\n return printer(val.toJSON(), config, indentation, depth, refs, true);\n }\n\n const toStringed = toString.call(val);\n\n if (toStringed === '[object Arguments]') {\n return hitMaxDepth\n ? '[Arguments]'\n : (min ? '' : 'Arguments ') +\n '[' +\n (0, _collections.printListItems)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']';\n }\n\n if (isToStringedArrayType(toStringed)) {\n return hitMaxDepth\n ? '[' + val.constructor.name + ']'\n : (min\n ? ''\n : !config.printBasicPrototype && val.constructor.name === 'Array'\n ? ''\n : val.constructor.name + ' ') +\n '[' +\n (0, _collections.printListItems)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n ']';\n }\n\n if (toStringed === '[object Map]') {\n return hitMaxDepth\n ? '[Map]'\n : 'Map {' +\n (0, _collections.printIteratorEntries)(\n val.entries(),\n config,\n indentation,\n depth,\n refs,\n printer,\n ' => '\n ) +\n '}';\n }\n\n if (toStringed === '[object Set]') {\n return hitMaxDepth\n ? '[Set]'\n : 'Set {' +\n (0, _collections.printIteratorValues)(\n val.values(),\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}';\n } // Avoid failure to serialize global window object in jsdom test environment.\n // For example, not even relevant if window is prop of React element.\n\n return hitMaxDepth || isWindow(val)\n ? '[' + getConstructorName(val) + ']'\n : (min\n ? ''\n : !config.printBasicPrototype && getConstructorName(val) === 'Object'\n ? ''\n : getConstructorName(val) + ' ') +\n '{' +\n (0, _collections.printObjectProperties)(\n val,\n config,\n indentation,\n depth,\n refs,\n printer\n ) +\n '}';\n}\n\nfunction isNewPlugin(plugin) {\n return plugin.serialize != null;\n}\n\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n let printed;\n\n try {\n printed = isNewPlugin(plugin)\n ? plugin.serialize(val, config, indentation, depth, refs, printer)\n : plugin.print(\n val,\n valChild => printer(valChild, config, indentation, depth, refs),\n str => {\n const indentationNext = indentation + config.indent;\n return (\n indentationNext +\n str.replace(NEWLINE_REGEXP, '\\n' + indentationNext)\n );\n },\n {\n edgeSpacing: config.spacingOuter,\n min: config.min,\n spacing: config.spacingInner\n },\n config.colors\n );\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n\n if (typeof printed !== 'string') {\n throw new Error(\n `pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`\n );\n }\n\n return printed;\n}\n\nfunction findPlugin(plugins, val) {\n for (let p = 0; p < plugins.length; p++) {\n try {\n if (plugins[p].test(val)) {\n return plugins[p];\n }\n } catch (error) {\n throw new PrettyFormatPluginError(error.message, error.stack);\n }\n }\n\n return null;\n}\n\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n const plugin = findPlugin(config.plugins, val);\n\n if (plugin !== null) {\n return printPlugin(plugin, val, config, indentation, depth, refs);\n }\n\n const basicResult = printBasicValue(\n val,\n config.printFunctionName,\n config.escapeRegex,\n config.escapeString\n );\n\n if (basicResult !== null) {\n return basicResult;\n }\n\n return printComplexValue(\n val,\n config,\n indentation,\n depth,\n refs,\n hasCalledToJSON\n );\n}\n\nconst DEFAULT_THEME = {\n comment: 'gray',\n content: 'reset',\n prop: 'yellow',\n tag: 'cyan',\n value: 'green'\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\nconst DEFAULT_OPTIONS = {\n callToJSON: true,\n compareKeys: undefined,\n escapeRegex: false,\n escapeString: true,\n highlight: false,\n indent: 2,\n maxDepth: Infinity,\n min: false,\n plugins: [],\n printBasicPrototype: true,\n printFunctionName: true,\n theme: DEFAULT_THEME\n};\nexports.DEFAULT_OPTIONS = DEFAULT_OPTIONS;\n\nfunction validateOptions(options) {\n Object.keys(options).forEach(key => {\n if (!DEFAULT_OPTIONS.hasOwnProperty(key)) {\n throw new Error(`pretty-format: Unknown option \"${key}\".`);\n }\n });\n\n if (options.min && options.indent !== undefined && options.indent !== 0) {\n throw new Error(\n 'pretty-format: Options \"min\" and \"indent\" cannot be used together.'\n );\n }\n\n if (options.theme !== undefined) {\n if (options.theme === null) {\n throw new Error('pretty-format: Option \"theme\" must not be null.');\n }\n\n if (typeof options.theme !== 'object') {\n throw new Error(\n `pretty-format: Option \"theme\" must be of type \"object\" but instead received \"${typeof options.theme}\".`\n );\n }\n }\n}\n\nconst getColorsHighlight = options =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n const value =\n options.theme && options.theme[key] !== undefined\n ? options.theme[key]\n : DEFAULT_THEME[key];\n const color = value && _ansiStyles.default[value];\n\n if (\n color &&\n typeof color.close === 'string' &&\n typeof color.open === 'string'\n ) {\n colors[key] = color;\n } else {\n throw new Error(\n `pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`\n );\n }\n\n return colors;\n }, Object.create(null));\n\nconst getColorsEmpty = () =>\n DEFAULT_THEME_KEYS.reduce((colors, key) => {\n colors[key] = {\n close: '',\n open: ''\n };\n return colors;\n }, Object.create(null));\n\nconst getPrintFunctionName = options =>\n options && options.printFunctionName !== undefined\n ? options.printFunctionName\n : DEFAULT_OPTIONS.printFunctionName;\n\nconst getEscapeRegex = options =>\n options && options.escapeRegex !== undefined\n ? options.escapeRegex\n : DEFAULT_OPTIONS.escapeRegex;\n\nconst getEscapeString = options =>\n options && options.escapeString !== undefined\n ? options.escapeString\n : DEFAULT_OPTIONS.escapeString;\n\nconst getConfig = options => {\n var _options$printBasicPr;\n\n return {\n callToJSON:\n options && options.callToJSON !== undefined\n ? options.callToJSON\n : DEFAULT_OPTIONS.callToJSON,\n colors:\n options && options.highlight\n ? getColorsHighlight(options)\n : getColorsEmpty(),\n compareKeys:\n options && typeof options.compareKeys === 'function'\n ? options.compareKeys\n : DEFAULT_OPTIONS.compareKeys,\n escapeRegex: getEscapeRegex(options),\n escapeString: getEscapeString(options),\n indent:\n options && options.min\n ? ''\n : createIndent(\n options && options.indent !== undefined\n ? options.indent\n : DEFAULT_OPTIONS.indent\n ),\n maxDepth:\n options && options.maxDepth !== undefined\n ? options.maxDepth\n : DEFAULT_OPTIONS.maxDepth,\n min:\n options && options.min !== undefined ? options.min : DEFAULT_OPTIONS.min,\n plugins:\n options && options.plugins !== undefined\n ? options.plugins\n : DEFAULT_OPTIONS.plugins,\n printBasicPrototype:\n (_options$printBasicPr =\n options === null || options === void 0\n ? void 0\n : options.printBasicPrototype) !== null &&\n _options$printBasicPr !== void 0\n ? _options$printBasicPr\n : true,\n printFunctionName: getPrintFunctionName(options),\n spacingInner: options && options.min ? ' ' : '\\n',\n spacingOuter: options && options.min ? '' : '\\n'\n };\n};\n\nfunction createIndent(indent) {\n return new Array(indent + 1).join(' ');\n}\n/**\n * Returns a presentation string of your `val` object\n * @param val any potential JavaScript object\n * @param options Custom settings\n */\n\nfunction format(val, options) {\n if (options) {\n validateOptions(options);\n\n if (options.plugins) {\n const plugin = findPlugin(options.plugins, val);\n\n if (plugin !== null) {\n return printPlugin(plugin, val, getConfig(options), '', 0, []);\n }\n }\n }\n\n const basicResult = printBasicValue(\n val,\n getPrintFunctionName(options),\n getEscapeRegex(options),\n getEscapeString(options)\n );\n\n if (basicResult !== null) {\n return basicResult;\n }\n\n return printComplexValue(val, getConfig(options), '', 0, []);\n}\n\nconst plugins = {\n AsymmetricMatcher: _AsymmetricMatcher.default,\n ConvertAnsi: _ConvertAnsi.default,\n DOMCollection: _DOMCollection.default,\n DOMElement: _DOMElement.default,\n Immutable: _Immutable.default,\n ReactElement: _ReactElement.default,\n ReactTestComponent: _ReactTestComponent.default\n};\nexports.plugins = plugins;\nvar _default = format;\nexports.default = _default;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// eslint-disable-next-line no-unused-vars\nfunction iteratorProxy() {\n var values = this;\n var index = 0;\n var iter = {\n '@@iterator': function iterator() {\n return iter;\n },\n next: function next() {\n if (index < values.length) {\n var value = values[index];\n index = index + 1;\n return {\n done: false,\n value: value\n };\n } else {\n return {\n done: true\n };\n }\n }\n };\n return iter;\n}\nvar _default = iteratorProxy;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = iterationDecorator;\nvar _iteratorProxy = _interopRequireDefault(require(\"./iteratorProxy\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction iterationDecorator(collection, entries) {\n if (typeof Symbol === 'function' && _typeof(Symbol.iterator) === 'symbol') {\n Object.defineProperty(collection, Symbol.iterator, {\n value: _iteratorProxy.default.bind(entries)\n });\n }\n return collection;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar properties = [['aria-activedescendant', {\n 'type': 'id'\n}], ['aria-atomic', {\n 'type': 'boolean'\n}], ['aria-autocomplete', {\n 'type': 'token',\n 'values': ['inline', 'list', 'both', 'none']\n}], ['aria-braillelabel', {\n 'type': 'string'\n}], ['aria-brailleroledescription', {\n 'type': 'string'\n}], ['aria-busy', {\n 'type': 'boolean'\n}], ['aria-checked', {\n 'type': 'tristate'\n}], ['aria-colcount', {\n type: 'integer'\n}], ['aria-colindex', {\n type: 'integer'\n}], ['aria-colspan', {\n type: 'integer'\n}], ['aria-controls', {\n 'type': 'idlist'\n}], ['aria-current', {\n type: 'token',\n values: ['page', 'step', 'location', 'date', 'time', true, false]\n}], ['aria-describedby', {\n 'type': 'idlist'\n}], ['aria-description', {\n 'type': 'string'\n}], ['aria-details', {\n 'type': 'id'\n}], ['aria-disabled', {\n 'type': 'boolean'\n}], ['aria-dropeffect', {\n 'type': 'tokenlist',\n 'values': ['copy', 'execute', 'link', 'move', 'none', 'popup']\n}], ['aria-errormessage', {\n 'type': 'id'\n}], ['aria-expanded', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-flowto', {\n 'type': 'idlist'\n}], ['aria-grabbed', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-haspopup', {\n 'type': 'token',\n 'values': [false, true, 'menu', 'listbox', 'tree', 'grid', 'dialog']\n}], ['aria-hidden', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-invalid', {\n 'type': 'token',\n 'values': ['grammar', false, 'spelling', true]\n}], ['aria-keyshortcuts', {\n type: 'string'\n}], ['aria-label', {\n 'type': 'string'\n}], ['aria-labelledby', {\n 'type': 'idlist'\n}], ['aria-level', {\n 'type': 'integer'\n}], ['aria-live', {\n 'type': 'token',\n 'values': ['assertive', 'off', 'polite']\n}], ['aria-modal', {\n type: 'boolean'\n}], ['aria-multiline', {\n 'type': 'boolean'\n}], ['aria-multiselectable', {\n 'type': 'boolean'\n}], ['aria-orientation', {\n 'type': 'token',\n 'values': ['vertical', 'undefined', 'horizontal']\n}], ['aria-owns', {\n 'type': 'idlist'\n}], ['aria-placeholder', {\n type: 'string'\n}], ['aria-posinset', {\n 'type': 'integer'\n}], ['aria-pressed', {\n 'type': 'tristate'\n}], ['aria-readonly', {\n 'type': 'boolean'\n}], ['aria-relevant', {\n 'type': 'tokenlist',\n 'values': ['additions', 'all', 'removals', 'text']\n}], ['aria-required', {\n 'type': 'boolean'\n}], ['aria-roledescription', {\n type: 'string'\n}], ['aria-rowcount', {\n type: 'integer'\n}], ['aria-rowindex', {\n type: 'integer'\n}], ['aria-rowspan', {\n type: 'integer'\n}], ['aria-selected', {\n 'type': 'boolean',\n 'allowundefined': true\n}], ['aria-setsize', {\n 'type': 'integer'\n}], ['aria-sort', {\n 'type': 'token',\n 'values': ['ascending', 'descending', 'none', 'other']\n}], ['aria-valuemax', {\n 'type': 'number'\n}], ['aria-valuemin', {\n 'type': 'number'\n}], ['aria-valuenow', {\n 'type': 'number'\n}], ['aria-valuetext', {\n 'type': 'string'\n}]];\nvar ariaPropsMap = {\n entries: function entries() {\n return properties;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(properties),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, key, properties);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = properties.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!ariaPropsMap.get(key);\n },\n keys: function keys() {\n return properties.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return properties.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(ariaPropsMap, ariaPropsMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar dom = [['a', {\n reserved: false\n}], ['abbr', {\n reserved: false\n}], ['acronym', {\n reserved: false\n}], ['address', {\n reserved: false\n}], ['applet', {\n reserved: false\n}], ['area', {\n reserved: false\n}], ['article', {\n reserved: false\n}], ['aside', {\n reserved: false\n}], ['audio', {\n reserved: false\n}], ['b', {\n reserved: false\n}], ['base', {\n reserved: true\n}], ['bdi', {\n reserved: false\n}], ['bdo', {\n reserved: false\n}], ['big', {\n reserved: false\n}], ['blink', {\n reserved: false\n}], ['blockquote', {\n reserved: false\n}], ['body', {\n reserved: false\n}], ['br', {\n reserved: false\n}], ['button', {\n reserved: false\n}], ['canvas', {\n reserved: false\n}], ['caption', {\n reserved: false\n}], ['center', {\n reserved: false\n}], ['cite', {\n reserved: false\n}], ['code', {\n reserved: false\n}], ['col', {\n reserved: true\n}], ['colgroup', {\n reserved: true\n}], ['content', {\n reserved: false\n}], ['data', {\n reserved: false\n}], ['datalist', {\n reserved: false\n}], ['dd', {\n reserved: false\n}], ['del', {\n reserved: false\n}], ['details', {\n reserved: false\n}], ['dfn', {\n reserved: false\n}], ['dialog', {\n reserved: false\n}], ['dir', {\n reserved: false\n}], ['div', {\n reserved: false\n}], ['dl', {\n reserved: false\n}], ['dt', {\n reserved: false\n}], ['em', {\n reserved: false\n}], ['embed', {\n reserved: false\n}], ['fieldset', {\n reserved: false\n}], ['figcaption', {\n reserved: false\n}], ['figure', {\n reserved: false\n}], ['font', {\n reserved: false\n}], ['footer', {\n reserved: false\n}], ['form', {\n reserved: false\n}], ['frame', {\n reserved: false\n}], ['frameset', {\n reserved: false\n}], ['h1', {\n reserved: false\n}], ['h2', {\n reserved: false\n}], ['h3', {\n reserved: false\n}], ['h4', {\n reserved: false\n}], ['h5', {\n reserved: false\n}], ['h6', {\n reserved: false\n}], ['head', {\n reserved: true\n}], ['header', {\n reserved: false\n}], ['hgroup', {\n reserved: false\n}], ['hr', {\n reserved: false\n}], ['html', {\n reserved: true\n}], ['i', {\n reserved: false\n}], ['iframe', {\n reserved: false\n}], ['img', {\n reserved: false\n}], ['input', {\n reserved: false\n}], ['ins', {\n reserved: false\n}], ['kbd', {\n reserved: false\n}], ['keygen', {\n reserved: false\n}], ['label', {\n reserved: false\n}], ['legend', {\n reserved: false\n}], ['li', {\n reserved: false\n}], ['link', {\n reserved: true\n}], ['main', {\n reserved: false\n}], ['map', {\n reserved: false\n}], ['mark', {\n reserved: false\n}], ['marquee', {\n reserved: false\n}], ['menu', {\n reserved: false\n}], ['menuitem', {\n reserved: false\n}], ['meta', {\n reserved: true\n}], ['meter', {\n reserved: false\n}], ['nav', {\n reserved: false\n}], ['noembed', {\n reserved: true\n}], ['noscript', {\n reserved: true\n}], ['object', {\n reserved: false\n}], ['ol', {\n reserved: false\n}], ['optgroup', {\n reserved: false\n}], ['option', {\n reserved: false\n}], ['output', {\n reserved: false\n}], ['p', {\n reserved: false\n}], ['param', {\n reserved: true\n}], ['picture', {\n reserved: true\n}], ['pre', {\n reserved: false\n}], ['progress', {\n reserved: false\n}], ['q', {\n reserved: false\n}], ['rp', {\n reserved: false\n}], ['rt', {\n reserved: false\n}], ['rtc', {\n reserved: false\n}], ['ruby', {\n reserved: false\n}], ['s', {\n reserved: false\n}], ['samp', {\n reserved: false\n}], ['script', {\n reserved: true\n}], ['section', {\n reserved: false\n}], ['select', {\n reserved: false\n}], ['small', {\n reserved: false\n}], ['source', {\n reserved: true\n}], ['spacer', {\n reserved: false\n}], ['span', {\n reserved: false\n}], ['strike', {\n reserved: false\n}], ['strong', {\n reserved: false\n}], ['style', {\n reserved: true\n}], ['sub', {\n reserved: false\n}], ['summary', {\n reserved: false\n}], ['sup', {\n reserved: false\n}], ['table', {\n reserved: false\n}], ['tbody', {\n reserved: false\n}], ['td', {\n reserved: false\n}], ['textarea', {\n reserved: false\n}], ['tfoot', {\n reserved: false\n}], ['th', {\n reserved: false\n}], ['thead', {\n reserved: false\n}], ['time', {\n reserved: false\n}], ['title', {\n reserved: true\n}], ['tr', {\n reserved: false\n}], ['track', {\n reserved: true\n}], ['tt', {\n reserved: false\n}], ['u', {\n reserved: false\n}], ['ul', {\n reserved: false\n}], ['var', {\n reserved: false\n}], ['video', {\n reserved: false\n}], ['wbr', {\n reserved: false\n}], ['xmp', {\n reserved: false\n}]];\nvar domMap = {\n entries: function entries() {\n return dom;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(dom),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, key, dom);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = dom.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!domMap.get(key);\n },\n keys: function keys() {\n return dom.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return dom.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(domMap, domMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar commandRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget']]\n};\nvar _default = commandRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar compositeRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-disabled': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget']]\n};\nvar _default = compositeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar inputRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null\n },\n relatedConcepts: [{\n concept: {\n name: 'input'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget']]\n};\nvar _default = inputRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar landmarkRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = landmarkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rangeRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-valuemax': null,\n 'aria-valuemin': null,\n 'aria-valuenow': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = rangeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar roletypeRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {\n 'aria-atomic': null,\n 'aria-busy': null,\n 'aria-controls': null,\n 'aria-current': null,\n 'aria-describedby': null,\n 'aria-details': null,\n 'aria-dropeffect': null,\n 'aria-flowto': null,\n 'aria-grabbed': null,\n 'aria-hidden': null,\n 'aria-keyshortcuts': null,\n 'aria-label': null,\n 'aria-labelledby': null,\n 'aria-live': null,\n 'aria-owns': null,\n 'aria-relevant': null,\n 'aria-roledescription': null\n },\n relatedConcepts: [{\n concept: {\n name: 'role'\n },\n module: 'XHTML'\n }, {\n concept: {\n name: 'type'\n },\n module: 'Dublin Core'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: []\n};\nvar _default = roletypeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar sectionRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'frontmatter'\n },\n module: 'DTB'\n }, {\n concept: {\n name: 'level'\n },\n module: 'DTB'\n }, {\n concept: {\n name: 'level'\n },\n module: 'SMIL'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = sectionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar sectionheadRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = sectionheadRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar selectRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite'], ['roletype', 'structure', 'section', 'group']]\n};\nvar _default = selectRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar structureRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype']]\n};\nvar _default = structureRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar widgetRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype']]\n};\nvar _default = widgetRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar windowRole = {\n abstract: true,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-modal': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype']]\n};\nvar _default = windowRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _commandRole = _interopRequireDefault(require(\"./abstract/commandRole\"));\nvar _compositeRole = _interopRequireDefault(require(\"./abstract/compositeRole\"));\nvar _inputRole = _interopRequireDefault(require(\"./abstract/inputRole\"));\nvar _landmarkRole = _interopRequireDefault(require(\"./abstract/landmarkRole\"));\nvar _rangeRole = _interopRequireDefault(require(\"./abstract/rangeRole\"));\nvar _roletypeRole = _interopRequireDefault(require(\"./abstract/roletypeRole\"));\nvar _sectionRole = _interopRequireDefault(require(\"./abstract/sectionRole\"));\nvar _sectionheadRole = _interopRequireDefault(require(\"./abstract/sectionheadRole\"));\nvar _selectRole = _interopRequireDefault(require(\"./abstract/selectRole\"));\nvar _structureRole = _interopRequireDefault(require(\"./abstract/structureRole\"));\nvar _widgetRole = _interopRequireDefault(require(\"./abstract/widgetRole\"));\nvar _windowRole = _interopRequireDefault(require(\"./abstract/windowRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaAbstractRoles = [['command', _commandRole.default], ['composite', _compositeRole.default], ['input', _inputRole.default], ['landmark', _landmarkRole.default], ['range', _rangeRole.default], ['roletype', _roletypeRole.default], ['section', _sectionRole.default], ['sectionhead', _sectionheadRole.default], ['select', _selectRole.default], ['structure', _structureRole.default], ['widget', _widgetRole.default], ['window', _windowRole.default]];\nvar _default = ariaAbstractRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar alertRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-atomic': 'true',\n 'aria-live': 'assertive'\n },\n relatedConcepts: [{\n concept: {\n name: 'alert'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = alertRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar alertdialogRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'alert'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'alert'], ['roletype', 'window', 'dialog']]\n};\nvar _default = alertdialogRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar applicationRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'Device Independence Delivery Unit'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = applicationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar articleRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n name: 'article'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'document']]\n};\nvar _default = articleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar bannerRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n constraints: ['scoped to the body element'],\n name: 'header'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = bannerRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar blockquoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'blockquote'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = blockquoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar buttonRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-pressed': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'button'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'type',\n value: 'image'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'type',\n value: 'reset'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'type',\n value: 'submit'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'button'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'trigger'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = buttonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar captionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'caption'\n },\n module: 'HTML'\n }],\n requireContextRole: ['figure', 'grid', 'table'],\n requiredContextRole: ['figure', 'grid', 'table'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = captionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar cellRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-colindex': null,\n 'aria-colspan': null,\n 'aria-rowindex': null,\n 'aria-rowspan': null\n },\n relatedConcepts: [{\n concept: {\n constraints: ['ancestor table element has table role'],\n name: 'td'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row'],\n requiredContextRole: ['row'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = cellRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar checkboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-checked': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'checkbox'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'option'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = checkboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar codeRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'code'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = codeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar columnheaderRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-sort': null\n },\n relatedConcepts: [{\n concept: {\n name: 'th'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'scope',\n value: 'col'\n }],\n name: 'th'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'scope',\n value: 'colgroup'\n }],\n name: 'th'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row'],\n requiredContextRole: ['row'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'structure', 'section', 'cell', 'gridcell'], ['roletype', 'widget', 'gridcell'], ['roletype', 'structure', 'sectionhead']]\n};\nvar _default = columnheaderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar comboboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-autocomplete': null,\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-expanded': 'false',\n 'aria-haspopup': 'listbox'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'email'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'search'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'tel'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'text'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'url'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'list'\n }, {\n name: 'type',\n value: 'url'\n }],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'multiple'\n }, {\n constraints: ['undefined'],\n name: 'size'\n }],\n constraints: ['the multiple attribute is not set and the size attribute does not have a value greater than 1'],\n name: 'select'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'select'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-controls': null,\n 'aria-expanded': 'false'\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = comboboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar complementaryRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'aside'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-label'\n }],\n constraints: ['scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'aside'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-labelledby'\n }],\n constraints: ['scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'aside'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = complementaryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar contentinfoRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n constraints: ['scoped to the body element'],\n name: 'footer'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = contentinfoRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar definitionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'dd'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = definitionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar deletionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'del'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = deletionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar dialogRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'dialog'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'window']]\n};\nvar _default = dialogRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar directoryRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n module: 'DAISY Guide'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'list']]\n};\nvar _default = directoryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar documentRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'Device Independence Delivery Unit'\n }\n }, {\n concept: {\n name: 'html'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = documentRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar emphasisRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'em'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = emphasisRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar feedRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['article']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'list']]\n};\nvar _default = feedRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar figureRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'figure'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = figureRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar formRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-label'\n }],\n name: 'form'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-labelledby'\n }],\n name: 'form'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'name'\n }],\n name: 'form'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = formRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar genericRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'a'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'area'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'aside'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'b'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'bdo'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'body'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'data'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'div'\n },\n module: 'HTML'\n }, {\n concept: {\n constraints: ['scoped to the main element', 'scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'footer'\n },\n module: 'HTML'\n }, {\n concept: {\n constraints: ['scoped to the main element', 'scoped to a sectioning content element', 'scoped to a sectioning root element other than body'],\n name: 'header'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'hgroup'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'i'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'pre'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'q'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'samp'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'section'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'small'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'span'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'u'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = genericRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar gridRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-multiselectable': null,\n 'aria-readonly': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite'], ['roletype', 'structure', 'section', 'table']]\n};\nvar _default = gridRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar gridcellRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-selected': null\n },\n relatedConcepts: [{\n concept: {\n constraints: ['ancestor table element has grid role', 'ancestor table element has treegrid role'],\n name: 'td'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row'],\n requiredContextRole: ['row'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'widget']]\n};\nvar _default = gridcellRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar groupRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-disabled': null\n },\n relatedConcepts: [{\n concept: {\n name: 'details'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'fieldset'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'optgroup'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'address'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = groupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar headingRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-level': '2'\n },\n relatedConcepts: [{\n concept: {\n name: 'h1'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h2'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h3'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h4'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h5'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'h6'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-level': '2'\n },\n superClass: [['roletype', 'structure', 'sectionhead']]\n};\nvar _default = headingRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar imgRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'alt'\n }],\n name: 'img'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'alt'\n }],\n name: 'img'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'imggroup'\n },\n module: 'DTB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = imgRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar insertionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'ins'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = insertionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar linkRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'href'\n }],\n name: 'a'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'href'\n }],\n name: 'area'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = linkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar listRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'menu'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'ol'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'ul'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['listitem']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = listRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar listboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-invalid': null,\n 'aria-multiselectable': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-orientation': 'vertical'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['>1'],\n name: 'size'\n }],\n constraints: ['the size attribute value is greater than 1'],\n name: 'select'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'multiple'\n }],\n name: 'select'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'datalist'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'list'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'select'\n },\n module: 'XForms'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['option', 'group'], ['option']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = listboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar listitemRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-level': null,\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n constraints: ['direct descendant of ol', 'direct descendant of ul', 'direct descendant of menu'],\n name: 'li'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'item'\n },\n module: 'XForms'\n }],\n requireContextRole: ['directory', 'list'],\n requiredContextRole: ['directory', 'list'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = listitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar logRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-live': 'polite'\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = logRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar mainRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'main'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = mainRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar markRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: [],\n props: {\n 'aria-braillelabel': null,\n 'aria-brailleroledescription': null,\n 'aria-description': null\n },\n relatedConcepts: [{\n concept: {\n name: 'mark'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = markRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar marqueeRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = marqueeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar mathRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'math'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = mathRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': 'vertical'\n },\n relatedConcepts: [{\n concept: {\n name: 'MENU'\n },\n module: 'JAPI'\n }, {\n concept: {\n name: 'list'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'select'\n },\n module: 'XForms'\n }, {\n concept: {\n name: 'sidebar'\n },\n module: 'DTB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['menuitem', 'group'], ['menuitemradio', 'group'], ['menuitemcheckbox', 'group'], ['menuitem'], ['menuitemcheckbox'], ['menuitemradio']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = menuRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menubarRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': 'horizontal'\n },\n relatedConcepts: [{\n concept: {\n name: 'toolbar'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['menuitem', 'group'], ['menuitemradio', 'group'], ['menuitemcheckbox', 'group'], ['menuitem'], ['menuitemcheckbox'], ['menuitemradio']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select', 'menu'], ['roletype', 'structure', 'section', 'group', 'select', 'menu']]\n};\nvar _default = menubarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuitemRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n name: 'MENU_ITEM'\n },\n module: 'JAPI'\n }, {\n concept: {\n name: 'listitem'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'option'\n },\n module: 'ARIA'\n }],\n requireContextRole: ['group', 'menu', 'menubar'],\n requiredContextRole: ['group', 'menu', 'menubar'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command']]\n};\nvar _default = menuitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuitemcheckboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'menuitem'\n },\n module: 'ARIA'\n }],\n requireContextRole: ['group', 'menu', 'menubar'],\n requiredContextRole: ['group', 'menu', 'menubar'],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input', 'checkbox'], ['roletype', 'widget', 'command', 'menuitem']]\n};\nvar _default = menuitemcheckboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar menuitemradioRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'menuitem'\n },\n module: 'ARIA'\n }],\n requireContextRole: ['group', 'menu', 'menubar'],\n requiredContextRole: ['group', 'menu', 'menubar'],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input', 'checkbox', 'menuitemcheckbox'], ['roletype', 'widget', 'command', 'menuitem', 'menuitemcheckbox'], ['roletype', 'widget', 'input', 'radio']]\n};\nvar _default = menuitemradioRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar meterRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-valuetext': null,\n 'aria-valuemax': '100',\n 'aria-valuemin': '0'\n },\n relatedConcepts: [{\n concept: {\n name: 'meter'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-valuenow': null\n },\n superClass: [['roletype', 'structure', 'range']]\n};\nvar _default = meterRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar navigationRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'nav'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = navigationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar noneRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: [],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: []\n};\nvar _default = noneRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar noteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = noteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar optionRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-checked': null,\n 'aria-posinset': null,\n 'aria-setsize': null,\n 'aria-selected': 'false'\n },\n relatedConcepts: [{\n concept: {\n name: 'item'\n },\n module: 'XForms'\n }, {\n concept: {\n name: 'listitem'\n },\n module: 'ARIA'\n }, {\n concept: {\n name: 'option'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-selected': 'false'\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = optionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar paragraphRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'p'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = paragraphRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar presentationRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'alt',\n value: ''\n }],\n name: 'img'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = presentationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar progressbarRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-valuetext': null\n },\n relatedConcepts: [{\n concept: {\n name: 'progress'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'status'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'range'], ['roletype', 'widget']]\n};\nvar _default = progressbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar radioRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-checked': null,\n 'aria-posinset': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'radio'\n }],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = radioRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar radiogroupRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null\n },\n relatedConcepts: [{\n concept: {\n name: 'list'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['radio']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = radiogroupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar regionRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-label'\n }],\n name: 'section'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['set'],\n name: 'aria-labelledby'\n }],\n name: 'section'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'Device Independence Glossart perceivable unit'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = regionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rowRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-colindex': null,\n 'aria-expanded': null,\n 'aria-level': null,\n 'aria-posinset': null,\n 'aria-rowindex': null,\n 'aria-selected': null,\n 'aria-setsize': null\n },\n relatedConcepts: [{\n concept: {\n name: 'tr'\n },\n module: 'HTML'\n }],\n requireContextRole: ['grid', 'rowgroup', 'table', 'treegrid'],\n requiredContextRole: ['grid', 'rowgroup', 'table', 'treegrid'],\n requiredOwnedElements: [['cell'], ['columnheader'], ['gridcell'], ['rowheader']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'group'], ['roletype', 'widget']]\n};\nvar _default = rowRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rowgroupRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'tbody'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'tfoot'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'thead'\n },\n module: 'HTML'\n }],\n requireContextRole: ['grid', 'table', 'treegrid'],\n requiredContextRole: ['grid', 'table', 'treegrid'],\n requiredOwnedElements: [['row']],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = rowgroupRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar rowheaderRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-sort': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'scope',\n value: 'row'\n }],\n name: 'th'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n name: 'scope',\n value: 'rowgroup'\n }],\n name: 'th'\n },\n module: 'HTML'\n }],\n requireContextRole: ['row', 'rowgroup'],\n requiredContextRole: ['row', 'rowgroup'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'cell'], ['roletype', 'structure', 'section', 'cell', 'gridcell'], ['roletype', 'widget', 'gridcell'], ['roletype', 'structure', 'sectionhead']]\n};\nvar _default = rowheaderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar scrollbarRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-valuetext': null,\n 'aria-orientation': 'vertical',\n 'aria-valuemax': '100',\n 'aria-valuemin': '0'\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-controls': null,\n 'aria-valuenow': null\n },\n superClass: [['roletype', 'structure', 'range'], ['roletype', 'widget']]\n};\nvar _default = scrollbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar searchRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = searchRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar searchboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'search'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'input', 'textbox']]\n};\nvar _default = searchboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar separatorRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-orientation': 'horizontal',\n 'aria-valuemax': '100',\n 'aria-valuemin': '0',\n 'aria-valuenow': null,\n 'aria-valuetext': null\n },\n relatedConcepts: [{\n concept: {\n name: 'hr'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure']]\n};\nvar _default = separatorRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar sliderRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-haspopup': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-valuetext': null,\n 'aria-orientation': 'horizontal',\n 'aria-valuemax': '100',\n 'aria-valuemin': '0'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'range'\n }],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-valuenow': null\n },\n superClass: [['roletype', 'widget', 'input'], ['roletype', 'structure', 'range']]\n};\nvar _default = sliderRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar spinbuttonRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-readonly': null,\n 'aria-required': null,\n 'aria-valuetext': null,\n 'aria-valuenow': '0'\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n name: 'type',\n value: 'number'\n }],\n name: 'input'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite'], ['roletype', 'widget', 'input'], ['roletype', 'structure', 'range']]\n};\nvar _default = spinbuttonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar statusRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-atomic': 'true',\n 'aria-live': 'polite'\n },\n relatedConcepts: [{\n concept: {\n name: 'output'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = statusRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar strongRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'strong'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = strongRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar subscriptRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'sub'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = subscriptRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar superscriptRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['prohibited'],\n prohibitedProps: ['aria-label', 'aria-labelledby'],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'sup'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = superscriptRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar switchRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'button'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-checked': null\n },\n superClass: [['roletype', 'widget', 'input', 'checkbox']]\n};\nvar _default = switchRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tabRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-posinset': null,\n 'aria-setsize': null,\n 'aria-selected': 'false'\n },\n relatedConcepts: [],\n requireContextRole: ['tablist'],\n requiredContextRole: ['tablist'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'sectionhead'], ['roletype', 'widget']]\n};\nvar _default = tabRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tableRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-colcount': null,\n 'aria-rowcount': null\n },\n relatedConcepts: [{\n concept: {\n name: 'table'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tableRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tablistRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-level': null,\n 'aria-multiselectable': null,\n 'aria-orientation': 'horizontal'\n },\n relatedConcepts: [{\n module: 'DAISY',\n concept: {\n name: 'guide'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['tab']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite']]\n};\nvar _default = tablistRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tabpanelRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tabpanelRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar termRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'dfn'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'dt'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = termRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar textboxRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-activedescendant': null,\n 'aria-autocomplete': null,\n 'aria-errormessage': null,\n 'aria-haspopup': null,\n 'aria-invalid': null,\n 'aria-multiline': null,\n 'aria-placeholder': null,\n 'aria-readonly': null,\n 'aria-required': null\n },\n relatedConcepts: [{\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'type'\n }, {\n constraints: ['undefined'],\n name: 'list'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'email'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'tel'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'text'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n attributes: [{\n constraints: ['undefined'],\n name: 'list'\n }, {\n name: 'type',\n value: 'url'\n }],\n constraints: ['the list attribute is not set'],\n name: 'input'\n },\n module: 'HTML'\n }, {\n concept: {\n name: 'input'\n },\n module: 'XForms'\n }, {\n concept: {\n name: 'textarea'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'input']]\n};\nvar _default = textboxRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar timeRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'time'\n },\n module: 'HTML'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = timeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar timerRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'status']]\n};\nvar _default = timerRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar toolbarRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-orientation': 'horizontal'\n },\n relatedConcepts: [{\n concept: {\n name: 'menubar'\n },\n module: 'ARIA'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'group']]\n};\nvar _default = toolbarRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar tooltipRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = tooltipRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar treeRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null,\n 'aria-multiselectable': null,\n 'aria-required': null,\n 'aria-orientation': 'vertical'\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['treeitem', 'group'], ['treeitem']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'select'], ['roletype', 'structure', 'section', 'group', 'select']]\n};\nvar _default = treeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar treegridRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['row'], ['row', 'rowgroup']],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'composite', 'grid'], ['roletype', 'structure', 'section', 'table', 'grid'], ['roletype', 'widget', 'composite', 'select', 'tree'], ['roletype', 'structure', 'section', 'group', 'select', 'tree']]\n};\nvar _default = treegridRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar treeitemRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-expanded': null,\n 'aria-haspopup': null\n },\n relatedConcepts: [],\n requireContextRole: ['group', 'tree'],\n requiredContextRole: ['group', 'tree'],\n requiredOwnedElements: [],\n requiredProps: {\n 'aria-selected': null\n },\n superClass: [['roletype', 'structure', 'section', 'listitem'], ['roletype', 'widget', 'input', 'option']]\n};\nvar _default = treeitemRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _alertRole = _interopRequireDefault(require(\"./literal/alertRole\"));\nvar _alertdialogRole = _interopRequireDefault(require(\"./literal/alertdialogRole\"));\nvar _applicationRole = _interopRequireDefault(require(\"./literal/applicationRole\"));\nvar _articleRole = _interopRequireDefault(require(\"./literal/articleRole\"));\nvar _bannerRole = _interopRequireDefault(require(\"./literal/bannerRole\"));\nvar _blockquoteRole = _interopRequireDefault(require(\"./literal/blockquoteRole\"));\nvar _buttonRole = _interopRequireDefault(require(\"./literal/buttonRole\"));\nvar _captionRole = _interopRequireDefault(require(\"./literal/captionRole\"));\nvar _cellRole = _interopRequireDefault(require(\"./literal/cellRole\"));\nvar _checkboxRole = _interopRequireDefault(require(\"./literal/checkboxRole\"));\nvar _codeRole = _interopRequireDefault(require(\"./literal/codeRole\"));\nvar _columnheaderRole = _interopRequireDefault(require(\"./literal/columnheaderRole\"));\nvar _comboboxRole = _interopRequireDefault(require(\"./literal/comboboxRole\"));\nvar _complementaryRole = _interopRequireDefault(require(\"./literal/complementaryRole\"));\nvar _contentinfoRole = _interopRequireDefault(require(\"./literal/contentinfoRole\"));\nvar _definitionRole = _interopRequireDefault(require(\"./literal/definitionRole\"));\nvar _deletionRole = _interopRequireDefault(require(\"./literal/deletionRole\"));\nvar _dialogRole = _interopRequireDefault(require(\"./literal/dialogRole\"));\nvar _directoryRole = _interopRequireDefault(require(\"./literal/directoryRole\"));\nvar _documentRole = _interopRequireDefault(require(\"./literal/documentRole\"));\nvar _emphasisRole = _interopRequireDefault(require(\"./literal/emphasisRole\"));\nvar _feedRole = _interopRequireDefault(require(\"./literal/feedRole\"));\nvar _figureRole = _interopRequireDefault(require(\"./literal/figureRole\"));\nvar _formRole = _interopRequireDefault(require(\"./literal/formRole\"));\nvar _genericRole = _interopRequireDefault(require(\"./literal/genericRole\"));\nvar _gridRole = _interopRequireDefault(require(\"./literal/gridRole\"));\nvar _gridcellRole = _interopRequireDefault(require(\"./literal/gridcellRole\"));\nvar _groupRole = _interopRequireDefault(require(\"./literal/groupRole\"));\nvar _headingRole = _interopRequireDefault(require(\"./literal/headingRole\"));\nvar _imgRole = _interopRequireDefault(require(\"./literal/imgRole\"));\nvar _insertionRole = _interopRequireDefault(require(\"./literal/insertionRole\"));\nvar _linkRole = _interopRequireDefault(require(\"./literal/linkRole\"));\nvar _listRole = _interopRequireDefault(require(\"./literal/listRole\"));\nvar _listboxRole = _interopRequireDefault(require(\"./literal/listboxRole\"));\nvar _listitemRole = _interopRequireDefault(require(\"./literal/listitemRole\"));\nvar _logRole = _interopRequireDefault(require(\"./literal/logRole\"));\nvar _mainRole = _interopRequireDefault(require(\"./literal/mainRole\"));\nvar _markRole = _interopRequireDefault(require(\"./literal/markRole\"));\nvar _marqueeRole = _interopRequireDefault(require(\"./literal/marqueeRole\"));\nvar _mathRole = _interopRequireDefault(require(\"./literal/mathRole\"));\nvar _menuRole = _interopRequireDefault(require(\"./literal/menuRole\"));\nvar _menubarRole = _interopRequireDefault(require(\"./literal/menubarRole\"));\nvar _menuitemRole = _interopRequireDefault(require(\"./literal/menuitemRole\"));\nvar _menuitemcheckboxRole = _interopRequireDefault(require(\"./literal/menuitemcheckboxRole\"));\nvar _menuitemradioRole = _interopRequireDefault(require(\"./literal/menuitemradioRole\"));\nvar _meterRole = _interopRequireDefault(require(\"./literal/meterRole\"));\nvar _navigationRole = _interopRequireDefault(require(\"./literal/navigationRole\"));\nvar _noneRole = _interopRequireDefault(require(\"./literal/noneRole\"));\nvar _noteRole = _interopRequireDefault(require(\"./literal/noteRole\"));\nvar _optionRole = _interopRequireDefault(require(\"./literal/optionRole\"));\nvar _paragraphRole = _interopRequireDefault(require(\"./literal/paragraphRole\"));\nvar _presentationRole = _interopRequireDefault(require(\"./literal/presentationRole\"));\nvar _progressbarRole = _interopRequireDefault(require(\"./literal/progressbarRole\"));\nvar _radioRole = _interopRequireDefault(require(\"./literal/radioRole\"));\nvar _radiogroupRole = _interopRequireDefault(require(\"./literal/radiogroupRole\"));\nvar _regionRole = _interopRequireDefault(require(\"./literal/regionRole\"));\nvar _rowRole = _interopRequireDefault(require(\"./literal/rowRole\"));\nvar _rowgroupRole = _interopRequireDefault(require(\"./literal/rowgroupRole\"));\nvar _rowheaderRole = _interopRequireDefault(require(\"./literal/rowheaderRole\"));\nvar _scrollbarRole = _interopRequireDefault(require(\"./literal/scrollbarRole\"));\nvar _searchRole = _interopRequireDefault(require(\"./literal/searchRole\"));\nvar _searchboxRole = _interopRequireDefault(require(\"./literal/searchboxRole\"));\nvar _separatorRole = _interopRequireDefault(require(\"./literal/separatorRole\"));\nvar _sliderRole = _interopRequireDefault(require(\"./literal/sliderRole\"));\nvar _spinbuttonRole = _interopRequireDefault(require(\"./literal/spinbuttonRole\"));\nvar _statusRole = _interopRequireDefault(require(\"./literal/statusRole\"));\nvar _strongRole = _interopRequireDefault(require(\"./literal/strongRole\"));\nvar _subscriptRole = _interopRequireDefault(require(\"./literal/subscriptRole\"));\nvar _superscriptRole = _interopRequireDefault(require(\"./literal/superscriptRole\"));\nvar _switchRole = _interopRequireDefault(require(\"./literal/switchRole\"));\nvar _tabRole = _interopRequireDefault(require(\"./literal/tabRole\"));\nvar _tableRole = _interopRequireDefault(require(\"./literal/tableRole\"));\nvar _tablistRole = _interopRequireDefault(require(\"./literal/tablistRole\"));\nvar _tabpanelRole = _interopRequireDefault(require(\"./literal/tabpanelRole\"));\nvar _termRole = _interopRequireDefault(require(\"./literal/termRole\"));\nvar _textboxRole = _interopRequireDefault(require(\"./literal/textboxRole\"));\nvar _timeRole = _interopRequireDefault(require(\"./literal/timeRole\"));\nvar _timerRole = _interopRequireDefault(require(\"./literal/timerRole\"));\nvar _toolbarRole = _interopRequireDefault(require(\"./literal/toolbarRole\"));\nvar _tooltipRole = _interopRequireDefault(require(\"./literal/tooltipRole\"));\nvar _treeRole = _interopRequireDefault(require(\"./literal/treeRole\"));\nvar _treegridRole = _interopRequireDefault(require(\"./literal/treegridRole\"));\nvar _treeitemRole = _interopRequireDefault(require(\"./literal/treeitemRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaLiteralRoles = [['alert', _alertRole.default], ['alertdialog', _alertdialogRole.default], ['application', _applicationRole.default], ['article', _articleRole.default], ['banner', _bannerRole.default], ['blockquote', _blockquoteRole.default], ['button', _buttonRole.default], ['caption', _captionRole.default], ['cell', _cellRole.default], ['checkbox', _checkboxRole.default], ['code', _codeRole.default], ['columnheader', _columnheaderRole.default], ['combobox', _comboboxRole.default], ['complementary', _complementaryRole.default], ['contentinfo', _contentinfoRole.default], ['definition', _definitionRole.default], ['deletion', _deletionRole.default], ['dialog', _dialogRole.default], ['directory', _directoryRole.default], ['document', _documentRole.default], ['emphasis', _emphasisRole.default], ['feed', _feedRole.default], ['figure', _figureRole.default], ['form', _formRole.default], ['generic', _genericRole.default], ['grid', _gridRole.default], ['gridcell', _gridcellRole.default], ['group', _groupRole.default], ['heading', _headingRole.default], ['img', _imgRole.default], ['insertion', _insertionRole.default], ['link', _linkRole.default], ['list', _listRole.default], ['listbox', _listboxRole.default], ['listitem', _listitemRole.default], ['log', _logRole.default], ['main', _mainRole.default], ['mark', _markRole.default], ['marquee', _marqueeRole.default], ['math', _mathRole.default], ['menu', _menuRole.default], ['menubar', _menubarRole.default], ['menuitem', _menuitemRole.default], ['menuitemcheckbox', _menuitemcheckboxRole.default], ['menuitemradio', _menuitemradioRole.default], ['meter', _meterRole.default], ['navigation', _navigationRole.default], ['none', _noneRole.default], ['note', _noteRole.default], ['option', _optionRole.default], ['paragraph', _paragraphRole.default], ['presentation', _presentationRole.default], ['progressbar', _progressbarRole.default], ['radio', _radioRole.default], ['radiogroup', _radiogroupRole.default], ['region', _regionRole.default], ['row', _rowRole.default], ['rowgroup', _rowgroupRole.default], ['rowheader', _rowheaderRole.default], ['scrollbar', _scrollbarRole.default], ['search', _searchRole.default], ['searchbox', _searchboxRole.default], ['separator', _separatorRole.default], ['slider', _sliderRole.default], ['spinbutton', _spinbuttonRole.default], ['status', _statusRole.default], ['strong', _strongRole.default], ['subscript', _subscriptRole.default], ['superscript', _superscriptRole.default], ['switch', _switchRole.default], ['tab', _tabRole.default], ['table', _tableRole.default], ['tablist', _tablistRole.default], ['tabpanel', _tabpanelRole.default], ['term', _termRole.default], ['textbox', _textboxRole.default], ['time', _timeRole.default], ['timer', _timerRole.default], ['toolbar', _toolbarRole.default], ['tooltip', _tooltipRole.default], ['tree', _treeRole.default], ['treegrid', _treegridRole.default], ['treeitem', _treeitemRole.default]];\nvar _default = ariaLiteralRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAbstractRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'abstract [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docAbstractRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAcknowledgmentsRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'acknowledgments [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAcknowledgmentsRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAfterwordRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'afterword [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAfterwordRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docAppendixRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'appendix [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docAppendixRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBacklinkRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'referrer [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docBacklinkRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBiblioentryRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'EPUB biblioentry [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: ['doc-bibliography'],\n requiredContextRole: ['doc-bibliography'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'listitem']]\n};\nvar _default = docBiblioentryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBibliographyRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'bibliography [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['doc-biblioentry']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docBibliographyRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docBibliorefRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'biblioref [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docBibliorefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docChapterRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'chapter [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docChapterRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docColophonRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'colophon [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docColophonRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docConclusionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'conclusion [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docConclusionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docCoverRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'cover [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'img']]\n};\nvar _default = docCoverRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docCreditRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'credit [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docCreditRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docCreditsRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'credits [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docCreditsRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docDedicationRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'dedication [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docDedicationRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEndnoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'rearnote [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: ['doc-endnotes'],\n requiredContextRole: ['doc-endnotes'],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'listitem']]\n};\nvar _default = docEndnoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEndnotesRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'rearnotes [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['doc-endnote']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docEndnotesRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEpigraphRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'epigraph [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docEpigraphRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docEpilogueRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'epilogue [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docEpilogueRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docErrataRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'errata [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docErrataRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docExampleRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docExampleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docFootnoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'footnote [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docFootnoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docForewordRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'foreword [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docForewordRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docGlossaryRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'glossary [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [['definition'], ['term']],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docGlossaryRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docGlossrefRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'glossref [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docGlossrefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docIndexRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'index [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docIndexRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docIntroductionRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'introduction [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docIntroductionRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docNoterefRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'noteref [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'widget', 'command', 'link']]\n};\nvar _default = docNoterefRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docNoticeRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'notice [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'note']]\n};\nvar _default = docNoticeRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPagebreakRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'pagebreak [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'separator']]\n};\nvar _default = docPagebreakRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPagelistRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'page-list [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docPagelistRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPartRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'part [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPartRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPrefaceRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'preface [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPrefaceRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPrologueRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'prologue [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark']]\n};\nvar _default = docPrologueRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docPullquoteRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {},\n relatedConcepts: [{\n concept: {\n name: 'pullquote [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['none']]\n};\nvar _default = docPullquoteRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docQnaRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'qna [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section']]\n};\nvar _default = docQnaRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docSubtitleRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'subtitle [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'sectionhead']]\n};\nvar _default = docSubtitleRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docTipRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'help [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'note']]\n};\nvar _default = docTipRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar docTocRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n concept: {\n name: 'toc [EPUB-SSV]'\n },\n module: 'EPUB'\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'landmark', 'navigation']]\n};\nvar _default = docTocRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _docAbstractRole = _interopRequireDefault(require(\"./dpub/docAbstractRole\"));\nvar _docAcknowledgmentsRole = _interopRequireDefault(require(\"./dpub/docAcknowledgmentsRole\"));\nvar _docAfterwordRole = _interopRequireDefault(require(\"./dpub/docAfterwordRole\"));\nvar _docAppendixRole = _interopRequireDefault(require(\"./dpub/docAppendixRole\"));\nvar _docBacklinkRole = _interopRequireDefault(require(\"./dpub/docBacklinkRole\"));\nvar _docBiblioentryRole = _interopRequireDefault(require(\"./dpub/docBiblioentryRole\"));\nvar _docBibliographyRole = _interopRequireDefault(require(\"./dpub/docBibliographyRole\"));\nvar _docBibliorefRole = _interopRequireDefault(require(\"./dpub/docBibliorefRole\"));\nvar _docChapterRole = _interopRequireDefault(require(\"./dpub/docChapterRole\"));\nvar _docColophonRole = _interopRequireDefault(require(\"./dpub/docColophonRole\"));\nvar _docConclusionRole = _interopRequireDefault(require(\"./dpub/docConclusionRole\"));\nvar _docCoverRole = _interopRequireDefault(require(\"./dpub/docCoverRole\"));\nvar _docCreditRole = _interopRequireDefault(require(\"./dpub/docCreditRole\"));\nvar _docCreditsRole = _interopRequireDefault(require(\"./dpub/docCreditsRole\"));\nvar _docDedicationRole = _interopRequireDefault(require(\"./dpub/docDedicationRole\"));\nvar _docEndnoteRole = _interopRequireDefault(require(\"./dpub/docEndnoteRole\"));\nvar _docEndnotesRole = _interopRequireDefault(require(\"./dpub/docEndnotesRole\"));\nvar _docEpigraphRole = _interopRequireDefault(require(\"./dpub/docEpigraphRole\"));\nvar _docEpilogueRole = _interopRequireDefault(require(\"./dpub/docEpilogueRole\"));\nvar _docErrataRole = _interopRequireDefault(require(\"./dpub/docErrataRole\"));\nvar _docExampleRole = _interopRequireDefault(require(\"./dpub/docExampleRole\"));\nvar _docFootnoteRole = _interopRequireDefault(require(\"./dpub/docFootnoteRole\"));\nvar _docForewordRole = _interopRequireDefault(require(\"./dpub/docForewordRole\"));\nvar _docGlossaryRole = _interopRequireDefault(require(\"./dpub/docGlossaryRole\"));\nvar _docGlossrefRole = _interopRequireDefault(require(\"./dpub/docGlossrefRole\"));\nvar _docIndexRole = _interopRequireDefault(require(\"./dpub/docIndexRole\"));\nvar _docIntroductionRole = _interopRequireDefault(require(\"./dpub/docIntroductionRole\"));\nvar _docNoterefRole = _interopRequireDefault(require(\"./dpub/docNoterefRole\"));\nvar _docNoticeRole = _interopRequireDefault(require(\"./dpub/docNoticeRole\"));\nvar _docPagebreakRole = _interopRequireDefault(require(\"./dpub/docPagebreakRole\"));\nvar _docPagelistRole = _interopRequireDefault(require(\"./dpub/docPagelistRole\"));\nvar _docPartRole = _interopRequireDefault(require(\"./dpub/docPartRole\"));\nvar _docPrefaceRole = _interopRequireDefault(require(\"./dpub/docPrefaceRole\"));\nvar _docPrologueRole = _interopRequireDefault(require(\"./dpub/docPrologueRole\"));\nvar _docPullquoteRole = _interopRequireDefault(require(\"./dpub/docPullquoteRole\"));\nvar _docQnaRole = _interopRequireDefault(require(\"./dpub/docQnaRole\"));\nvar _docSubtitleRole = _interopRequireDefault(require(\"./dpub/docSubtitleRole\"));\nvar _docTipRole = _interopRequireDefault(require(\"./dpub/docTipRole\"));\nvar _docTocRole = _interopRequireDefault(require(\"./dpub/docTocRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaDpubRoles = [['doc-abstract', _docAbstractRole.default], ['doc-acknowledgments', _docAcknowledgmentsRole.default], ['doc-afterword', _docAfterwordRole.default], ['doc-appendix', _docAppendixRole.default], ['doc-backlink', _docBacklinkRole.default], ['doc-biblioentry', _docBiblioentryRole.default], ['doc-bibliography', _docBibliographyRole.default], ['doc-biblioref', _docBibliorefRole.default], ['doc-chapter', _docChapterRole.default], ['doc-colophon', _docColophonRole.default], ['doc-conclusion', _docConclusionRole.default], ['doc-cover', _docCoverRole.default], ['doc-credit', _docCreditRole.default], ['doc-credits', _docCreditsRole.default], ['doc-dedication', _docDedicationRole.default], ['doc-endnote', _docEndnoteRole.default], ['doc-endnotes', _docEndnotesRole.default], ['doc-epigraph', _docEpigraphRole.default], ['doc-epilogue', _docEpilogueRole.default], ['doc-errata', _docErrataRole.default], ['doc-example', _docExampleRole.default], ['doc-footnote', _docFootnoteRole.default], ['doc-foreword', _docForewordRole.default], ['doc-glossary', _docGlossaryRole.default], ['doc-glossref', _docGlossrefRole.default], ['doc-index', _docIndexRole.default], ['doc-introduction', _docIntroductionRole.default], ['doc-noteref', _docNoterefRole.default], ['doc-notice', _docNoticeRole.default], ['doc-pagebreak', _docPagebreakRole.default], ['doc-pagelist', _docPagelistRole.default], ['doc-part', _docPartRole.default], ['doc-preface', _docPrefaceRole.default], ['doc-prologue', _docPrologueRole.default], ['doc-pullquote', _docPullquoteRole.default], ['doc-qna', _docQnaRole.default], ['doc-subtitle', _docSubtitleRole.default], ['doc-tip', _docTipRole.default], ['doc-toc', _docTocRole.default]];\nvar _default = ariaDpubRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar graphicsDocumentRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n module: 'GRAPHICS',\n concept: {\n name: 'graphics-object'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'img'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'article'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'document']]\n};\nvar _default = graphicsDocumentRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar graphicsObjectRole = {\n abstract: false,\n accessibleNameRequired: false,\n baseConcepts: [],\n childrenPresentational: false,\n nameFrom: ['author', 'contents'],\n prohibitedProps: [],\n props: {\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [{\n module: 'GRAPHICS',\n concept: {\n name: 'graphics-document'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'group'\n }\n }, {\n module: 'ARIA',\n concept: {\n name: 'img'\n }\n }, {\n module: 'GRAPHICS',\n concept: {\n name: 'graphics-symbol'\n }\n }],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'group']]\n};\nvar _default = graphicsObjectRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar graphicsSymbolRole = {\n abstract: false,\n accessibleNameRequired: true,\n baseConcepts: [],\n childrenPresentational: true,\n nameFrom: ['author'],\n prohibitedProps: [],\n props: {\n 'aria-disabled': null,\n 'aria-errormessage': null,\n 'aria-expanded': null,\n 'aria-haspopup': null,\n 'aria-invalid': null\n },\n relatedConcepts: [],\n requireContextRole: [],\n requiredContextRole: [],\n requiredOwnedElements: [],\n requiredProps: {},\n superClass: [['roletype', 'structure', 'section', 'img']]\n};\nvar _default = graphicsSymbolRole;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _graphicsDocumentRole = _interopRequireDefault(require(\"./graphics/graphicsDocumentRole\"));\nvar _graphicsObjectRole = _interopRequireDefault(require(\"./graphics/graphicsObjectRole\"));\nvar _graphicsSymbolRole = _interopRequireDefault(require(\"./graphics/graphicsSymbolRole\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ariaGraphicsRoles = [['graphics-document', _graphicsDocumentRole.default], ['graphics-object', _graphicsObjectRole.default], ['graphics-symbol', _graphicsSymbolRole.default]];\nvar _default = ariaGraphicsRoles;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _ariaAbstractRoles = _interopRequireDefault(require(\"./etc/roles/ariaAbstractRoles\"));\nvar _ariaLiteralRoles = _interopRequireDefault(require(\"./etc/roles/ariaLiteralRoles\"));\nvar _ariaDpubRoles = _interopRequireDefault(require(\"./etc/roles/ariaDpubRoles\"));\nvar _ariaGraphicsRoles = _interopRequireDefault(require(\"./etc/roles/ariaGraphicsRoles\"));\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nvar roles = [].concat(_ariaAbstractRoles.default, _ariaLiteralRoles.default, _ariaDpubRoles.default, _ariaGraphicsRoles.default);\nroles.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n roleDefinition = _ref2[1];\n // Conglomerate the properties\n var _iterator = _createForOfIteratorHelper(roleDefinition.superClass),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var superClassIter = _step.value;\n var _iterator2 = _createForOfIteratorHelper(superClassIter),\n _step2;\n try {\n var _loop = function _loop() {\n var superClassName = _step2.value;\n var superClassRoleTuple = roles.find(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 1),\n name = _ref4[0];\n return name === superClassName;\n });\n if (superClassRoleTuple) {\n var superClassDefinition = superClassRoleTuple[1];\n for (var _i2 = 0, _Object$keys = Object.keys(superClassDefinition.props); _i2 < _Object$keys.length; _i2++) {\n var prop = _Object$keys[_i2];\n if (\n // $FlowIssue Accessing the hasOwnProperty on the Object prototype is fine.\n !Object.prototype.hasOwnProperty.call(roleDefinition.props, prop)) {\n Object.assign(roleDefinition.props, _defineProperty({}, prop, superClassDefinition.props[prop]));\n }\n }\n }\n };\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n});\nvar rolesMap = {\n entries: function entries() {\n return roles;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator3 = _createForOfIteratorHelper(roles),\n _step3;\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _step3$value = _slicedToArray(_step3.value, 2),\n key = _step3$value[0],\n values = _step3$value[1];\n fn.call(thisArg, values, key, roles);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n },\n get: function get(key) {\n var item = roles.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!rolesMap.get(key);\n },\n keys: function keys() {\n return roles.map(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 1),\n key = _ref6[0];\n return key;\n });\n },\n values: function values() {\n return roles.map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n values = _ref8[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(rolesMap, rolesMap.entries());\nexports.default = _default;","var has = Object.prototype.hasOwnProperty;\n\nfunction dequal(foo, bar) {\n\tvar ctor, len;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n\nexports.dequal = dequal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _lite = require(\"dequal/lite\");\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar elementRoles = [];\nvar keys = _rolesMap.default.keys();\nfor (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var role = _rolesMap.default.get(key);\n if (role) {\n var concepts = [].concat(role.baseConcepts, role.relatedConcepts);\n for (var k = 0; k < concepts.length; k++) {\n var relation = concepts[k];\n if (relation.module === 'HTML') {\n (function () {\n var concept = relation.concept;\n if (concept) {\n var elementRoleRelation = elementRoles.find(function (relation) {\n return (0, _lite.dequal)(relation, concept);\n });\n var roles;\n if (elementRoleRelation) {\n roles = elementRoleRelation[1];\n } else {\n roles = [];\n }\n var isUnique = true;\n for (var _i = 0; _i < roles.length; _i++) {\n if (roles[_i] === key) {\n isUnique = false;\n break;\n }\n }\n if (isUnique) {\n roles.push(key);\n }\n elementRoles.push([concept, roles]);\n }\n })();\n }\n }\n }\n}\nvar elementRoleMap = {\n entries: function entries() {\n return elementRoles;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(elementRoles),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n _key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, _key, elementRoles);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = elementRoles.find(function (tuple) {\n return key.name === tuple[0].name && (0, _lite.dequal)(key.attributes, tuple[0].attributes);\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!elementRoleMap.get(key);\n },\n keys: function keys() {\n return elementRoles.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return elementRoles.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(elementRoleMap, elementRoleMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _iterationDecorator = _interopRequireDefault(require(\"./util/iterationDecorator\"));\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nvar roleElement = [];\nvar keys = _rolesMap.default.keys();\nfor (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var role = _rolesMap.default.get(key);\n var relationConcepts = [];\n if (role) {\n var concepts = [].concat(role.baseConcepts, role.relatedConcepts);\n for (var k = 0; k < concepts.length; k++) {\n var relation = concepts[k];\n if (relation.module === 'HTML') {\n var concept = relation.concept;\n if (concept != null) {\n relationConcepts.push(concept);\n }\n }\n }\n if (relationConcepts.length > 0) {\n roleElement.push([key, relationConcepts]);\n }\n }\n}\nvar roleElementMap = {\n entries: function entries() {\n return roleElement;\n },\n forEach: function forEach(fn) {\n var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var _iterator = _createForOfIteratorHelper(roleElement),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _slicedToArray(_step.value, 2),\n _key = _step$value[0],\n values = _step$value[1];\n fn.call(thisArg, values, _key, roleElement);\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n },\n get: function get(key) {\n var item = roleElement.find(function (tuple) {\n return tuple[0] === key ? true : false;\n });\n return item && item[1];\n },\n has: function has(key) {\n return !!roleElementMap.get(key);\n },\n keys: function keys() {\n return roleElement.map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n key = _ref2[0];\n return key;\n });\n },\n values: function values() {\n return roleElement.map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n values = _ref4[1];\n return values;\n });\n }\n};\nvar _default = (0, _iterationDecorator.default)(roleElementMap, roleElementMap.entries());\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.roles = exports.roleElements = exports.elementRoles = exports.dom = exports.aria = void 0;\nvar _ariaPropsMap = _interopRequireDefault(require(\"./ariaPropsMap\"));\nvar _domMap = _interopRequireDefault(require(\"./domMap\"));\nvar _rolesMap = _interopRequireDefault(require(\"./rolesMap\"));\nvar _elementRoleMap = _interopRequireDefault(require(\"./elementRoleMap\"));\nvar _roleElementMap = _interopRequireDefault(require(\"./roleElementMap\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar aria = _ariaPropsMap.default;\nexports.aria = aria;\nvar dom = _domMap.default;\nexports.dom = dom;\nvar roles = _rolesMap.default;\nexports.roles = roles;\nvar elementRoles = _elementRoleMap.default;\nexports.elementRoles = elementRoles;\nvar roleElements = _roleElementMap.default;\nexports.roleElements = roleElements;","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n","import { TimestampProvider } from '../types';\n\ninterface PerformanceTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const performanceTimestampProvider: PerformanceTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (performanceTimestampProvider.delegate || performance).now();\n },\n delegate: undefined,\n};\n","import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n","import { Observable } from '../../Observable';\nimport { TimestampProvider } from '../../types';\nimport { performanceTimestampProvider } from '../../scheduler/performanceTimestampProvider';\nimport { animationFrameProvider } from '../../scheduler/animationFrameProvider';\n\n/**\n * An observable of animation frames\n *\n * Emits the amount of time elapsed since subscription and the timestamp on each animation frame.\n * Defaults to milliseconds provided to the requestAnimationFrame's callback. Does not end on its own.\n *\n * Every subscription will start a separate animation loop. Since animation frames are always scheduled\n * by the browser to occur directly before a repaint, scheduling more than one animation frame synchronously\n * should not be much different or have more overhead than looping over an array of events during\n * a single animation frame. However, if for some reason the developer would like to ensure the\n * execution of animation-related handlers are all executed during the same task by the engine,\n * the `share` operator can be used.\n *\n * This is useful for setting up animations with RxJS.\n *\n * ## Examples\n *\n * Tweening a div to move it on the screen\n *\n * ```ts\n * import { animationFrames, map, takeWhile, endWith } from 'rxjs';\n *\n * function tween(start: number, end: number, duration: number) {\n * const diff = end - start;\n * return animationFrames().pipe(\n * // Figure out what percentage of time has passed\n * map(({ elapsed }) => elapsed / duration),\n * // Take the vector while less than 100%\n * takeWhile(v => v < 1),\n * // Finish with 100%\n * endWith(1),\n * // Calculate the distance traveled between start and end\n * map(v => v * diff + start)\n * );\n * }\n *\n * // Setup a div for us to move around\n * const div = document.createElement('div');\n * document.body.appendChild(div);\n * div.style.position = 'absolute';\n * div.style.width = '40px';\n * div.style.height = '40px';\n * div.style.backgroundColor = 'lime';\n * div.style.transform = 'translate3d(10px, 0, 0)';\n *\n * tween(10, 200, 4000).subscribe(x => {\n * div.style.transform = `translate3d(${ x }px, 0, 0)`;\n * });\n * ```\n *\n * Providing a custom timestamp provider\n *\n * ```ts\n * import { animationFrames, TimestampProvider } from 'rxjs';\n *\n * // A custom timestamp provider\n * let now = 0;\n * const customTSProvider: TimestampProvider = {\n * now() { return now++; }\n * };\n *\n * const source$ = animationFrames(customTSProvider);\n *\n * // Log increasing numbers 0...1...2... on every animation frame.\n * source$.subscribe(({ elapsed }) => console.log(elapsed));\n * ```\n *\n * @param timestampProvider An object with a `now` method that provides a numeric timestamp\n */\nexport function animationFrames(timestampProvider?: TimestampProvider) {\n return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;\n}\n\n/**\n * Does the work of creating the observable for `animationFrames`.\n * @param timestampProvider The timestamp provider to use to create the observable\n */\nfunction animationFramesFactory(timestampProvider?: TimestampProvider) {\n return new Observable<{ timestamp: number; elapsed: number }>((subscriber) => {\n // If no timestamp provider is specified, use performance.now() - as it\n // will return timestamps 'compatible' with those passed to the run\n // callback and won't be affected by NTP adjustments, etc.\n const provider = timestampProvider || performanceTimestampProvider;\n\n // Capture the start time upon subscription, as the run callback can remain\n // queued for a considerable period of time and the elapsed time should\n // represent the time elapsed since subscription - not the time since the\n // first rendered animation frame.\n const start = provider.now();\n\n let id = 0;\n const run = () => {\n if (!subscriber.closed) {\n id = animationFrameProvider.requestAnimationFrame((timestamp: DOMHighResTimeStamp | number) => {\n id = 0;\n // Use the provider's timestamp to calculate the elapsed time. Note that\n // this means - if the caller hasn't passed a provider - that\n // performance.now() will be used instead of the timestamp that was\n // passed to the run callback. The reason for this is that the timestamp\n // passed to the callback can be earlier than the start time, as it\n // represents the time at which the browser decided it would render any\n // queued frames - and that time can be earlier the captured start time.\n const now = provider.now();\n subscriber.next({\n timestamp: timestampProvider ? now : timestamp,\n elapsed: now - start,\n });\n run();\n });\n }\n };\n\n run();\n\n return () => {\n if (id) {\n animationFrameProvider.cancelAnimationFrame(id);\n }\n };\n });\n}\n\n/**\n * In the common case, where the timestamp provided by the rAF API is used,\n * we use this shared observable to reduce overhead.\n */\nconst DEFAULT_ANIMATION_FRAMES = animationFramesFactory();\n","let nextHandle = 1;\n// The promise needs to be created lazily otherwise it won't be patched by Zones\nlet resolved: Promise<any>;\nconst activeHandles: { [key: number]: any } = {};\n\n/**\n * Finds the handle in the list of active handles, and removes it.\n * Returns `true` if found, `false` otherwise. Used both to clear\n * Immediate scheduled tasks, and to identify if a task should be scheduled.\n */\nfunction findAndClearHandle(handle: number): boolean {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\n\n/**\n * Helper functions to schedule and unschedule microtasks.\n */\nexport const Immediate = {\n setImmediate(cb: () => void): number {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n\n clearImmediate(handle: number): void {\n findAndClearHandle(handle);\n },\n};\n\n/**\n * Used for internal testing purposes only. Do not export from library.\n */\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","import { Immediate } from '../util/Immediate';\nimport type { TimerHandle } from './timerHandle';\nconst { setImmediate, clearImmediate } = Immediate;\n\ntype SetImmediateFunction = (handler: () => void, ...args: any[]) => TimerHandle;\ntype ClearImmediateFunction = (handle: TimerHandle) => void;\n\ninterface ImmediateProvider {\n setImmediate: SetImmediateFunction;\n clearImmediate: ClearImmediateFunction;\n delegate:\n | {\n setImmediate: SetImmediateFunction;\n clearImmediate: ClearImmediateFunction;\n }\n | undefined;\n}\n\nexport const immediateProvider: ImmediateProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setImmediate(...args) {\n const { delegate } = immediateProvider;\n return (delegate?.setImmediate || setImmediate)(...args);\n },\n clearImmediate(handle) {\n const { delegate } = immediateProvider;\n return (delegate?.clearImmediate || clearImmediate)(handle as any);\n },\n delegate: undefined,\n};\n","import { AsyncAction } from './AsyncAction';\nimport { AsapScheduler } from './AsapScheduler';\nimport { SchedulerAction } from '../types';\nimport { immediateProvider } from './immediateProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsapAction<T> extends AsyncAction<T> {\n constructor(protected scheduler: AsapScheduler, protected work: (this: SchedulerAction<T>, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If a microtask has already been scheduled, don't schedule another\n // one. If a microtask hasn't been scheduled yet, schedule one now. Return\n // the current scheduled microtask id.\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n }\n\n protected recycleAsyncId(scheduler: AsapScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested microtask and set the scheduled flag to undefined\n // so the next AsapAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n immediateProvider.clearImmediate(id);\n if (scheduler._scheduled === id) {\n scheduler._scheduled = undefined;\n }\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AsapScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction<any>): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\n\n/**\n *\n * Asap Scheduler\n *\n * <span class=\"informal\">Perform task as fast as it can be performed asynchronously</span>\n *\n * `asap` scheduler behaves the same as {@link asyncScheduler} scheduler when you use it to delay task\n * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing\n * code to end and then it will try to execute given task as fast as possible.\n *\n * `asap` scheduler will do its best to minimize time between end of currently executing code\n * and start of scheduled task. This makes it best candidate for performing so called \"deferring\".\n * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves\n * some (although minimal) unwanted delay.\n *\n * Note that using `asap` scheduler does not necessarily mean that your task will be first to process\n * after currently executing code. In particular, if some task was also scheduled with `asap` before,\n * that task will execute first. That being said, if you need to schedule task asynchronously, but\n * as soon as possible, `asap` scheduler is your best bet.\n *\n * ## Example\n * Compare async and asap scheduler<\n * ```ts\n * import { asapScheduler, asyncScheduler } from 'rxjs';\n *\n * asyncScheduler.schedule(() => console.log('async')); // scheduling 'async' first...\n * asapScheduler.schedule(() => console.log('asap'));\n *\n * // Logs:\n * // \"asap\"\n * // \"async\"\n * // ... but 'asap' goes first!\n * ```\n */\n\nexport const asapScheduler = new AsapScheduler(AsapAction);\n\n/**\n * @deprecated Renamed to {@link asapScheduler}. Will be removed in v8.\n */\nexport const asap = asapScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction<T> extends AsyncAction<T> {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction<T>, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * <span class=\"informal\">Put every next task on a queue, instead of executing it immediately</span>\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction<T> extends AsyncAction<T> {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction<T>, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && id === scheduler._scheduled && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction<any>): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n let flushId;\n if (action) {\n flushId = action.id;\n } else {\n flushId = this._scheduled;\n this._scheduled = undefined;\n }\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * <span class=\"informal\">Perform task when `window.requestAnimationFrame` would fire</span>\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html: <div style=\"background: #0ff;\"></div>\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class VirtualTimeScheduler extends AsyncScheduler {\n /** @deprecated Not used in VirtualTimeScheduler directly. Will be removed in v8. */\n static frameTimeFactor = 10;\n\n /**\n * The current frame for the state of the virtual scheduler instance. The difference\n * between two \"frames\" is synonymous with the passage of \"virtual time units\". So if\n * you record `scheduler.frame` to be `1`, then later, observe `scheduler.frame` to be at `11`,\n * that means `10` virtual time units have passed.\n */\n public frame: number = 0;\n\n /**\n * Used internally to examine the current virtual action index being processed.\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n public index: number = -1;\n\n /**\n * This creates an instance of a `VirtualTimeScheduler`. Experts only. The signature of\n * this constructor is likely to change in the long run.\n *\n * @param schedulerActionCtor The type of Action to initialize when initializing actions during scheduling.\n * @param maxFrames The maximum number of frames to process before stopping. Used to prevent endless flush cycles.\n */\n constructor(schedulerActionCtor: typeof AsyncAction = VirtualAction as any, public maxFrames: number = Infinity) {\n super(schedulerActionCtor, () => this.frame);\n }\n\n /**\n * Prompt the Scheduler to execute all of its queued actions, therefore\n * clearing its queue.\n */\n public flush(): void {\n const { actions, maxFrames } = this;\n let error: any;\n let action: AsyncAction<any> | undefined;\n\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n }\n\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n\nexport class VirtualAction<T> extends AsyncAction<T> {\n protected active: boolean = true;\n\n constructor(\n protected scheduler: VirtualTimeScheduler,\n protected work: (this: SchedulerAction<T>, state?: T) => void,\n protected index: number = (scheduler.index += 1)\n ) {\n super(scheduler, work);\n this.index = scheduler.index = index;\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (Number.isFinite(delay)) {\n if (!this.id) {\n return super.schedule(state, delay);\n }\n this.active = false;\n // If an action is rescheduled, we save allocations by mutating its state,\n // pushing it to the end of the scheduler queue, and recycling the action.\n // But since the VirtualTimeScheduler is used for testing, VirtualActions\n // must be immutable so they can be inspected later.\n const action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n } else {\n // If someone schedules something with Infinity, it'll never happen. So we\n // don't even schedule it.\n return Subscription.EMPTY;\n }\n }\n\n protected requestAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle {\n this.delay = scheduler.frame + delay;\n const { actions } = scheduler;\n actions.push(this);\n (actions as Array<VirtualAction<T>>).sort(VirtualAction.sortActions);\n return 1;\n }\n\n protected recycleAsyncId(scheduler: VirtualTimeScheduler, id?: any, delay: number = 0): TimerHandle | undefined {\n return undefined;\n }\n\n protected _execute(state: T, delay: number): any {\n if (this.active === true) {\n return super._execute(state, delay);\n }\n }\n\n private static sortActions<T>(a: VirtualAction<T>, b: VirtualAction<T>) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n } else if (a.index > b.index) {\n return 1;\n } else {\n return -1;\n }\n } else if (a.delay > b.delay) {\n return 1;\n } else {\n return -1;\n }\n }\n}\n","/** prettier */\nimport { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\n\n/**\n * Tests to see if the object is an RxJS {@link Observable}\n * @param obj the object to test\n */\nexport function isObservable(obj: any): obj is Observable<unknown> {\n // The !! is to ensure that this publicly exposed function returns\n // `false` if something like `null` or `0` is passed.\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n","import { Observable } from './Observable';\nimport { EmptyError } from './util/EmptyError';\n\nexport interface LastValueFromConfig<T> {\n defaultValue: T;\n}\n\nexport function lastValueFrom<T, D>(source: Observable<T>, config: LastValueFromConfig<D>): Promise<T | D>;\nexport function lastValueFrom<T>(source: Observable<T>): Promise<T>;\n\n/**\n * Converts an observable to a promise by subscribing to the observable,\n * waiting for it to complete, and resolving the returned promise with the\n * last value from the observed stream.\n *\n * If the observable stream completes before any values were emitted, the\n * returned promise will reject with {@link EmptyError} or will resolve\n * with the default value if a default was specified.\n *\n * If the observable stream emits an error, the returned promise will reject\n * with that error.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * ## Example\n *\n * Wait for the last value from a stream and emit it from a promise in\n * an async function\n *\n * ```ts\n * import { interval, take, lastValueFrom } from 'rxjs';\n *\n * async function execute() {\n * const source$ = interval(2000).pipe(take(10));\n * const finalNumber = await lastValueFrom(source$);\n * console.log(`The final number is ${ finalNumber }`);\n * }\n *\n * execute();\n *\n * // Expected output:\n * // 'The final number is 9'\n * ```\n *\n * @see {@link firstValueFrom}\n *\n * @param source the observable to convert to a promise\n * @param config a configuration object to define the `defaultValue` to use if the source completes without emitting a value\n */\nexport function lastValueFrom<T, D>(source: Observable<T>, config?: LastValueFromConfig<D>): Promise<T | D> {\n const hasConfig = typeof config === 'object';\n return new Promise<T | D>((resolve, reject) => {\n let _hasValue = false;\n let _value: T;\n source.subscribe({\n next: (value) => {\n _value = value;\n _hasValue = true;\n },\n error: reject,\n complete: () => {\n if (_hasValue) {\n resolve(_value);\n } else if (hasConfig) {\n resolve(config!.defaultValue);\n } else {\n reject(new EmptyError());\n }\n },\n });\n });\n}\n","import { Observable } from './Observable';\nimport { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\n\nexport interface FirstValueFromConfig<T> {\n defaultValue: T;\n}\n\nexport function firstValueFrom<T, D>(source: Observable<T>, config: FirstValueFromConfig<D>): Promise<T | D>;\nexport function firstValueFrom<T>(source: Observable<T>): Promise<T>;\n\n/**\n * Converts an observable to a promise by subscribing to the observable,\n * and returning a promise that will resolve as soon as the first value\n * arrives from the observable. The subscription will then be closed.\n *\n * If the observable stream completes before any values were emitted, the\n * returned promise will reject with {@link EmptyError} or will resolve\n * with the default value if a default was specified.\n *\n * If the observable stream emits an error, the returned promise will reject\n * with that error.\n *\n * **WARNING**: Only use this with observables you *know* will emit at least one value,\n * *OR* complete. If the source observable does not emit one value or complete, you will\n * end up with a promise that is hung up, and potentially all of the state of an\n * async function hanging out in memory. To avoid this situation, look into adding\n * something like {@link timeout}, {@link take}, {@link takeWhile}, or {@link takeUntil}\n * amongst others.\n *\n * ## Example\n *\n * Wait for the first value from a stream and emit it from a promise in\n * an async function\n *\n * ```ts\n * import { interval, firstValueFrom } from 'rxjs';\n *\n * async function execute() {\n * const source$ = interval(2000);\n * const firstNumber = await firstValueFrom(source$);\n * console.log(`The first number is ${ firstNumber }`);\n * }\n *\n * execute();\n *\n * // Expected output:\n * // 'The first number is 0'\n * ```\n *\n * @see {@link lastValueFrom}\n *\n * @param source the observable to convert to a promise\n * @param config a configuration object to define the `defaultValue` to use if the source completes without emitting a value\n */\nexport function firstValueFrom<T, D>(source: Observable<T>, config?: FirstValueFromConfig<D>): Promise<T | D> {\n const hasConfig = typeof config === 'object';\n return new Promise<T | D>((resolve, reject) => {\n const subscriber = new SafeSubscriber<T>({\n next: (value) => {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: () => {\n if (hasConfig) {\n resolve(config!.defaultValue);\n } else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n","import { SchedulerLike } from '../types';\nimport { isScheduler } from '../util/isScheduler';\nimport { Observable } from '../Observable';\nimport { subscribeOn } from '../operators/subscribeOn';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { observeOn } from '../operators/observeOn';\nimport { AsyncSubject } from '../AsyncSubject';\n\nexport function bindCallbackInternals(\n isNodeStyle: boolean,\n callbackFunc: any,\n resultSelector?: any,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<unknown> {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n } else {\n // The user provided a result selector.\n return function (this: any, ...args: any[]) {\n return (bindCallbackInternals(isNodeStyle, callbackFunc, scheduler) as any)\n .apply(this, args)\n .pipe(mapOneOrManyArgs(resultSelector as any));\n };\n }\n }\n\n // If a scheduler was passed, use our `subscribeOn` and `observeOn` operators\n // to compose that behavior for the user.\n if (scheduler) {\n return function (this: any, ...args: any[]) {\n return (bindCallbackInternals(isNodeStyle, callbackFunc) as any)\n .apply(this, args)\n .pipe(subscribeOn(scheduler!), observeOn(scheduler!));\n };\n }\n\n return function (this: any, ...args: any[]): Observable<any> {\n // We're using AsyncSubject, because it emits when it completes,\n // and it will play the value to all late-arriving subscribers.\n const subject = new AsyncSubject<any>();\n\n // If this is true, then we haven't called our function yet.\n let uninitialized = true;\n return new Observable((subscriber) => {\n // Add our subscriber to the subject.\n const subs = subject.subscribe(subscriber);\n\n if (uninitialized) {\n uninitialized = false;\n // We're going to execute the bound function\n // This bit is to signal that we are hitting the callback asynchronously.\n // Because we don't have any anti-\"Zalgo\" guarantees with whatever\n // function we are handed, we use this bit to figure out whether or not\n // we are getting hit in a callback synchronously during our call.\n let isAsync = false;\n\n // This is used to signal that the callback completed synchronously.\n let isComplete = false;\n\n // Call our function that has a callback. If at any time during this\n // call, an error is thrown, it will be caught by the Observable\n // subscription process and sent to the consumer.\n callbackFunc.apply(\n // Pass the appropriate `this` context.\n this,\n [\n // Pass the arguments.\n ...args,\n // And our callback handler.\n (...results: any[]) => {\n if (isNodeStyle) {\n // If this is a node callback, shift the first value off of the\n // results and check it, as it is the error argument. By shifting,\n // we leave only the argument(s) we want to pass to the consumer.\n const err = results.shift();\n if (err != null) {\n subject.error(err);\n // If we've errored, we can stop processing this function\n // as there's nothing else to do. Just return to escape.\n return;\n }\n }\n // If we have one argument, notify the consumer\n // of it as a single value, otherwise, if there's more than one, pass\n // them as an array. Note that if there are no arguments, `undefined`\n // will be emitted.\n subject.next(1 < results.length ? results : results[0]);\n // Flip this flag, so we know we can complete it in the synchronous\n // case below.\n isComplete = true;\n // If we're not asynchronous, we need to defer the `complete` call\n // until after the call to the function is over. This is because an\n // error could be thrown in the function after it calls our callback,\n // and if that is the case, if we complete here, we are unable to notify\n // the consumer than an error occurred.\n if (isAsync) {\n subject.complete();\n }\n },\n ]\n );\n // If we flipped `isComplete` during the call, we resolved synchronously,\n // notify complete, because we skipped it in the callback to wait\n // to make sure there were no errors during the call.\n if (isComplete) {\n subject.complete();\n }\n\n // We're no longer synchronous. If the callback is called at this point\n // we can notify complete on the spot.\n isAsync = true;\n }\n\n // Return the subscription from adding our subscriber to the subject.\n return subs;\n });\n };\n}\n","/* @prettier */\nimport { SchedulerLike } from '../types';\nimport { Observable } from '../Observable';\nimport { bindCallbackInternals } from './bindCallbackInternals';\n\nexport function bindCallback(\n callbackFunc: (...args: any[]) => void,\n resultSelector: (...args: any[]) => any,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<any>;\n\n// args is the arguments array and we push the callback on the rest tuple since the rest parameter must be last (only item) in a parameter list\nexport function bindCallback<A extends readonly unknown[], R extends readonly unknown[]>(\n callbackFunc: (...args: [...A, (...res: R) => void]) => void,\n schedulerLike?: SchedulerLike\n): (...arg: A) => Observable<R extends [] ? void : R extends [any] ? R[0] : R>;\n\n/**\n * Converts a callback API to a function that returns an Observable.\n *\n * <span class=\"informal\">Give it a function `f` of type `f(x, callback)` and\n * it will return a function `g` that when called as `g(x)` will output an\n * Observable.</span>\n *\n * `bindCallback` is not an operator because its input and output are not\n * Observables. The input is a function `func` with some parameters. The\n * last parameter must be a callback function that `func` calls when it is\n * done.\n *\n * The output of `bindCallback` is a function that takes the same parameters\n * as `func`, except the last one (the callback). When the output function\n * is called with arguments it will return an Observable. If function `func`\n * calls its callback with one argument, the Observable will emit that value.\n * If on the other hand the callback is called with multiple values the resulting\n * Observable will emit an array with said values as arguments.\n *\n * It is **very important** to remember that input function `func` is not called\n * when the output function is, but rather when the Observable returned by the output\n * function is subscribed. This means if `func` makes an AJAX request, that request\n * will be made every time someone subscribes to the resulting Observable, but not before.\n *\n * The last optional parameter - `scheduler` - can be used to control when the call\n * to `func` happens after someone subscribes to Observable, as well as when results\n * passed to callback will be emitted. By default, the subscription to an Observable calls `func`\n * synchronously, but using {@link asyncScheduler} as the last parameter will defer the call to `func`,\n * just like wrapping the call in `setTimeout` with a timeout of `0` would. If you were to use the async Scheduler\n * and call `subscribe` on the output Observable, all function calls that are currently executing\n * will end before `func` is invoked.\n *\n * By default, results passed to the callback are emitted immediately after `func` invokes the callback.\n * In particular, if the callback is called synchronously, then the subscription of the resulting Observable\n * will call the `next` function synchronously as well. If you want to defer that call,\n * you may use {@link asyncScheduler} just as before. This means that by using `Scheduler.async` you can\n * ensure that `func` always calls its callback asynchronously, thus avoiding terrifying Zalgo.\n *\n * Note that the Observable created by the output function will always emit a single value\n * and then complete immediately. If `func` calls the callback multiple times, values from subsequent\n * calls will not appear in the stream. If you need to listen for multiple calls,\n * you probably want to use {@link fromEvent} or {@link fromEventPattern} instead.\n *\n * If `func` depends on some context (`this` property) and is not already bound, the context of `func`\n * will be the context that the output function has at call time. In particular, if `func`\n * is called as a method of some object and if `func` is not already bound, in order to preserve the context\n * it is recommended that the context of the output function is set to that object as well.\n *\n * If the input function calls its callback in the \"node style\" (i.e. first argument to callback is\n * optional error parameter signaling whether the call failed or not), {@link bindNodeCallback}\n * provides convenient error handling and probably is a better choice.\n * `bindCallback` will treat such functions the same as any other and error parameters\n * (whether passed or not) will always be interpreted as regular callback argument.\n *\n * ## Examples\n *\n * Convert jQuery's getJSON to an Observable API\n *\n * ```ts\n * import { bindCallback } from 'rxjs';\n * import * as jQuery from 'jquery';\n *\n * // Suppose we have jQuery.getJSON('/my/url', callback)\n * const getJSONAsObservable = bindCallback(jQuery.getJSON);\n * const result = getJSONAsObservable('/my/url');\n * result.subscribe(x => console.log(x), e => console.error(e));\n * ```\n *\n * Receive an array of arguments passed to a callback\n *\n * ```ts\n * import { bindCallback } from 'rxjs';\n *\n * const someFunction = (n, s, cb) => {\n * cb(n, s, { someProperty: 'someValue' });\n * };\n *\n * const boundSomeFunction = bindCallback(someFunction);\n * boundSomeFunction(5, 'some string').subscribe((values) => {\n * console.log(values); // [5, 'some string', {someProperty: 'someValue'}]\n * });\n * ```\n *\n * Compare behaviour with and without `asyncScheduler`\n *\n * ```ts\n * import { bindCallback, asyncScheduler } from 'rxjs';\n *\n * function iCallMyCallbackSynchronously(cb) {\n * cb();\n * }\n *\n * const boundSyncFn = bindCallback(iCallMyCallbackSynchronously);\n * const boundAsyncFn = bindCallback(iCallMyCallbackSynchronously, null, asyncScheduler);\n *\n * boundSyncFn().subscribe(() => console.log('I was sync!'));\n * boundAsyncFn().subscribe(() => console.log('I was async!'));\n * console.log('This happened...');\n *\n * // Logs:\n * // I was sync!\n * // This happened...\n * // I was async!\n * ```\n *\n * Use `bindCallback` on an object method\n *\n * ```ts\n * import { bindCallback } from 'rxjs';\n *\n * const boundMethod = bindCallback(someObject.methodWithCallback);\n * boundMethod\n * .call(someObject) // make sure methodWithCallback has access to someObject\n * .subscribe(subscriber);\n * ```\n *\n * @see {@link bindNodeCallback}\n * @see {@link from}\n *\n * @param callbackFunc A function with a callback as the last parameter.\n * @param resultSelector A mapping function used to transform callback events.\n * @param scheduler The scheduler on which to schedule the callbacks.\n * @return A function which returns the Observable that delivers the same\n * values the callback would deliver.\n */\nexport function bindCallback(\n callbackFunc: (...args: [...any[], (...res: any) => void]) => void,\n resultSelector?: ((...args: any[]) => any) | SchedulerLike,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<unknown> {\n return bindCallbackInternals(false, callbackFunc, resultSelector, scheduler);\n}\n","/* @prettier */\nimport { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\nimport { bindCallbackInternals } from './bindCallbackInternals';\n\nexport function bindNodeCallback(\n callbackFunc: (...args: any[]) => void,\n resultSelector: (...args: any[]) => any,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<any>;\n\n// args is the arguments array and we push the callback on the rest tuple since the rest parameter must be last (only item) in a parameter list\nexport function bindNodeCallback<A extends readonly unknown[], R extends readonly unknown[]>(\n callbackFunc: (...args: [...A, (err: any, ...res: R) => void]) => void,\n schedulerLike?: SchedulerLike\n): (...arg: A) => Observable<R extends [] ? void : R extends [any] ? R[0] : R>;\n\n/**\n * Converts a Node.js-style callback API to a function that returns an\n * Observable.\n *\n * <span class=\"informal\">It's just like {@link bindCallback}, but the\n * callback is expected to be of type `callback(error, result)`.</span>\n *\n * `bindNodeCallback` is not an operator because its input and output are not\n * Observables. The input is a function `func` with some parameters, but the\n * last parameter must be a callback function that `func` calls when it is\n * done. The callback function is expected to follow Node.js conventions,\n * where the first argument to the callback is an error object, signaling\n * whether call was successful. If that object is passed to callback, it means\n * something went wrong.\n *\n * The output of `bindNodeCallback` is a function that takes the same\n * parameters as `func`, except the last one (the callback). When the output\n * function is called with arguments, it will return an Observable.\n * If `func` calls its callback with error parameter present, Observable will\n * error with that value as well. If error parameter is not passed, Observable will emit\n * second parameter. If there are more parameters (third and so on),\n * Observable will emit an array with all arguments, except first error argument.\n *\n * Note that `func` will not be called at the same time output function is,\n * but rather whenever resulting Observable is subscribed. By default call to\n * `func` will happen synchronously after subscription, but that can be changed\n * with proper `scheduler` provided as optional third parameter. {@link SchedulerLike}\n * can also control when values from callback will be emitted by Observable.\n * To find out more, check out documentation for {@link bindCallback}, where\n * {@link SchedulerLike} works exactly the same.\n *\n * As in {@link bindCallback}, context (`this` property) of input function will be set to context\n * of returned function, when it is called.\n *\n * After Observable emits value, it will complete immediately. This means\n * even if `func` calls callback again, values from second and consecutive\n * calls will never appear on the stream. If you need to handle functions\n * that call callbacks multiple times, check out {@link fromEvent} or\n * {@link fromEventPattern} instead.\n *\n * Note that `bindNodeCallback` can be used in non-Node.js environments as well.\n * \"Node.js-style\" callbacks are just a convention, so if you write for\n * browsers or any other environment and API you use implements that callback style,\n * `bindNodeCallback` can be safely used on that API functions as well.\n *\n * Remember that Error object passed to callback does not have to be an instance\n * of JavaScript built-in `Error` object. In fact, it does not even have to an object.\n * Error parameter of callback function is interpreted as \"present\", when value\n * of that parameter is truthy. It could be, for example, non-zero number, non-empty\n * string or boolean `true`. In all of these cases resulting Observable would error\n * with that value. This means usually regular style callbacks will fail very often when\n * `bindNodeCallback` is used. If your Observable errors much more often then you\n * would expect, check if callback really is called in Node.js-style and, if not,\n * switch to {@link bindCallback} instead.\n *\n * Note that even if error parameter is technically present in callback, but its value\n * is falsy, it still won't appear in array emitted by Observable.\n *\n * ## Examples\n *\n * Read a file from the filesystem and get the data as an Observable\n *\n * ```ts\n * import * as fs from 'fs';\n * const readFileAsObservable = bindNodeCallback(fs.readFile);\n * const result = readFileAsObservable('./roadNames.txt', 'utf8');\n * result.subscribe(x => console.log(x), e => console.error(e));\n * ```\n *\n * Use on function calling callback with multiple arguments\n *\n * ```ts\n * someFunction((err, a, b) => {\n * console.log(err); // null\n * console.log(a); // 5\n * console.log(b); // \"some string\"\n * });\n * const boundSomeFunction = bindNodeCallback(someFunction);\n * boundSomeFunction()\n * .subscribe(value => {\n * console.log(value); // [5, \"some string\"]\n * });\n * ```\n *\n * Use on function calling callback in regular style\n *\n * ```ts\n * someFunction(a => {\n * console.log(a); // 5\n * });\n * const boundSomeFunction = bindNodeCallback(someFunction);\n * boundSomeFunction()\n * .subscribe(\n * value => {} // never gets called\n * err => console.log(err) // 5\n * );\n * ```\n *\n * @see {@link bindCallback}\n * @see {@link from}\n *\n * @param callbackFunc Function with a Node.js-style callback as the last parameter.\n * @param resultSelector A mapping function used to transform callback events.\n * @param scheduler The scheduler on which to schedule the callbacks.\n * @return A function which returns the Observable that delivers the same values the\n * Node.js callback would deliver.\n */\nexport function bindNodeCallback(\n callbackFunc: (...args: [...any[], (err: any, ...res: any) => void]) => void,\n resultSelector?: ((...args: any[]) => any) | SchedulerLike,\n scheduler?: SchedulerLike\n): (...args: any[]) => Observable<any> {\n return bindCallbackInternals(true, callbackFunc, resultSelector, scheduler);\n}\n","import { Observable } from '../Observable';\nimport { ObservedValueOf, ObservableInput } from '../types';\nimport { innerFrom } from './innerFrom';\n\n/**\n * Creates an Observable that, on subscribe, calls an Observable factory to\n * make an Observable for each new Observer.\n *\n * <span class=\"informal\">Creates the Observable lazily, that is, only when it\n * is subscribed.\n * </span>\n *\n * \n *\n * `defer` allows you to create an Observable only when the Observer\n * subscribes. It waits until an Observer subscribes to it, calls the given\n * factory function to get an Observable -- where a factory function typically\n * generates a new Observable -- and subscribes the Observer to this Observable.\n * In case the factory function returns a falsy value, then EMPTY is used as\n * Observable instead. Last but not least, an exception during the factory\n * function call is transferred to the Observer by calling `error`.\n *\n * ## Example\n *\n * Subscribe to either an Observable of clicks or an Observable of interval, at random\n *\n * ```ts\n * import { defer, fromEvent, interval } from 'rxjs';\n *\n * const clicksOrInterval = defer(() => {\n * return Math.random() > 0.5\n * ? fromEvent(document, 'click')\n * : interval(1000);\n * });\n * clicksOrInterval.subscribe(x => console.log(x));\n *\n * // Results in the following behavior:\n * // If the result of Math.random() is greater than 0.5 it will listen\n * // for clicks anywhere on the \"document\"; when document is clicked it\n * // will log a MouseEvent object to the console. If the result is less\n * // than 0.5 it will emit ascending numbers, one every second(1000ms).\n * ```\n *\n * @see {@link Observable}\n *\n * @param observableFactory The Observable factory function to invoke for each\n * Observer that subscribes to the output Observable. May also return any\n * `ObservableInput`, which will be converted on the fly to an Observable.\n * @return An Observable whose Observers' subscriptions trigger an invocation of the\n * given Observable factory function.\n */\nexport function defer<R extends ObservableInput<any>>(observableFactory: () => R): Observable<ObservedValueOf<R>> {\n return new Observable<ObservedValueOf<R>>((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n","import { Connectable, ObservableInput, SubjectLike } from '../types';\nimport { Subject } from '../Subject';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { defer } from './defer';\n\nexport interface ConnectableConfig<T> {\n /**\n * A factory function used to create the Subject through which the source\n * is multicast. By default this creates a {@link Subject}.\n */\n connector: () => SubjectLike<T>;\n /**\n * If true, the resulting observable will reset internal state upon disconnection\n * and return to a \"cold\" state. This allows the resulting observable to be\n * reconnected.\n * If false, upon disconnection, the connecting subject will remain the\n * connecting subject, meaning the resulting observable will not go \"cold\" again,\n * and subsequent repeats or resubscriptions will resubscribe to that same subject.\n */\n resetOnDisconnect?: boolean;\n}\n\n/**\n * The default configuration for `connectable`.\n */\nconst DEFAULT_CONFIG: ConnectableConfig<unknown> = {\n connector: () => new Subject<unknown>(),\n resetOnDisconnect: true,\n};\n\n/**\n * Creates an observable that multicasts once `connect()` is called on it.\n *\n * @param source The observable source to make connectable.\n * @param config The configuration object for `connectable`.\n * @returns A \"connectable\" observable, that has a `connect()` method, that you must call to\n * connect the source to all consumers through the subject provided as the connector.\n */\nexport function connectable<T>(source: ObservableInput<T>, config: ConnectableConfig<T> = DEFAULT_CONFIG): Connectable<T> {\n // The subscription representing the connection.\n let connection: Subscription | null = null;\n const { connector, resetOnDisconnect = true } = config;\n let subject = connector();\n\n const result: any = new Observable<T>((subscriber) => {\n return subject.subscribe(subscriber);\n });\n\n // Define the `connect` function. This is what users must call\n // in order to \"connect\" the source to the subject that is\n // multicasting it.\n result.connect = () => {\n if (!connection || connection.closed) {\n connection = defer(() => source).subscribe(subject);\n if (resetOnDisconnect) {\n connection.add(() => (subject = connector()));\n }\n }\n return connection;\n };\n\n return result;\n}\n","import { Observable } from '../Observable';\nimport { ObservedValueOf, ObservableInputTuple, ObservableInput } from '../types';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nimport { AnyCatcher } from '../AnyCatcher';\n\n// forkJoin(any)\n// We put this first because we need to catch cases where the user has supplied\n// _exactly `any`_ as the argument. Since `any` literally matches _anything_,\n// we don't want it to randomly hit one of the other type signatures below,\n// as we have no idea at build-time what type we should be returning when given an any.\n\n/**\n * You have passed `any` here, we can't figure out if it is\n * an array or an object, so you're getting `unknown`. Use better types.\n * @param arg Something typed as `any`\n */\nexport function forkJoin<T extends AnyCatcher>(arg: T): Observable<unknown>;\n\n// forkJoin(null | undefined)\nexport function forkJoin(scheduler: null | undefined): Observable<never>;\n\n// forkJoin([a, b, c])\nexport function forkJoin(sources: readonly []): Observable<never>;\nexport function forkJoin<A extends readonly unknown[]>(sources: readonly [...ObservableInputTuple<A>]): Observable<A>;\nexport function forkJoin<A extends readonly unknown[], R>(\n sources: readonly [...ObservableInputTuple<A>],\n resultSelector: (...values: A) => R\n): Observable<R>;\n\n// forkJoin(a, b, c)\n/** @deprecated Pass an array of sources instead. The rest-parameters signature will be removed in v8. Details: https://rxjs.dev/deprecations/array-argument */\nexport function forkJoin<A extends readonly unknown[]>(...sources: [...ObservableInputTuple<A>]): Observable<A>;\n/** @deprecated Pass an array of sources instead. The rest-parameters signature will be removed in v8. Details: https://rxjs.dev/deprecations/array-argument */\nexport function forkJoin<A extends readonly unknown[], R>(\n ...sourcesAndResultSelector: [...ObservableInputTuple<A>, (...values: A) => R]\n): Observable<R>;\n\n// forkJoin({a, b, c})\nexport function forkJoin(sourcesObject: { [K in any]: never }): Observable<never>;\nexport function forkJoin<T extends Record<string, ObservableInput<any>>>(\n sourcesObject: T\n): Observable<{ [K in keyof T]: ObservedValueOf<T[K]> }>;\n\n/**\n * Accepts an `Array` of {@link ObservableInput} or a dictionary `Object` of {@link ObservableInput} and returns\n * an {@link Observable} that emits either an array of values in the exact same order as the passed array,\n * or a dictionary of values in the same shape as the passed dictionary.\n *\n * <span class=\"informal\">Wait for Observables to complete and then combine last values they emitted;\n * complete immediately if an empty array is passed.</span>\n *\n * \n *\n * `forkJoin` is an operator that takes any number of input observables which can be passed either as an array\n * or a dictionary of input observables. If no input observables are provided (e.g. an empty array is passed),\n * then the resulting stream will complete immediately.\n *\n * `forkJoin` will wait for all passed observables to emit and complete and then it will emit an array or an object with last\n * values from corresponding observables.\n *\n * If you pass an array of `n` observables to the operator, then the resulting\n * array will have `n` values, where the first value is the last one emitted by the first observable,\n * second value is the last one emitted by the second observable and so on.\n *\n * If you pass a dictionary of observables to the operator, then the resulting\n * objects will have the same keys as the dictionary passed, with their last values they have emitted\n * located at the corresponding key.\n *\n * That means `forkJoin` will not emit more than once and it will complete after that. If you need to emit combined\n * values not only at the end of the lifecycle of passed observables, but also throughout it, try out {@link combineLatest}\n * or {@link zip} instead.\n *\n * In order for the resulting array to have the same length as the number of input observables, whenever any of\n * the given observables completes without emitting any value, `forkJoin` will complete at that moment as well\n * and it will not emit anything either, even if it already has some last values from other observables.\n * Conversely, if there is an observable that never completes, `forkJoin` will never complete either,\n * unless at any point some other observable completes without emitting a value, which brings us back to\n * the previous case. Overall, in order for `forkJoin` to emit a value, all given observables\n * have to emit something at least once and complete.\n *\n * If any given observable errors at some point, `forkJoin` will error as well and immediately unsubscribe\n * from the other observables.\n *\n * Optionally `forkJoin` accepts a `resultSelector` function, that will be called with values which normally\n * would land in the emitted array. Whatever is returned by the `resultSelector`, will appear in the output\n * observable instead. This means that the default `resultSelector` can be thought of as a function that takes\n * all its arguments and puts them into an array. Note that the `resultSelector` will be called only\n * when `forkJoin` is supposed to emit a result.\n *\n * ## Examples\n *\n * Use `forkJoin` with a dictionary of observable inputs\n *\n * ```ts\n * import { forkJoin, of, timer } from 'rxjs';\n *\n * const observable = forkJoin({\n * foo: of(1, 2, 3, 4),\n * bar: Promise.resolve(8),\n * baz: timer(4000)\n * });\n * observable.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('This is how it ends!'),\n * });\n *\n * // Logs:\n * // { foo: 4, bar: 8, baz: 0 } after 4 seconds\n * // 'This is how it ends!' immediately after\n * ```\n *\n * Use `forkJoin` with an array of observable inputs\n *\n * ```ts\n * import { forkJoin, of, timer } from 'rxjs';\n *\n * const observable = forkJoin([\n * of(1, 2, 3, 4),\n * Promise.resolve(8),\n * timer(4000)\n * ]);\n * observable.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('This is how it ends!'),\n * });\n *\n * // Logs:\n * // [4, 8, 0] after 4 seconds\n * // 'This is how it ends!' immediately after\n * ```\n *\n * @see {@link combineLatest}\n * @see {@link zip}\n *\n * @param args Any number of `ObservableInput`s provided either as an array, as an object\n * or as arguments passed directly to the operator.\n * @return Observable emitting either an array of last values emitted by passed Observables\n * or value from project function.\n */\nexport function forkJoin(...args: any[]): Observable<any> {\n const resultSelector = popResultSelector(args);\n const { args: sources, keys } = argsArgArrayOrObject(args);\n const result = new Observable((subscriber) => {\n const { length } = sources;\n if (!length) {\n subscriber.complete();\n return;\n }\n const values = new Array(length);\n let remainingCompletions = length;\n let remainingEmissions = length;\n for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n let hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(\n createOperatorSubscriber(\n subscriber,\n (value) => {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n },\n () => remainingCompletions--,\n undefined,\n () => {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }\n )\n );\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\n\n// These constants are used to create handler registry functions using array mapping below.\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'] as const;\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'] as const;\nconst jqueryMethods = ['on', 'off'] as const;\n\nexport interface NodeStyleEventEmitter {\n addListener(eventName: string | symbol, handler: NodeEventHandler): this;\n removeListener(eventName: string | symbol, handler: NodeEventHandler): this;\n}\n\nexport type NodeEventHandler = (...args: any[]) => void;\n\n// For APIs that implement `addListener` and `removeListener` methods that may\n// not use the same arguments or return EventEmitter values\n// such as React Native\nexport interface NodeCompatibleEventEmitter {\n addListener(eventName: string, handler: NodeEventHandler): void | {};\n removeListener(eventName: string, handler: NodeEventHandler): void | {};\n}\n\n// Use handler types like those in @types/jquery. See:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/847731ba1d7fa6db6b911c0e43aa0afe596e7723/types/jquery/misc.d.ts#L6395\nexport interface JQueryStyleEventEmitter<TContext, T> {\n on(eventName: string, handler: (this: TContext, t: T, ...args: any[]) => any): void;\n off(eventName: string, handler: (this: TContext, t: T, ...args: any[]) => any): void;\n}\n\nexport interface EventListenerObject<E> {\n handleEvent(evt: E): void;\n}\n\nexport interface HasEventTargetAddRemove<E> {\n addEventListener(\n type: string,\n listener: ((evt: E) => void) | EventListenerObject<E> | null,\n options?: boolean | AddEventListenerOptions\n ): void;\n removeEventListener(\n type: string,\n listener: ((evt: E) => void) | EventListenerObject<E> | null,\n options?: EventListenerOptions | boolean\n ): void;\n}\n\nexport interface EventListenerOptions {\n capture?: boolean;\n passive?: boolean;\n once?: boolean;\n}\n\nexport interface AddEventListenerOptions extends EventListenerOptions {\n once?: boolean;\n passive?: boolean;\n}\n\nexport function fromEvent<T>(target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>, eventName: string): Observable<T>;\nexport function fromEvent<T, R>(\n target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>,\n eventName: string,\n resultSelector: (event: T) => R\n): Observable<R>;\nexport function fromEvent<T>(\n target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>,\n eventName: string,\n options: EventListenerOptions\n): Observable<T>;\nexport function fromEvent<T, R>(\n target: HasEventTargetAddRemove<T> | ArrayLike<HasEventTargetAddRemove<T>>,\n eventName: string,\n options: EventListenerOptions,\n resultSelector: (event: T) => R\n): Observable<R>;\n\nexport function fromEvent(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string): Observable<unknown>;\n/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */\nexport function fromEvent<T>(target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>, eventName: string): Observable<T>;\nexport function fromEvent<R>(\n target: NodeStyleEventEmitter | ArrayLike<NodeStyleEventEmitter>,\n eventName: string,\n resultSelector: (...args: any[]) => R\n): Observable<R>;\n\nexport function fromEvent(\n target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>,\n eventName: string\n): Observable<unknown>;\n/** @deprecated Do not specify explicit type parameters. Signatures with type parameters that cannot be inferred will be removed in v8. */\nexport function fromEvent<T>(target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>, eventName: string): Observable<T>;\nexport function fromEvent<R>(\n target: NodeCompatibleEventEmitter | ArrayLike<NodeCompatibleEventEmitter>,\n eventName: string,\n resultSelector: (...args: any[]) => R\n): Observable<R>;\n\nexport function fromEvent<T>(\n target: JQueryStyleEventEmitter<any, T> | ArrayLike<JQueryStyleEventEmitter<any, T>>,\n eventName: string\n): Observable<T>;\nexport function fromEvent<T, R>(\n target: JQueryStyleEventEmitter<any, T> | ArrayLike<JQueryStyleEventEmitter<any, T>>,\n eventName: string,\n resultSelector: (value: T, ...args: any[]) => R\n): Observable<R>;\n\n/**\n * Creates an Observable that emits events of a specific type coming from the\n * given event target.\n *\n * <span class=\"informal\">Creates an Observable from DOM events, or Node.js\n * EventEmitter events or others.</span>\n *\n * \n *\n * `fromEvent` accepts as a first argument event target, which is an object with methods\n * for registering event handler functions. As a second argument it takes string that indicates\n * type of event we want to listen for. `fromEvent` supports selected types of event targets,\n * which are described in detail below. If your event target does not match any of the ones listed,\n * you should use {@link fromEventPattern}, which can be used on arbitrary APIs.\n * When it comes to APIs supported by `fromEvent`, their methods for adding and removing event\n * handler functions have different names, but they all accept a string describing event type\n * and function itself, which will be called whenever said event happens.\n *\n * Every time resulting Observable is subscribed, event handler function will be registered\n * to event target on given event type. When that event fires, value\n * passed as a first argument to registered function will be emitted by output Observable.\n * When Observable is unsubscribed, function will be unregistered from event target.\n *\n * Note that if event target calls registered function with more than one argument, second\n * and following arguments will not appear in resulting stream. In order to get access to them,\n * you can pass to `fromEvent` optional project function, which will be called with all arguments\n * passed to event handler. Output Observable will then emit value returned by project function,\n * instead of the usual value.\n *\n * Remember that event targets listed below are checked via duck typing. It means that\n * no matter what kind of object you have and no matter what environment you work in,\n * you can safely use `fromEvent` on that object if it exposes described methods (provided\n * of course they behave as was described above). So for example if Node.js library exposes\n * event target which has the same method names as DOM EventTarget, `fromEvent` is still\n * a good choice.\n *\n * If the API you use is more callback then event handler oriented (subscribed\n * callback function fires only once and thus there is no need to manually\n * unregister it), you should use {@link bindCallback} or {@link bindNodeCallback}\n * instead.\n *\n * `fromEvent` supports following types of event targets:\n *\n * **DOM EventTarget**\n *\n * This is an object with `addEventListener` and `removeEventListener` methods.\n *\n * In the browser, `addEventListener` accepts - apart from event type string and event\n * handler function arguments - optional third parameter, which is either an object or boolean,\n * both used for additional configuration how and when passed function will be called. When\n * `fromEvent` is used with event target of that type, you can provide this values\n * as third parameter as well.\n *\n * **Node.js EventEmitter**\n *\n * An object with `addListener` and `removeListener` methods.\n *\n * **JQuery-style event target**\n *\n * An object with `on` and `off` methods\n *\n * **DOM NodeList**\n *\n * List of DOM Nodes, returned for example by `document.querySelectorAll` or `Node.childNodes`.\n *\n * Although this collection is not event target in itself, `fromEvent` will iterate over all Nodes\n * it contains and install event handler function in every of them. When returned Observable\n * is unsubscribed, function will be removed from all Nodes.\n *\n * **DOM HtmlCollection**\n *\n * Just as in case of NodeList it is a collection of DOM nodes. Here as well event handler function is\n * installed and removed in each of elements.\n *\n *\n * ## Examples\n *\n * Emit clicks happening on the DOM document\n *\n * ```ts\n * import { fromEvent } from 'rxjs';\n *\n * const clicks = fromEvent(document, 'click');\n * clicks.subscribe(x => console.log(x));\n *\n * // Results in:\n * // MouseEvent object logged to console every time a click\n * // occurs on the document.\n * ```\n *\n * Use `addEventListener` with capture option\n *\n * ```ts\n * import { fromEvent } from 'rxjs';\n *\n * const div = document.createElement('div');\n * div.style.cssText = 'width: 200px; height: 200px; background: #09c;';\n * document.body.appendChild(div);\n *\n * // note optional configuration parameter which will be passed to addEventListener\n * const clicksInDocument = fromEvent(document, 'click', { capture: true });\n * const clicksInDiv = fromEvent(div, 'click');\n *\n * clicksInDocument.subscribe(() => console.log('document'));\n * clicksInDiv.subscribe(() => console.log('div'));\n *\n * // By default events bubble UP in DOM tree, so normally\n * // when we would click on div in document\n * // \"div\" would be logged first and then \"document\".\n * // Since we specified optional `capture` option, document\n * // will catch event when it goes DOWN DOM tree, so console\n * // will log \"document\" and then \"div\".\n * ```\n *\n * @see {@link bindCallback}\n * @see {@link bindNodeCallback}\n * @see {@link fromEventPattern}\n *\n * @param target The DOM EventTarget, Node.js EventEmitter, JQuery-like event target,\n * NodeList or HTMLCollection to attach the event handler to.\n * @param eventName The event name of interest, being emitted by the `target`.\n * @param options Options to pass through to the underlying `addListener`,\n * `addEventListener` or `on` functions.\n * @param resultSelector A mapping function used to transform events. It takes the\n * arguments from the event handler and should return a single value.\n * @return An Observable emitting events registered through `target`'s\n * listener handlers.\n */\nexport function fromEvent<T>(\n target: any,\n eventName: string,\n options?: EventListenerOptions | ((...args: any[]) => T),\n resultSelector?: (...args: any[]) => T\n): Observable<T> {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent<T>(target, eventName, options as EventListenerOptions).pipe(mapOneOrManyArgs(resultSelector));\n }\n\n // Figure out our add and remove methods. In order to do this,\n // we are going to analyze the target in a preferred order, if\n // the target matches a given signature, we take the two \"add\" and \"remove\"\n // method names and apply them to a map to create opposite versions of the\n // same function. This is because they all operate in duplicate pairs,\n // `addListener(name, handler)`, `removeListener(name, handler)`, for example.\n // The call only differs by method name, as to whether or not you're adding or removing.\n const [add, remove] =\n // If it is an EventTarget, we need to use a slightly different method than the other two patterns.\n isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler: any) => target[methodName](eventName, handler, options as EventListenerOptions))\n : // In all other cases, the call pattern is identical with the exception of the method names.\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n\n // If add is falsy, it's because we didn't match a pattern above.\n // Check to see if it is an ArrayLike, because if it is, we want to\n // try to apply fromEvent to all of it's items. We do this check last,\n // because there are may be some types that are both ArrayLike *and* implement\n // event registry points, and we'd rather delegate to that when possible.\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget: any) => fromEvent(subTarget, eventName, options as EventListenerOptions))(\n innerFrom(target)\n ) as Observable<T>;\n }\n }\n\n // If add is falsy and we made it here, it's because we didn't\n // match any valid target objects above.\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n\n return new Observable<T>((subscriber) => {\n // The handler we are going to register. Forwards the event object, by itself, or\n // an array of arguments to the event handler, if there is more than one argument,\n // to the consumer.\n const handler = (...args: any[]) => subscriber.next(1 < args.length ? args : args[0]);\n // Do the work of adding the handler to the target.\n add(handler);\n // When we finalize, we want to remove the handler and free up memory.\n return () => remove!(handler);\n });\n}\n\n/**\n * Used to create `add` and `remove` functions to register and unregister event handlers\n * from a target in the most common handler pattern, where there are only two arguments.\n * (e.g. `on(name, fn)`, `off(name, fn)`, `addListener(name, fn)`, or `removeListener(name, fn)`)\n * @param target The target we're calling methods on\n * @param eventName The event name for the event we're creating register or unregister functions for\n */\nfunction toCommonHandlerRegistry(target: any, eventName: string) {\n return (methodName: string) => (handler: any) => target[methodName](eventName, handler);\n}\n\n/**\n * Checks to see if the target implements the required node-style EventEmitter methods\n * for adding and removing event handlers.\n * @param target the object to check\n */\nfunction isNodeStyleEventEmitter(target: any): target is NodeStyleEventEmitter {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\n\n/**\n * Checks to see if the target implements the required jQuery-style EventEmitter methods\n * for adding and removing event handlers.\n * @param target the object to check\n */\nfunction isJQueryStyleEventEmitter(target: any): target is JQueryStyleEventEmitter<any, any> {\n return isFunction(target.on) && isFunction(target.off);\n}\n\n/**\n * Checks to see if the target implements the required EventTarget methods\n * for adding and removing event handlers.\n * @param target the object to check\n */\nfunction isEventTarget(target: any): target is HasEventTargetAddRemove<any> {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from '../util/isFunction';\nimport { NodeEventHandler } from './fromEvent';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\n\n/* tslint:disable:max-line-length */\nexport function fromEventPattern<T>(\n addHandler: (handler: NodeEventHandler) => any,\n removeHandler?: (handler: NodeEventHandler, signal?: any) => void\n): Observable<T>;\nexport function fromEventPattern<T>(\n addHandler: (handler: NodeEventHandler) => any,\n removeHandler?: (handler: NodeEventHandler, signal?: any) => void,\n resultSelector?: (...args: any[]) => T\n): Observable<T>;\n/* tslint:enable:max-line-length */\n\n/**\n * Creates an Observable from an arbitrary API for registering event handlers.\n *\n * <span class=\"informal\">When that method for adding event handler was something {@link fromEvent}\n * was not prepared for.</span>\n *\n * \n *\n * `fromEventPattern` allows you to convert into an Observable any API that supports registering handler functions\n * for events. It is similar to {@link fromEvent}, but far\n * more flexible. In fact, all use cases of {@link fromEvent} could be easily handled by\n * `fromEventPattern` (although in slightly more verbose way).\n *\n * This operator accepts as a first argument an `addHandler` function, which will be injected with\n * handler parameter. That handler is actually an event handler function that you now can pass\n * to API expecting it. `addHandler` will be called whenever Observable\n * returned by the operator is subscribed, so registering handler in API will not\n * necessarily happen when `fromEventPattern` is called.\n *\n * After registration, every time an event that we listen to happens,\n * Observable returned by `fromEventPattern` will emit value that event handler\n * function was called with. Note that if event handler was called with more\n * than one argument, second and following arguments will not appear in the Observable.\n *\n * If API you are using allows to unregister event handlers as well, you can pass to `fromEventPattern`\n * another function - `removeHandler` - as a second parameter. It will be injected\n * with the same handler function as before, which now you can use to unregister\n * it from the API. `removeHandler` will be called when consumer of resulting Observable\n * unsubscribes from it.\n *\n * In some APIs unregistering is actually handled differently. Method registering an event handler\n * returns some kind of token, which is later used to identify which function should\n * be unregistered or it itself has method that unregisters event handler.\n * If that is the case with your API, make sure token returned\n * by registering method is returned by `addHandler`. Then it will be passed\n * as a second argument to `removeHandler`, where you will be able to use it.\n *\n * If you need access to all event handler parameters (not only the first one),\n * or you need to transform them in any way, you can call `fromEventPattern` with optional\n * third parameter - project function which will accept all arguments passed to\n * event handler when it is called. Whatever is returned from project function will appear on\n * resulting stream instead of usual event handlers first argument. This means\n * that default project can be thought of as function that takes its first parameter\n * and ignores the rest.\n *\n * ## Examples\n *\n * Emits clicks happening on the DOM document\n *\n * ```ts\n * import { fromEventPattern } from 'rxjs';\n *\n * function addClickHandler(handler) {\n * document.addEventListener('click', handler);\n * }\n *\n * function removeClickHandler(handler) {\n * document.removeEventListener('click', handler);\n * }\n *\n * const clicks = fromEventPattern(\n * addClickHandler,\n * removeClickHandler\n * );\n * clicks.subscribe(x => console.log(x));\n *\n * // Whenever you click anywhere in the browser, DOM MouseEvent\n * // object will be logged.\n * ```\n *\n * Use with API that returns cancellation token\n *\n * ```ts\n * import { fromEventPattern } from 'rxjs';\n *\n * const token = someAPI.registerEventHandler(function() {});\n * someAPI.unregisterEventHandler(token); // this APIs cancellation method accepts\n * // not handler itself, but special token.\n *\n * const someAPIObservable = fromEventPattern(\n * function(handler) { return someAPI.registerEventHandler(handler); }, // Note that we return the token here...\n * function(handler, token) { someAPI.unregisterEventHandler(token); } // ...to then use it here.\n * );\n * ```\n *\n * Use with project function\n *\n * ```ts\n * import { fromEventPattern } from 'rxjs';\n *\n * someAPI.registerEventHandler((eventType, eventMessage) => {\n * console.log(eventType, eventMessage); // Logs 'EVENT_TYPE' 'EVENT_MESSAGE' to console.\n * });\n *\n * const someAPIObservable = fromEventPattern(\n * handler => someAPI.registerEventHandler(handler),\n * handler => someAPI.unregisterEventHandler(handler)\n * (eventType, eventMessage) => eventType + ' --- ' + eventMessage // without that function only 'EVENT_TYPE'\n * ); // would be emitted by the Observable\n *\n * someAPIObservable.subscribe(value => console.log(value));\n *\n * // Logs:\n * // 'EVENT_TYPE --- EVENT_MESSAGE'\n * ```\n *\n * @see {@link fromEvent}\n * @see {@link bindCallback}\n * @see {@link bindNodeCallback}\n *\n * @param addHandler A function that takes a `handler` function as argument and attaches it\n * somehow to the actual source of events.\n * @param removeHandler A function that takes a `handler` function as an argument and removes\n * it from the event source. If `addHandler` returns some kind of token, `removeHandler` function\n * will have it as a second parameter.\n * @param resultSelector A function to transform results. It takes the arguments from the event\n * handler and should return a single value.\n * @return Observable which, when an event happens, emits first parameter passed to registered\n * event handler. Alternatively it emits whatever project function returns at that moment.\n */\nexport function fromEventPattern<T>(\n addHandler: (handler: NodeEventHandler) => any,\n removeHandler?: (handler: NodeEventHandler, signal?: any) => void,\n resultSelector?: (...args: any[]) => T\n): Observable<T | T[]> {\n if (resultSelector) {\n return fromEventPattern<T>(addHandler, removeHandler).pipe(mapOneOrManyArgs(resultSelector));\n }\n\n return new Observable<T | T[]>((subscriber) => {\n const handler = (...e: T[]) => subscriber.next(e.length === 1 ? e[0] : e);\n const retValue = addHandler(handler);\n return isFunction(removeHandler) ? () => removeHandler(handler, retValue) : undefined;\n });\n}\n","import { Observable } from '../Observable';\nimport { identity } from '../util/identity';\nimport { ObservableInput, SchedulerLike } from '../types';\nimport { isScheduler } from '../util/isScheduler';\nimport { defer } from './defer';\nimport { scheduleIterable } from '../scheduled/scheduleIterable';\n\ntype ConditionFunc<S> = (state: S) => boolean;\ntype IterateFunc<S> = (state: S) => S;\ntype ResultFunc<S, T> = (state: S) => T;\n\nexport interface GenerateBaseOptions<S> {\n /**\n * Initial state.\n */\n initialState: S;\n /**\n * Condition function that accepts state and returns boolean.\n * When it returns false, the generator stops.\n * If not specified, a generator never stops.\n */\n condition?: ConditionFunc<S>;\n /**\n * Iterate function that accepts state and returns new state.\n */\n iterate: IterateFunc<S>;\n /**\n * SchedulerLike to use for generation process.\n * By default, a generator starts immediately.\n */\n scheduler?: SchedulerLike;\n}\n\nexport interface GenerateOptions<T, S> extends GenerateBaseOptions<S> {\n /**\n * Result selection function that accepts state and returns a value to emit.\n */\n resultSelector: ResultFunc<S, T>;\n}\n\n/**\n * Generates an observable sequence by running a state-driven loop\n * producing the sequence's elements, using the specified scheduler\n * to send out observer messages.\n *\n * \n *\n * ## Examples\n *\n * Produces sequence of numbers\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate(0, x => x < 3, x => x + 1, x => x);\n *\n * result.subscribe(x => console.log(x));\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * ```\n *\n * Use `asapScheduler`\n *\n * ```ts\n * import { generate, asapScheduler } from 'rxjs';\n *\n * const result = generate(1, x => x < 5, x => x * 2, x => x + 1, asapScheduler);\n *\n * result.subscribe(x => console.log(x));\n *\n * // Logs:\n * // 2\n * // 3\n * // 5\n * ```\n *\n * @see {@link from}\n * @see {@link Observable}\n *\n * @param initialState Initial state.\n * @param condition Condition to terminate generation (upon returning false).\n * @param iterate Iteration step function.\n * @param resultSelector Selector function for results produced in the sequence.\n * @param scheduler A {@link SchedulerLike} on which to run the generator loop.\n * If not provided, defaults to emit immediately.\n * @returns The generated sequence.\n * @deprecated Instead of passing separate arguments, use the options argument.\n * Signatures taking separate arguments will be removed in v8.\n */\nexport function generate<T, S>(\n initialState: S,\n condition: ConditionFunc<S>,\n iterate: IterateFunc<S>,\n resultSelector: ResultFunc<S, T>,\n scheduler?: SchedulerLike\n): Observable<T>;\n\n/**\n * Generates an Observable by running a state-driven loop\n * that emits an element on each iteration.\n *\n * <span class=\"informal\">Use it instead of nexting values in a for loop.</span>\n *\n * \n *\n * `generate` allows you to create a stream of values generated with a loop very similar to\n * a traditional for loop. The first argument of `generate` is a beginning value. The second argument\n * is a function that accepts this value and tests if some condition still holds. If it does,\n * then the loop continues, if not, it stops. The third value is a function which takes the\n * previously defined value and modifies it in some way on each iteration. Note how these three parameters\n * are direct equivalents of three expressions in a traditional for loop: the first expression\n * initializes some state (for example, a numeric index), the second tests if the loop can perform the next\n * iteration (for example, if the index is lower than 10) and the third states how the defined value\n * will be modified on every step (for example, the index will be incremented by one).\n *\n * Return value of a `generate` operator is an Observable that on each loop iteration\n * emits a value. First of all, the condition function is ran. If it returns true, then the Observable\n * emits the currently stored value (initial value at the first iteration) and finally updates\n * that value with iterate function. If at some point the condition returns false, then the Observable\n * completes at that moment.\n *\n * Optionally you can pass a fourth parameter to `generate` - a result selector function which allows you\n * to immediately map the value that would normally be emitted by an Observable.\n *\n * If you find three anonymous functions in `generate` call hard to read, you can provide\n * a single object to the operator instead where the object has the properties: `initialState`,\n * `condition`, `iterate` and `resultSelector`, which should have respective values that you\n * would normally pass to `generate`. `resultSelector` is still optional, but that form\n * of calling `generate` allows you to omit `condition` as well. If you omit it, that means\n * condition always holds, or in other words the resulting Observable will never complete.\n *\n * Both forms of `generate` can optionally accept a scheduler. In case of a multi-parameter call,\n * scheduler simply comes as a last argument (no matter if there is a `resultSelector`\n * function or not). In case of a single-parameter call, you can provide it as a\n * `scheduler` property on the object passed to the operator. In both cases, a scheduler decides when\n * the next iteration of the loop will happen and therefore when the next value will be emitted\n * by the Observable. For example, to ensure that each value is pushed to the Observer\n * on a separate task in the event loop, you could use the `async` scheduler. Note that\n * by default (when no scheduler is passed) values are simply emitted synchronously.\n *\n *\n * ## Examples\n *\n * Use with condition and iterate functions\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate(0, x => x < 3, x => x + 1);\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * // 'Complete!'\n * ```\n *\n * Use with condition, iterate and resultSelector functions\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate(0, x => x < 3, x => x + 1, x => x * 1000);\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1000\n * // 2000\n * // 'Complete!'\n * ```\n *\n * Use with options object\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * condition(value) { return value < 3; },\n * iterate(value) { return value + 1; },\n * resultSelector(value) { return value * 1000; }\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1000\n * // 2000\n * // 'Complete!'\n * ```\n *\n * Use options object without condition function\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * iterate(value) { return value + 1; },\n * resultSelector(value) { return value * 1000; }\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!') // This will never run\n * });\n *\n * // Logs:\n * // 0\n * // 1000\n * // 2000\n * // 3000\n * // ...and never stops.\n * ```\n *\n * @see {@link from}\n *\n * @param initialState Initial state.\n * @param condition Condition to terminate generation (upon returning false).\n * @param iterate Iteration step function.\n * @param scheduler A {@link Scheduler} on which to run the generator loop. If not\n * provided, defaults to emitting immediately.\n * @return The generated sequence.\n * @deprecated Instead of passing separate arguments, use the options argument.\n * Signatures taking separate arguments will be removed in v8.\n */\nexport function generate<S>(\n initialState: S,\n condition: ConditionFunc<S>,\n iterate: IterateFunc<S>,\n scheduler?: SchedulerLike\n): Observable<S>;\n\n/**\n * Generates an observable sequence by running a state-driven loop\n * producing the sequence's elements, using the specified scheduler\n * to send out observer messages.\n * The overload accepts options object that might contain initial state, iterate,\n * condition and scheduler.\n *\n * \n *\n * ## Examples\n *\n * Use options object with condition function\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * condition: x => x < 3,\n * iterate: x => x + 1\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * // 'Complete!'\n * ```\n *\n * @see {@link from}\n * @see {@link Observable}\n *\n * @param options Object that must contain initialState, iterate and might contain condition and scheduler.\n * @returns The generated sequence.\n */\nexport function generate<S>(options: GenerateBaseOptions<S>): Observable<S>;\n\n/**\n * Generates an observable sequence by running a state-driven loop\n * producing the sequence's elements, using the specified scheduler\n * to send out observer messages.\n * The overload accepts options object that might contain initial state, iterate,\n * condition, result selector and scheduler.\n *\n * \n *\n * ## Examples\n *\n * Use options object with condition and iterate function\n *\n * ```ts\n * import { generate } from 'rxjs';\n *\n * const result = generate({\n * initialState: 0,\n * condition: x => x < 3,\n * iterate: x => x + 1,\n * resultSelector: x => x\n * });\n *\n * result.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 0\n * // 1\n * // 2\n * // 'Complete!'\n * ```\n *\n * @see {@link from}\n * @see {@link Observable}\n *\n * @param options Object that must contain initialState, iterate, resultSelector and might contain condition and scheduler.\n * @returns The generated sequence.\n */\nexport function generate<T, S>(options: GenerateOptions<T, S>): Observable<T>;\n\nexport function generate<T, S>(\n initialStateOrOptions: S | GenerateOptions<T, S>,\n condition?: ConditionFunc<S>,\n iterate?: IterateFunc<S>,\n resultSelectorOrScheduler?: ResultFunc<S, T> | SchedulerLike,\n scheduler?: SchedulerLike\n): Observable<T> {\n let resultSelector: ResultFunc<S, T>;\n let initialState: S;\n\n // TODO: Remove this as we move away from deprecated signatures\n // and move towards a configuration object argument.\n if (arguments.length === 1) {\n // If we only have one argument, we can assume it is a configuration object.\n // Note that folks not using TypeScript may trip over this.\n ({\n initialState,\n condition,\n iterate,\n resultSelector = identity as ResultFunc<S, T>,\n scheduler,\n } = initialStateOrOptions as GenerateOptions<T, S>);\n } else {\n // Deprecated arguments path. Figure out what the user\n // passed and set it here.\n initialState = initialStateOrOptions as S;\n if (!resultSelectorOrScheduler || isScheduler(resultSelectorOrScheduler)) {\n resultSelector = identity as ResultFunc<S, T>;\n scheduler = resultSelectorOrScheduler as SchedulerLike;\n } else {\n resultSelector = resultSelectorOrScheduler as ResultFunc<S, T>;\n }\n }\n\n // The actual generator used to \"generate\" values.\n function* gen() {\n for (let state = initialState; !condition || condition(state); state = iterate!(state)) {\n yield resultSelector(state);\n }\n }\n\n // We use `defer` because we want to defer the creation of the iterator from the iterable.\n return defer(\n (scheduler\n ? // If a scheduler was provided, use `scheduleIterable` to ensure that iteration/generation\n // happens on the scheduler.\n () => scheduleIterable(gen(), scheduler!)\n : // Otherwise, if there's no scheduler, we can just use the generator function directly in\n // `defer` and executing it will return the generator (which is iterable).\n gen) as () => ObservableInput<T>\n );\n}\n","import { Observable } from '../Observable';\nimport { defer } from './defer';\nimport { ObservableInput } from '../types';\n\n/**\n * Checks a boolean at subscription time, and chooses between one of two observable sources\n *\n * `iif` expects a function that returns a boolean (the `condition` function), and two sources,\n * the `trueResult` and the `falseResult`, and returns an Observable.\n *\n * At the moment of subscription, the `condition` function is called. If the result is `true`, the\n * subscription will be to the source passed as the `trueResult`, otherwise, the subscription will be\n * to the source passed as the `falseResult`.\n *\n * If you need to check more than two options to choose between more than one observable, have a look at the {@link defer} creation method.\n *\n * ## Examples\n *\n * Change at runtime which Observable will be subscribed\n *\n * ```ts\n * import { iif, of } from 'rxjs';\n *\n * let subscribeToFirst;\n * const firstOrSecond = iif(\n * () => subscribeToFirst,\n * of('first'),\n * of('second')\n * );\n *\n * subscribeToFirst = true;\n * firstOrSecond.subscribe(value => console.log(value));\n *\n * // Logs:\n * // 'first'\n *\n * subscribeToFirst = false;\n * firstOrSecond.subscribe(value => console.log(value));\n *\n * // Logs:\n * // 'second'\n * ```\n *\n * Control access to an Observable\n *\n * ```ts\n * import { iif, of, EMPTY } from 'rxjs';\n *\n * let accessGranted;\n * const observableIfYouHaveAccess = iif(\n * () => accessGranted,\n * of('It seems you have an access...'),\n * EMPTY\n * );\n *\n * accessGranted = true;\n * observableIfYouHaveAccess.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('The end')\n * });\n *\n * // Logs:\n * // 'It seems you have an access...'\n * // 'The end'\n *\n * accessGranted = false;\n * observableIfYouHaveAccess.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('The end')\n * });\n *\n * // Logs:\n * // 'The end'\n * ```\n *\n * @see {@link defer}\n *\n * @param condition Condition which Observable should be chosen.\n * @param trueResult An Observable that will be subscribed if condition is true.\n * @param falseResult An Observable that will be subscribed if condition is false.\n * @return An observable that proxies to `trueResult` or `falseResult`, depending on the result of the `condition` function.\n */\nexport function iif<T, F>(condition: () => boolean, trueResult: ObservableInput<T>, falseResult: ObservableInput<F>): Observable<T | F> {\n return defer(() => (condition() ? trueResult : falseResult));\n}\n","import { Observable } from '../Observable';\nimport { ObservableInput, ObservableInputTuple, SchedulerLike } from '../types';\nimport { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\n\nexport function merge<A extends readonly unknown[]>(...sources: [...ObservableInputTuple<A>]): Observable<A[number]>;\nexport function merge<A extends readonly unknown[]>(...sourcesAndConcurrency: [...ObservableInputTuple<A>, number?]): Observable<A[number]>;\n/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled` and `mergeAll`. Details: https://rxjs.dev/deprecations/scheduler-argument */\nexport function merge<A extends readonly unknown[]>(\n ...sourcesAndScheduler: [...ObservableInputTuple<A>, SchedulerLike?]\n): Observable<A[number]>;\n/** @deprecated The `scheduler` parameter will be removed in v8. Use `scheduled` and `mergeAll`. Details: https://rxjs.dev/deprecations/scheduler-argument */\nexport function merge<A extends readonly unknown[]>(\n ...sourcesAndConcurrencyAndScheduler: [...ObservableInputTuple<A>, number?, SchedulerLike?]\n): Observable<A[number]>;\n\n/**\n * Creates an output Observable which concurrently emits all values from every\n * given input Observable.\n *\n * <span class=\"informal\">Flattens multiple Observables together by blending\n * their values into one Observable.</span>\n *\n * \n *\n * `merge` subscribes to each given input Observable (as arguments), and simply\n * forwards (without doing any transformation) all the values from all the input\n * Observables to the output Observable. The output Observable only completes\n * once all input Observables have completed. Any error delivered by an input\n * Observable will be immediately emitted on the output Observable.\n *\n * ## Examples\n *\n * Merge together two Observables: 1s interval and clicks\n *\n * ```ts\n * import { merge, fromEvent, interval } from 'rxjs';\n *\n * const clicks = fromEvent(document, 'click');\n * const timer = interval(1000);\n * const clicksOrTimer = merge(clicks, timer);\n * clicksOrTimer.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // timer will emit ascending values, one every second(1000ms) to console\n * // clicks logs MouseEvents to console every time the \"document\" is clicked\n * // Since the two streams are merged you see these happening\n * // as they occur.\n * ```\n *\n * Merge together 3 Observables, but run only 2 concurrently\n *\n * ```ts\n * import { interval, take, merge } from 'rxjs';\n *\n * const timer1 = interval(1000).pipe(take(10));\n * const timer2 = interval(2000).pipe(take(6));\n * const timer3 = interval(500).pipe(take(10));\n *\n * const concurrent = 2; // the argument\n * const merged = merge(timer1, timer2, timer3, concurrent);\n * merged.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // - First timer1 and timer2 will run concurrently\n * // - timer1 will emit a value every 1000ms for 10 iterations\n * // - timer2 will emit a value every 2000ms for 6 iterations\n * // - after timer1 hits its max iteration, timer2 will\n * // continue, and timer3 will start to run concurrently with timer2\n * // - when timer2 hits its max iteration it terminates, and\n * // timer3 will continue to emit a value every 500ms until it is complete\n * ```\n *\n * @see {@link mergeAll}\n * @see {@link mergeMap}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n *\n * @param args `ObservableInput`s to merge together. If the last parameter\n * is of type number, `merge` will use it to limit number of concurrently\n * subscribed `ObservableInput`s. If the last parameter is {@link SchedulerLike},\n * it will be used for scheduling the emission of values.\n * @return An Observable that emits items that are the result of every input Observable.\n */\nexport function merge(...args: (ObservableInput<unknown> | number | SchedulerLike)[]): Observable<unknown> {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = args as ObservableInput<unknown>[];\n return !sources.length\n ? // No source provided\n EMPTY\n : sources.length === 1\n ? // One source? Just return it.\n innerFrom(sources[0])\n : // Merge all sources\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\n\n/**\n * An Observable that emits no items to the Observer and never completes.\n *\n * \n *\n * A simple Observable that emits neither values nor errors nor the completion\n * notification. It can be used for testing purposes or for composing with other\n * Observables. Please note that by never emitting a complete notification, this\n * Observable keeps the subscription from being disposed automatically.\n * Subscriptions need to be manually disposed.\n *\n * ## Example\n *\n * Emit the number 7, then never emit anything else (not even complete)\n *\n * ```ts\n * import { NEVER, startWith } from 'rxjs';\n *\n * const info = () => console.log('Will not be called');\n *\n * const result = NEVER.pipe(startWith(7));\n * result.subscribe({\n * next: x => console.log(x),\n * error: info,\n * complete: info\n * });\n * ```\n *\n * @see {@link Observable}\n * @see {@link EMPTY}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const NEVER = new Observable<never>(noop);\n\n/**\n * @deprecated Replaced with the {@link NEVER} constant. Will be removed in v8.\n */\nexport function never() {\n return NEVER;\n}\n","import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\nimport { from } from './from';\n\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs<T>(arr: readonly T[], scheduler?: SchedulerLike): Observable<[string, T]>;\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs<O extends Record<string, unknown>>(obj: O, scheduler?: SchedulerLike): Observable<[keyof O, O[keyof O]]>;\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs<T>(iterable: Iterable<T>, scheduler?: SchedulerLike): Observable<[string, T]>;\n/**\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs(\n n: number | bigint | boolean | ((...args: any[]) => any) | symbol,\n scheduler?: SchedulerLike\n): Observable<[never, never]>;\n\n/**\n * Convert an object into an Observable of `[key, value]` pairs.\n *\n * <span class=\"informal\">Turn entries of an object into a stream.</span>\n *\n * \n *\n * `pairs` takes an arbitrary object and returns an Observable that emits arrays. Each\n * emitted array has exactly two elements - the first is a key from the object\n * and the second is a value corresponding to that key. Keys are extracted from\n * an object via `Object.keys` function, which means that they will be only\n * enumerable keys that are present on an object directly - not ones inherited\n * via prototype chain.\n *\n * By default, these arrays are emitted synchronously. To change that you can\n * pass a {@link SchedulerLike} as a second argument to `pairs`.\n *\n * ## Example\n *\n * Converts an object to an Observable\n *\n * ```ts\n * import { pairs } from 'rxjs';\n *\n * const obj = {\n * foo: 42,\n * bar: 56,\n * baz: 78\n * };\n *\n * pairs(obj).subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // ['foo', 42]\n * // ['bar', 56]\n * // ['baz', 78]\n * // 'Complete!'\n * ```\n *\n * ### Object.entries required\n *\n * In IE, you will need to polyfill `Object.entries` in order to use this.\n * [MDN has a polyfill here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)\n *\n * @param obj The object to inspect and turn into an Observable sequence.\n * @param scheduler An optional IScheduler to schedule when resulting\n * Observable will emit values.\n * @returns An observable sequence of [key, value] pairs from the object.\n * @deprecated Use `from(Object.entries(obj))` instead. Will be removed in v8.\n */\nexport function pairs(obj: any, scheduler?: SchedulerLike) {\n return from(Object.entries(obj), scheduler as any);\n}\n","import { not } from '../util/not';\nimport { filter } from '../operators/filter';\nimport { ObservableInput } from '../types';\nimport { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\n\n/** @deprecated Use a closure instead of a `thisArg`. Signatures accepting a `thisArg` will be removed in v8. */\nexport function partition<T, U extends T, A>(\n source: ObservableInput<T>,\n predicate: (this: A, value: T, index: number) => value is U,\n thisArg: A\n): [Observable<U>, Observable<Exclude<T, U>>];\nexport function partition<T, U extends T>(\n source: ObservableInput<T>,\n predicate: (value: T, index: number) => value is U\n): [Observable<U>, Observable<Exclude<T, U>>];\n\n/** @deprecated Use a closure instead of a `thisArg`. Signatures accepting a `thisArg` will be removed in v8. */\nexport function partition<T, A>(\n source: ObservableInput<T>,\n predicate: (this: A, value: T, index: number) => boolean,\n thisArg: A\n): [Observable<T>, Observable<T>];\nexport function partition<T>(source: ObservableInput<T>, predicate: (value: T, index: number) => boolean): [Observable<T>, Observable<T>];\n\n/**\n * Splits the source Observable into two, one with values that satisfy a\n * predicate, and another with values that don't satisfy the predicate.\n *\n * <span class=\"informal\">It's like {@link filter}, but returns two Observables:\n * one like the output of {@link filter}, and the other with values that did not\n * pass the condition.</span>\n *\n * \n *\n * `partition` outputs an array with two Observables that partition the values\n * from the source Observable through the given `predicate` function. The first\n * Observable in that array emits source values for which the predicate argument\n * returns true. The second Observable emits source values for which the\n * predicate returns false. The first behaves like {@link filter} and the second\n * behaves like {@link filter} with the predicate negated.\n *\n * ## Example\n *\n * Partition a set of numbers into odds and evens observables\n *\n * ```ts\n * import { of, partition } from 'rxjs';\n *\n * const observableValues = of(1, 2, 3, 4, 5, 6);\n * const [evens$, odds$] = partition(observableValues, value => value % 2 === 0);\n *\n * odds$.subscribe(x => console.log('odds', x));\n * evens$.subscribe(x => console.log('evens', x));\n *\n * // Logs:\n * // odds 1\n * // odds 3\n * // odds 5\n * // evens 2\n * // evens 4\n * // evens 6\n * ```\n *\n * @see {@link filter}\n *\n * @param source The source `ObservableInput` that will be split into a tuple of\n * two Observable elements.\n * @param predicate A function that evaluates each value emitted by the source\n * Observable. If it returns `true`, the value is emitted on the first Observable\n * in the returned array, if `false` the value is emitted on the second Observable\n * in the array. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number `0`.\n * @param thisArg An optional argument to determine the value of `this` in the\n * `predicate` function.\n * @return An array with two Observables: one with values that passed the\n * predicate, and another with values that did not pass the predicate.\n */\nexport function partition<T>(\n source: ObservableInput<T>,\n predicate: (this: any, value: T, index: number) => boolean,\n thisArg?: any\n): [Observable<T>, Observable<T>] {\n return [filter(predicate, thisArg)(innerFrom(source)), filter(not(predicate, thisArg))(innerFrom(source))] as [\n Observable<T>,\n Observable<T>\n ];\n}\n","import { SchedulerLike } from '../types';\nimport { Observable } from '../Observable';\nimport { EMPTY } from './empty';\n\nexport function range(start: number, count?: number): Observable<number>;\n\n/**\n * @deprecated The `scheduler` parameter will be removed in v8. Use `range(start, count).pipe(observeOn(scheduler))` instead. Details: Details: https://rxjs.dev/deprecations/scheduler-argument\n */\nexport function range(start: number, count: number | undefined, scheduler: SchedulerLike): Observable<number>;\n\n/**\n * Creates an Observable that emits a sequence of numbers within a specified\n * range.\n *\n * <span class=\"informal\">Emits a sequence of numbers in a range.</span>\n *\n * \n *\n * `range` operator emits a range of sequential integers, in order, where you\n * select the `start` of the range and its `length`. By default, uses no\n * {@link SchedulerLike} and just delivers the notifications synchronously, but may use\n * an optional {@link SchedulerLike} to regulate those deliveries.\n *\n * ## Example\n *\n * Produce a range of numbers\n *\n * ```ts\n * import { range } from 'rxjs';\n *\n * const numbers = range(1, 3);\n *\n * numbers.subscribe({\n * next: value => console.log(value),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Logs:\n * // 1\n * // 2\n * // 3\n * // 'Complete!'\n * ```\n *\n * @see {@link timer}\n * @see {@link interval}\n *\n * @param start The value of the first integer in the sequence.\n * @param count The number of sequential integers to generate.\n * @param scheduler A {@link SchedulerLike} to use for scheduling the emissions\n * of the notifications.\n * @return An Observable of numbers that emits a finite range of sequential integers.\n */\nexport function range(start: number, count?: number, scheduler?: SchedulerLike): Observable<number> {\n if (count == null) {\n // If one argument was passed, it's the count, not the start.\n count = start;\n start = 0;\n }\n\n if (count <= 0) {\n // No count? We're going nowhere. Return EMPTY.\n return EMPTY;\n }\n\n // Where the range should stop.\n const end = count + start;\n\n return new Observable(\n scheduler\n ? // The deprecated scheduled path.\n (subscriber) => {\n let n = start;\n return scheduler.schedule(function () {\n if (n < end) {\n subscriber.next(n++);\n this.schedule();\n } else {\n subscriber.complete();\n }\n });\n }\n : // Standard synchronous range.\n (subscriber) => {\n let n = start;\n while (n < end && !subscriber.closed) {\n subscriber.next(n++);\n }\n subscriber.complete();\n }\n );\n}\n","import { Observable } from '../Observable';\nimport { Unsubscribable, ObservableInput, ObservedValueOf } from '../types';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\n\n/**\n * Creates an Observable that uses a resource which will be disposed at the same time as the Observable.\n *\n * <span class=\"informal\">Use it when you catch yourself cleaning up after an Observable.</span>\n *\n * `using` is a factory operator, which accepts two functions. First function returns a disposable resource.\n * It can be an arbitrary object that implements `unsubscribe` method. Second function will be injected with\n * that object and should return an Observable. That Observable can use resource object during its execution.\n * Both functions passed to `using` will be called every time someone subscribes - neither an Observable nor\n * resource object will be shared in any way between subscriptions.\n *\n * When Observable returned by `using` is subscribed, Observable returned from the second function will be subscribed\n * as well. All its notifications (nexted values, completion and error events) will be emitted unchanged by the output\n * Observable. If however someone unsubscribes from the Observable or source Observable completes or errors by itself,\n * the `unsubscribe` method on resource object will be called. This can be used to do any necessary clean up, which\n * otherwise would have to be handled by hand. Note that complete or error notifications are not emitted when someone\n * cancels subscription to an Observable via `unsubscribe`, so `using` can be used as a hook, allowing you to make\n * sure that all resources which need to exist during an Observable execution will be disposed at appropriate time.\n *\n * @see {@link defer}\n *\n * @param resourceFactory A function which creates any resource object that implements `unsubscribe` method.\n * @param observableFactory A function which creates an Observable, that can use injected resource object.\n * @return An Observable that behaves the same as Observable returned by `observableFactory`, but\n * which - when completed, errored or unsubscribed - will also call `unsubscribe` on created resource object.\n */\nexport function using<T extends ObservableInput<any>>(\n resourceFactory: () => Unsubscribable | void,\n observableFactory: (resource: Unsubscribable | void) => T | void\n): Observable<ObservedValueOf<T>> {\n return new Observable<ObservedValueOf<T>>((subscriber) => {\n const resource = resourceFactory();\n const result = observableFactory(resource);\n const source = result ? innerFrom(result) : EMPTY;\n source.subscribe(subscriber);\n return () => {\n // NOTE: Optional chaining did not work here.\n // Related TS Issue: https://github.com/microsoft/TypeScript/issues/40818\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map","//////////////////////////////////////////////////////////\n// Here we need to reference our other deep imports\n// so VS code will figure out where they are\n// see conversation here:\n// https://github.com/microsoft/TypeScript/issues/43034\n//////////////////////////////////////////////////////////\n\n// tslint:disable: no-reference\n// It's tempting to add references to all of the deep-import locations, but\n// adding references to those that require DOM types breaks Node projects.\n/// <reference path=\"./operators/index.ts\" />\n/// <reference path=\"./testing/index.ts\" />\n// tslint:enable: no-reference\n\n/* Observable */\nexport { Observable } from './internal/Observable';\nexport { ConnectableObservable } from './internal/observable/ConnectableObservable';\nexport { GroupedObservable } from './internal/operators/groupBy';\nexport { Operator } from './internal/Operator';\nexport { observable } from './internal/symbol/observable';\nexport { animationFrames } from './internal/observable/dom/animationFrames';\n\n/* Subjects */\nexport { Subject } from './internal/Subject';\nexport { BehaviorSubject } from './internal/BehaviorSubject';\nexport { ReplaySubject } from './internal/ReplaySubject';\nexport { AsyncSubject } from './internal/AsyncSubject';\n\n/* Schedulers */\nexport { asap, asapScheduler } from './internal/scheduler/asap';\nexport { async, asyncScheduler } from './internal/scheduler/async';\nexport { queue, queueScheduler } from './internal/scheduler/queue';\nexport { animationFrame, animationFrameScheduler } from './internal/scheduler/animationFrame';\nexport { VirtualTimeScheduler, VirtualAction } from './internal/scheduler/VirtualTimeScheduler';\nexport { Scheduler } from './internal/Scheduler';\n\n/* Subscription */\nexport { Subscription } from './internal/Subscription';\nexport { Subscriber } from './internal/Subscriber';\n\n/* Notification */\nexport { Notification, NotificationKind } from './internal/Notification';\n\n/* Utils */\nexport { pipe } from './internal/util/pipe';\nexport { noop } from './internal/util/noop';\nexport { identity } from './internal/util/identity';\nexport { isObservable } from './internal/util/isObservable';\n\n/* Promise Conversion */\nexport { lastValueFrom } from './internal/lastValueFrom';\nexport { firstValueFrom } from './internal/firstValueFrom';\n\n/* Error types */\nexport { ArgumentOutOfRangeError } from './internal/util/ArgumentOutOfRangeError';\nexport { EmptyError } from './internal/util/EmptyError';\nexport { NotFoundError } from './internal/util/NotFoundError';\nexport { ObjectUnsubscribedError } from './internal/util/ObjectUnsubscribedError';\nexport { SequenceError } from './internal/util/SequenceError';\nexport { TimeoutError } from './internal/operators/timeout';\nexport { UnsubscriptionError } from './internal/util/UnsubscriptionError';\n\n/* Static observable creation exports */\nexport { bindCallback } from './internal/observable/bindCallback';\nexport { bindNodeCallback } from './internal/observable/bindNodeCallback';\nexport { combineLatest } from './internal/observable/combineLatest';\nexport { concat } from './internal/observable/concat';\nexport { connectable } from './internal/observable/connectable';\nexport { defer } from './internal/observable/defer';\nexport { empty } from './internal/observable/empty';\nexport { forkJoin } from './internal/observable/forkJoin';\nexport { from } from './internal/observable/from';\nexport { fromEvent } from './internal/observable/fromEvent';\nexport { fromEventPattern } from './internal/observable/fromEventPattern';\nexport { generate } from './internal/observable/generate';\nexport { iif } from './internal/observable/iif';\nexport { interval } from './internal/observable/interval';\nexport { merge } from './internal/observable/merge';\nexport { never } from './internal/observable/never';\nexport { of } from './internal/observable/of';\nexport { onErrorResumeNext } from './internal/observable/onErrorResumeNext';\nexport { pairs } from './internal/observable/pairs';\nexport { partition } from './internal/observable/partition';\nexport { race } from './internal/observable/race';\nexport { range } from './internal/observable/range';\nexport { throwError } from './internal/observable/throwError';\nexport { timer } from './internal/observable/timer';\nexport { using } from './internal/observable/using';\nexport { zip } from './internal/observable/zip';\nexport { scheduled } from './internal/scheduled/scheduled';\n\n/* Constants */\nexport { EMPTY } from './internal/observable/empty';\nexport { NEVER } from './internal/observable/never';\n\n/* Types */\nexport * from './internal/types';\n\n/* Config */\nexport { config, GlobalConfig } from './internal/config';\n\n/* Operators */\nexport { audit } from './internal/operators/audit';\nexport { auditTime } from './internal/operators/auditTime';\nexport { buffer } from './internal/operators/buffer';\nexport { bufferCount } from './internal/operators/bufferCount';\nexport { bufferTime } from './internal/operators/bufferTime';\nexport { bufferToggle } from './internal/operators/bufferToggle';\nexport { bufferWhen } from './internal/operators/bufferWhen';\nexport { catchError } from './internal/operators/catchError';\nexport { combineAll } from './internal/operators/combineAll';\nexport { combineLatestAll } from './internal/operators/combineLatestAll';\nexport { combineLatestWith } from './internal/operators/combineLatestWith';\nexport { concatAll } from './internal/operators/concatAll';\nexport { concatMap } from './internal/operators/concatMap';\nexport { concatMapTo } from './internal/operators/concatMapTo';\nexport { concatWith } from './internal/operators/concatWith';\nexport { connect, ConnectConfig } from './internal/operators/connect';\nexport { count } from './internal/operators/count';\nexport { debounce } from './internal/operators/debounce';\nexport { debounceTime } from './internal/operators/debounceTime';\nexport { defaultIfEmpty } from './internal/operators/defaultIfEmpty';\nexport { delay } from './internal/operators/delay';\nexport { delayWhen } from './internal/operators/delayWhen';\nexport { dematerialize } from './internal/operators/dematerialize';\nexport { distinct } from './internal/operators/distinct';\nexport { distinctUntilChanged } from './internal/operators/distinctUntilChanged';\nexport { distinctUntilKeyChanged } from './internal/operators/distinctUntilKeyChanged';\nexport { elementAt } from './internal/operators/elementAt';\nexport { endWith } from './internal/operators/endWith';\nexport { every } from './internal/operators/every';\nexport { exhaust } from './internal/operators/exhaust';\nexport { exhaustAll } from './internal/operators/exhaustAll';\nexport { exhaustMap } from './internal/operators/exhaustMap';\nexport { expand } from './internal/operators/expand';\nexport { filter } from './internal/operators/filter';\nexport { finalize } from './internal/operators/finalize';\nexport { find } from './internal/operators/find';\nexport { findIndex } from './internal/operators/findIndex';\nexport { first } from './internal/operators/first';\nexport { groupBy, BasicGroupByOptions, GroupByOptionsWithElement } from './internal/operators/groupBy';\nexport { ignoreElements } from './internal/operators/ignoreElements';\nexport { isEmpty } from './internal/operators/isEmpty';\nexport { last } from './internal/operators/last';\nexport { map } from './internal/operators/map';\nexport { mapTo } from './internal/operators/mapTo';\nexport { materialize } from './internal/operators/materialize';\nexport { max } from './internal/operators/max';\nexport { mergeAll } from './internal/operators/mergeAll';\nexport { flatMap } from './internal/operators/flatMap';\nexport { mergeMap } from './internal/operators/mergeMap';\nexport { mergeMapTo } from './internal/operators/mergeMapTo';\nexport { mergeScan } from './internal/operators/mergeScan';\nexport { mergeWith } from './internal/operators/mergeWith';\nexport { min } from './internal/operators/min';\nexport { multicast } from './internal/operators/multicast';\nexport { observeOn } from './internal/operators/observeOn';\nexport { onErrorResumeNextWith } from './internal/operators/onErrorResumeNextWith';\nexport { pairwise } from './internal/operators/pairwise';\nexport { pluck } from './internal/operators/pluck';\nexport { publish } from './internal/operators/publish';\nexport { publishBehavior } from './internal/operators/publishBehavior';\nexport { publishLast } from './internal/operators/publishLast';\nexport { publishReplay } from './internal/operators/publishReplay';\nexport { raceWith } from './internal/operators/raceWith';\nexport { reduce } from './internal/operators/reduce';\nexport { repeat, RepeatConfig } from './internal/operators/repeat';\nexport { repeatWhen } from './internal/operators/repeatWhen';\nexport { retry, RetryConfig } from './internal/operators/retry';\nexport { retryWhen } from './internal/operators/retryWhen';\nexport { refCount } from './internal/operators/refCount';\nexport { sample } from './internal/operators/sample';\nexport { sampleTime } from './internal/operators/sampleTime';\nexport { scan } from './internal/operators/scan';\nexport { sequenceEqual } from './internal/operators/sequenceEqual';\nexport { share, ShareConfig } from './internal/operators/share';\nexport { shareReplay, ShareReplayConfig } from './internal/operators/shareReplay';\nexport { single } from './internal/operators/single';\nexport { skip } from './internal/operators/skip';\nexport { skipLast } from './internal/operators/skipLast';\nexport { skipUntil } from './internal/operators/skipUntil';\nexport { skipWhile } from './internal/operators/skipWhile';\nexport { startWith } from './internal/operators/startWith';\nexport { subscribeOn } from './internal/operators/subscribeOn';\nexport { switchAll } from './internal/operators/switchAll';\nexport { switchMap } from './internal/operators/switchMap';\nexport { switchMapTo } from './internal/operators/switchMapTo';\nexport { switchScan } from './internal/operators/switchScan';\nexport { take } from './internal/operators/take';\nexport { takeLast } from './internal/operators/takeLast';\nexport { takeUntil } from './internal/operators/takeUntil';\nexport { takeWhile } from './internal/operators/takeWhile';\nexport { tap, TapObserver } from './internal/operators/tap';\nexport { throttle, ThrottleConfig } from './internal/operators/throttle';\nexport { throttleTime } from './internal/operators/throttleTime';\nexport { throwIfEmpty } from './internal/operators/throwIfEmpty';\nexport { timeInterval } from './internal/operators/timeInterval';\nexport { timeout, TimeoutConfig, TimeoutInfo } from './internal/operators/timeout';\nexport { timeoutWith } from './internal/operators/timeoutWith';\nexport { timestamp } from './internal/operators/timestamp';\nexport { toArray } from './internal/operators/toArray';\nexport { window } from './internal/operators/window';\nexport { windowCount } from './internal/operators/windowCount';\nexport { windowTime } from './internal/operators/windowTime';\nexport { windowToggle } from './internal/operators/windowToggle';\nexport { windowWhen } from './internal/operators/windowWhen';\nexport { withLatestFrom } from './internal/operators/withLatestFrom';\nexport { zipAll } from './internal/operators/zipAll';\nexport { zipWith } from './internal/operators/zipWith';\n","import * as React from 'react';\nimport * as DeprecatedReactTestUtils from 'react-dom/test-utils';\nimport ReactDOM from 'react-dom';\nimport * as ReactDOMClient from 'react-dom/client';\nimport { fireEvent as fireEvent$1, getConfig as getConfig$1, configure as configure$1, prettyDOM, getQueriesForElement } from '@testing-library/dom';\nexport * from '@testing-library/dom';\n\nconst reactAct = typeof React.act === 'function' ? React.act : DeprecatedReactTestUtils.act;\nfunction getGlobalThis() {\n /* istanbul ignore else */\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n /* istanbul ignore next */\n if (typeof self !== 'undefined') {\n return self;\n }\n /* istanbul ignore next */\n if (typeof window !== 'undefined') {\n return window;\n }\n /* istanbul ignore next */\n if (typeof global !== 'undefined') {\n return global;\n }\n /* istanbul ignore next */\n throw new Error('unable to locate global object');\n}\nfunction setIsReactActEnvironment(isReactActEnvironment) {\n getGlobalThis().IS_REACT_ACT_ENVIRONMENT = isReactActEnvironment;\n}\nfunction getIsReactActEnvironment() {\n return getGlobalThis().IS_REACT_ACT_ENVIRONMENT;\n}\nfunction withGlobalActEnvironment(actImplementation) {\n return callback => {\n const previousActEnvironment = getIsReactActEnvironment();\n setIsReactActEnvironment(true);\n try {\n // The return value of `act` is always a thenable.\n let callbackNeedsToBeAwaited = false;\n const actResult = actImplementation(() => {\n const result = callback();\n if (result !== null && typeof result === 'object' && typeof result.then === 'function') {\n callbackNeedsToBeAwaited = true;\n }\n return result;\n });\n if (callbackNeedsToBeAwaited) {\n const thenable = actResult;\n return {\n then: (resolve, reject) => {\n thenable.then(returnValue => {\n setIsReactActEnvironment(previousActEnvironment);\n resolve(returnValue);\n }, error => {\n setIsReactActEnvironment(previousActEnvironment);\n reject(error);\n });\n }\n };\n } else {\n setIsReactActEnvironment(previousActEnvironment);\n return actResult;\n }\n } catch (error) {\n // Can't be a `finally {}` block since we don't know if we have to immediately restore IS_REACT_ACT_ENVIRONMENT\n // or if we have to await the callback first.\n setIsReactActEnvironment(previousActEnvironment);\n throw error;\n }\n };\n}\nconst act = withGlobalActEnvironment(reactAct);\n\n/* eslint no-console:0 */\n\n// react-testing-library's version of fireEvent will call\n// dom-testing-library's version of fireEvent. The reason\n// we make this distinction however is because we have\n// a few extra events that work a bit differently\nconst fireEvent = (...args) => fireEvent$1(...args);\nObject.keys(fireEvent$1).forEach(key => {\n fireEvent[key] = (...args) => fireEvent$1[key](...args);\n});\n\n// React event system tracks native mouseOver/mouseOut events for\n// running onMouseEnter/onMouseLeave handlers\n// @link https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/events/EnterLeaveEventPlugin.js#L24-L31\nconst mouseEnter = fireEvent.mouseEnter;\nconst mouseLeave = fireEvent.mouseLeave;\nfireEvent.mouseEnter = (...args) => {\n mouseEnter(...args);\n return fireEvent.mouseOver(...args);\n};\nfireEvent.mouseLeave = (...args) => {\n mouseLeave(...args);\n return fireEvent.mouseOut(...args);\n};\nconst pointerEnter = fireEvent.pointerEnter;\nconst pointerLeave = fireEvent.pointerLeave;\nfireEvent.pointerEnter = (...args) => {\n pointerEnter(...args);\n return fireEvent.pointerOver(...args);\n};\nfireEvent.pointerLeave = (...args) => {\n pointerLeave(...args);\n return fireEvent.pointerOut(...args);\n};\nconst select = fireEvent.select;\nfireEvent.select = (node, init) => {\n select(node, init);\n // React tracks this event only on focused inputs\n node.focus();\n\n // React creates this event when one of the following native events happens\n // - contextMenu\n // - mouseUp\n // - dragEnd\n // - keyUp\n // - keyDown\n // so we can use any here\n // @link https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/events/SelectEventPlugin.js#L203-L224\n fireEvent.keyUp(node, init);\n};\n\n// React event system tracks native focusout/focusin events for\n// running blur/focus handlers\n// @link https://github.com/facebook/react/pull/19186\nconst blur = fireEvent.blur;\nconst focus = fireEvent.focus;\nfireEvent.blur = (...args) => {\n fireEvent.focusOut(...args);\n return blur(...args);\n};\nfireEvent.focus = (...args) => {\n fireEvent.focusIn(...args);\n return focus(...args);\n};\n\nlet configForRTL = {\n reactStrictMode: false\n};\nfunction getConfig() {\n return {\n ...getConfig$1(),\n ...configForRTL\n };\n}\nfunction configure(newConfig) {\n if (typeof newConfig === 'function') {\n // Pass the existing config out to the provided function\n // and accept a delta in return\n newConfig = newConfig(getConfig());\n }\n const {\n reactStrictMode,\n ...configForDTL\n } = newConfig;\n configure$1(configForDTL);\n configForRTL = {\n ...configForRTL,\n reactStrictMode\n };\n}\n\nfunction jestFakeTimersAreEnabled() {\n /* istanbul ignore else */\n if (typeof jest !== 'undefined' && jest !== null) {\n return (\n // legacy timers\n setTimeout._isMockFunction === true ||\n // modern timers\n // eslint-disable-next-line prefer-object-has-own -- No Object.hasOwn in all target environments we support.\n Object.prototype.hasOwnProperty.call(setTimeout, 'clock')\n );\n } // istanbul ignore next\n\n return false;\n}\nconfigure$1({\n unstable_advanceTimersWrapper: cb => {\n return act(cb);\n },\n // We just want to run `waitFor` without IS_REACT_ACT_ENVIRONMENT\n // But that's not necessarily how `asyncWrapper` is used since it's a public method.\n // Let's just hope nobody else is using it.\n asyncWrapper: async cb => {\n const previousActEnvironment = getIsReactActEnvironment();\n setIsReactActEnvironment(false);\n try {\n const result = await cb();\n // Drain microtask queue.\n // Otherwise we'll restore the previous act() environment, before we resolve the `waitFor` call.\n // The caller would have no chance to wrap the in-flight Promises in `act()`\n await new Promise(resolve => {\n setTimeout(() => {\n resolve();\n }, 0);\n if (jestFakeTimersAreEnabled()) {\n jest.advanceTimersByTime(0);\n }\n });\n return result;\n } finally {\n setIsReactActEnvironment(previousActEnvironment);\n }\n },\n eventWrapper: cb => {\n let result;\n act(() => {\n result = cb();\n });\n return result;\n }\n});\n\n// Ideally we'd just use a WeakMap where containers are keys and roots are values.\n// We use two variables so that we can bail out in constant time when we render with a new container (most common use case)\n/**\n * @type {Set<import('react-dom').Container>}\n */\nconst mountedContainers = new Set();\n/**\n * @type Array<{container: import('react-dom').Container, root: ReturnType<typeof createConcurrentRoot>}>\n */\nconst mountedRootEntries = [];\nfunction strictModeIfNeeded(innerElement, reactStrictMode) {\n return reactStrictMode ?? getConfig().reactStrictMode ? /*#__PURE__*/React.createElement(React.StrictMode, null, innerElement) : innerElement;\n}\nfunction wrapUiIfNeeded(innerElement, wrapperComponent) {\n return wrapperComponent ? /*#__PURE__*/React.createElement(wrapperComponent, null, innerElement) : innerElement;\n}\nfunction createConcurrentRoot(container, {\n hydrate,\n onCaughtError,\n onRecoverableError,\n ui,\n wrapper: WrapperComponent,\n reactStrictMode\n}) {\n let root;\n if (hydrate) {\n act(() => {\n root = ReactDOMClient.hydrateRoot(container, strictModeIfNeeded(wrapUiIfNeeded(ui, WrapperComponent), reactStrictMode), {\n onCaughtError,\n onRecoverableError\n });\n });\n } else {\n root = ReactDOMClient.createRoot(container, {\n onCaughtError,\n onRecoverableError\n });\n }\n return {\n hydrate() {\n /* istanbul ignore if */\n if (!hydrate) {\n throw new Error('Attempted to hydrate a non-hydrateable root. This is a bug in `@testing-library/react`.');\n }\n // Nothing to do since hydration happens when creating the root object.\n },\n render(element) {\n root.render(element);\n },\n unmount() {\n root.unmount();\n }\n };\n}\nfunction createLegacyRoot(container) {\n return {\n hydrate(element) {\n ReactDOM.hydrate(element, container);\n },\n render(element) {\n ReactDOM.render(element, container);\n },\n unmount() {\n ReactDOM.unmountComponentAtNode(container);\n }\n };\n}\nfunction renderRoot(ui, {\n baseElement,\n container,\n hydrate,\n queries,\n root,\n wrapper: WrapperComponent,\n reactStrictMode\n}) {\n act(() => {\n if (hydrate) {\n root.hydrate(strictModeIfNeeded(wrapUiIfNeeded(ui, WrapperComponent), reactStrictMode), container);\n } else {\n root.render(strictModeIfNeeded(wrapUiIfNeeded(ui, WrapperComponent), reactStrictMode), container);\n }\n });\n return {\n container,\n baseElement,\n debug: (el = baseElement, maxLength, options) => Array.isArray(el) ?\n // eslint-disable-next-line no-console\n el.forEach(e => console.log(prettyDOM(e, maxLength, options))) :\n // eslint-disable-next-line no-console,\n console.log(prettyDOM(el, maxLength, options)),\n unmount: () => {\n act(() => {\n root.unmount();\n });\n },\n rerender: rerenderUi => {\n renderRoot(rerenderUi, {\n container,\n baseElement,\n root,\n wrapper: WrapperComponent,\n reactStrictMode\n });\n // Intentionally do not return anything to avoid unnecessarily complicating the API.\n // folks can use all the same utilities we return in the first place that are bound to the container\n },\n asFragment: () => {\n /* istanbul ignore else (old jsdom limitation) */\n if (typeof document.createRange === 'function') {\n return document.createRange().createContextualFragment(container.innerHTML);\n } else {\n const template = document.createElement('template');\n template.innerHTML = container.innerHTML;\n return template.content;\n }\n },\n ...getQueriesForElement(baseElement, queries)\n };\n}\nfunction render(ui, {\n container,\n baseElement = container,\n legacyRoot = false,\n onCaughtError,\n onUncaughtError,\n onRecoverableError,\n queries,\n hydrate = false,\n wrapper,\n reactStrictMode\n} = {}) {\n if (onUncaughtError !== undefined) {\n throw new Error('onUncaughtError is not supported. The `render` call will already throw on uncaught errors.');\n }\n if (legacyRoot && typeof ReactDOM.render !== 'function') {\n const error = new Error('`legacyRoot: true` is not supported in this version of React. ' + 'If your app runs React 19 or later, you should remove this flag. ' + 'If your app runs React 18 or earlier, visit https://react.dev/blog/2022/03/08/react-18-upgrade-guide for upgrade instructions.');\n Error.captureStackTrace(error, render);\n throw error;\n }\n if (!baseElement) {\n // default to document.body instead of documentElement to avoid output of potentially-large\n // head elements (such as JSS style blocks) in debug output\n baseElement = document.body;\n }\n if (!container) {\n container = baseElement.appendChild(document.createElement('div'));\n }\n let root;\n // eslint-disable-next-line no-negated-condition -- we want to map the evolution of this over time. The root is created first. Only later is it re-used so we don't want to read the case that happens later first.\n if (!mountedContainers.has(container)) {\n const createRootImpl = legacyRoot ? createLegacyRoot : createConcurrentRoot;\n root = createRootImpl(container, {\n hydrate,\n onCaughtError,\n onRecoverableError,\n ui,\n wrapper,\n reactStrictMode\n });\n mountedRootEntries.push({\n container,\n root\n });\n // we'll add it to the mounted containers regardless of whether it's actually\n // added to document.body so the cleanup method works regardless of whether\n // they're passing us a custom container or not.\n mountedContainers.add(container);\n } else {\n mountedRootEntries.forEach(rootEntry => {\n // Else is unreachable since `mountedContainers` has the `container`.\n // Only reachable if one would accidentally add the container to `mountedContainers` but not the root to `mountedRootEntries`\n /* istanbul ignore else */\n if (rootEntry.container === container) {\n root = rootEntry.root;\n }\n });\n }\n return renderRoot(ui, {\n container,\n baseElement,\n queries,\n hydrate,\n wrapper,\n root,\n reactStrictMode\n });\n}\nfunction cleanup() {\n mountedRootEntries.forEach(({\n root,\n container\n }) => {\n act(() => {\n root.unmount();\n });\n if (container.parentNode === document.body) {\n document.body.removeChild(container);\n }\n });\n mountedRootEntries.length = 0;\n mountedContainers.clear();\n}\nfunction renderHook(renderCallback, options = {}) {\n const {\n initialProps,\n ...renderOptions\n } = options;\n if (renderOptions.legacyRoot && typeof ReactDOM.render !== 'function') {\n const error = new Error('`legacyRoot: true` is not supported in this version of React. ' + 'If your app runs React 19 or later, you should remove this flag. ' + 'If your app runs React 18 or earlier, visit https://react.dev/blog/2022/03/08/react-18-upgrade-guide for upgrade instructions.');\n Error.captureStackTrace(error, renderHook);\n throw error;\n }\n const result = /*#__PURE__*/React.createRef();\n function TestComponent({\n renderCallbackProps\n }) {\n const pendingResult = renderCallback(renderCallbackProps);\n React.useEffect(() => {\n result.current = pendingResult;\n });\n return null;\n }\n const {\n rerender: baseRerender,\n unmount\n } = render(/*#__PURE__*/React.createElement(TestComponent, {\n renderCallbackProps: initialProps\n }), renderOptions);\n function rerender(rerenderCallbackProps) {\n return baseRerender(/*#__PURE__*/React.createElement(TestComponent, {\n renderCallbackProps: rerenderCallbackProps\n }));\n }\n return {\n result,\n rerender,\n unmount\n };\n}\n\n/* eslint func-name-matching:0 */\n\n// if we're running in a test runner that supports afterEach\n// or teardown then we'll automatically run cleanup afterEach test\n// this ensures that tests run in isolation from each other\n// if you don't like this then either import the `pure` module\n// or set the RTL_SKIP_AUTO_CLEANUP env variable to 'true'.\nif (typeof process === 'undefined' || !process.env?.RTL_SKIP_AUTO_CLEANUP) {\n // ignore teardown() in code coverage because Jest does not support it\n /* istanbul ignore else */\n if (typeof afterEach === 'function') {\n afterEach(() => {\n cleanup();\n });\n } else if (typeof teardown === 'function') {\n // Block is guarded by `typeof` check.\n // eslint does not support `typeof` guards.\n // eslint-disable-next-line no-undef\n teardown(() => {\n cleanup();\n });\n }\n\n // No test setup with other test runners available\n /* istanbul ignore else */\n if (typeof beforeAll === 'function' && typeof afterAll === 'function') {\n // This matches the behavior of React < 18.\n let previousIsReactActEnvironment = getIsReactActEnvironment();\n beforeAll(() => {\n previousIsReactActEnvironment = getIsReactActEnvironment();\n setIsReactActEnvironment(true);\n });\n afterAll(() => {\n setIsReactActEnvironment(previousIsReactActEnvironment);\n });\n }\n}\n\nexport { act, cleanup, configure, fireEvent, getConfig, render, renderHook };\n","import * as prettyFormat from 'pretty-format';\nexport { prettyFormat };\nimport { computeAccessibleName, computeAccessibleDescription } from 'dom-accessibility-api';\nimport { elementRoles, roles, roleElements } from 'aria-query';\nimport lzString from 'lz-string';\n\n/**\n * Source: https://github.com/facebook/jest/blob/e7bb6a1e26ffab90611b2593912df15b69315611/packages/pretty-format/src/plugins/DOMElement.ts\n */\n/* eslint-disable -- trying to stay as close to the original as possible */\n/* istanbul ignore file */\n\nfunction escapeHTML(str) {\n return str.replace(/</g, '<').replace(/>/g, '>');\n}\n// Return empty string if keys is empty.\nconst printProps = (keys, props, config, indentation, depth, refs, printer) => {\n const indentationNext = indentation + config.indent;\n const colors = config.colors;\n return keys.map(key => {\n const value = props[key];\n let printed = printer(value, config, indentationNext, depth, refs);\n if (typeof value !== 'string') {\n if (printed.indexOf('\\n') !== -1) {\n printed = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;\n }\n printed = '{' + printed + '}';\n }\n return config.spacingInner + indentation + colors.prop.open + key + colors.prop.close + '=' + colors.value.open + printed + colors.value.close;\n }).join('');\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#node_type_constants\nconst NodeTypeTextNode = 3;\n\n// Return empty string if children is empty.\nconst printChildren = (children, config, indentation, depth, refs, printer) => children.map(child => {\n const printedChild = typeof child === 'string' ? printText(child, config) : printer(child, config, indentation, depth, refs);\n if (printedChild === '' && typeof child === 'object' && child !== null && child.nodeType !== NodeTypeTextNode) {\n // A plugin serialized this Node to '' meaning we should ignore it.\n return '';\n }\n return config.spacingOuter + indentation + printedChild;\n}).join('');\nconst printText = (text, config) => {\n const contentColor = config.colors.content;\n return contentColor.open + escapeHTML(text) + contentColor.close;\n};\nconst printComment = (comment, config) => {\n const commentColor = config.colors.comment;\n return commentColor.open + '<!--' + escapeHTML(comment) + '-->' + commentColor.close;\n};\n\n// Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\nconst printElement = (type, printedProps, printedChildren, config, indentation) => {\n const tagColor = config.colors.tag;\n return tagColor.open + '<' + type + (printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open) + (printedChildren ? '>' + tagColor.close + printedChildren + config.spacingOuter + indentation + tagColor.open + '</' + type : (printedProps && !config.min ? '' : ' ') + '/') + '>' + tagColor.close;\n};\nconst printElementAsLeaf = (type, config) => {\n const tagColor = config.colors.tag;\n return tagColor.open + '<' + type + tagColor.close + ' …' + tagColor.open + ' />' + tagColor.close;\n};\nconst ELEMENT_NODE$1 = 1;\nconst TEXT_NODE$1 = 3;\nconst COMMENT_NODE$1 = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^((HTML|SVG)\\w*)?Element$/;\nconst isCustomElement = val => {\n const {\n tagName\n } = val;\n return Boolean(typeof tagName === 'string' && tagName.includes('-') || typeof val.hasAttribute === 'function' && val.hasAttribute('is'));\n};\nconst testNode = val => {\n const constructorName = val.constructor.name;\n const {\n nodeType\n } = val;\n return nodeType === ELEMENT_NODE$1 && (ELEMENT_REGEXP.test(constructorName) || isCustomElement(val)) || nodeType === TEXT_NODE$1 && constructorName === 'Text' || nodeType === COMMENT_NODE$1 && constructorName === 'Comment' || nodeType === FRAGMENT_NODE && constructorName === 'DocumentFragment';\n};\nfunction nodeIsText(node) {\n return node.nodeType === TEXT_NODE$1;\n}\nfunction nodeIsComment(node) {\n return node.nodeType === COMMENT_NODE$1;\n}\nfunction nodeIsFragment(node) {\n return node.nodeType === FRAGMENT_NODE;\n}\nfunction createDOMElementFilter(filterNode) {\n return {\n test: val => {\n var _val$constructor2;\n return ((val == null || (_val$constructor2 = val.constructor) == null ? void 0 : _val$constructor2.name) || isCustomElement(val)) && testNode(val);\n },\n serialize: (node, config, indentation, depth, refs, printer) => {\n if (nodeIsText(node)) {\n return printText(node.data, config);\n }\n if (nodeIsComment(node)) {\n return printComment(node.data, config);\n }\n const type = nodeIsFragment(node) ? \"DocumentFragment\" : node.tagName.toLowerCase();\n if (++depth > config.maxDepth) {\n return printElementAsLeaf(type, config);\n }\n return printElement(type, printProps(nodeIsFragment(node) ? [] : Array.from(node.attributes).map(attr => attr.name).sort(), nodeIsFragment(node) ? {} : Array.from(node.attributes).reduce((props, attribute) => {\n props[attribute.name] = attribute.value;\n return props;\n }, {}), config, indentation + config.indent, depth, refs, printer), printChildren(Array.prototype.slice.call(node.childNodes || node.children).filter(filterNode), config, indentation + config.indent, depth, refs, printer), config, indentation);\n }\n };\n}\n\n// We try to load node dependencies\nlet picocolors = null;\nlet readFileSync = null;\nlet codeFrameColumns = null;\ntry {\n const nodeRequire = module && module.require;\n readFileSync = nodeRequire.call(module, 'fs').readFileSync;\n codeFrameColumns = nodeRequire.call(module, '@babel/code-frame').codeFrameColumns;\n picocolors = nodeRequire.call(module, 'picocolors');\n} catch {\n // We're in a browser environment\n}\n\n// frame has the form \"at myMethod (location/to/my/file.js:10:2)\"\nfunction getCodeFrame(frame) {\n const locationStart = frame.indexOf('(') + 1;\n const locationEnd = frame.indexOf(')');\n const frameLocation = frame.slice(locationStart, locationEnd);\n const frameLocationElements = frameLocation.split(':');\n const [filename, line, column] = [frameLocationElements[0], parseInt(frameLocationElements[1], 10), parseInt(frameLocationElements[2], 10)];\n let rawFileContents = '';\n try {\n rawFileContents = readFileSync(filename, 'utf-8');\n } catch {\n return '';\n }\n const codeFrame = codeFrameColumns(rawFileContents, {\n start: {\n line,\n column\n }\n }, {\n highlightCode: true,\n linesBelow: 0\n });\n return picocolors.dim(frameLocation) + \"\\n\" + codeFrame + \"\\n\";\n}\nfunction getUserCodeFrame() {\n // If we couldn't load dependencies, we can't generate the user trace\n /* istanbul ignore next */\n if (!readFileSync || !codeFrameColumns) {\n return '';\n }\n const err = new Error();\n const firstClientCodeFrame = err.stack.split('\\n').slice(1) // Remove first line which has the form \"Error: TypeError\"\n .find(frame => !frame.includes('node_modules/')); // Ignore frames from 3rd party libraries\n\n return getCodeFrame(firstClientCodeFrame);\n}\n\n// Constant node.nodeType for text nodes, see:\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#Node_type_constants\nconst TEXT_NODE = 3;\nfunction jestFakeTimersAreEnabled() {\n /* istanbul ignore else */\n // eslint-disable-next-line\n if (typeof jest !== 'undefined' && jest !== null) {\n return (\n // legacy timers\n setTimeout._isMockFunction === true ||\n // modern timers\n // eslint-disable-next-line prefer-object-has-own -- not supported by our support matrix\n Object.prototype.hasOwnProperty.call(setTimeout, 'clock')\n );\n }\n // istanbul ignore next\n return false;\n}\nfunction getDocument() {\n /* istanbul ignore if */\n if (typeof window === 'undefined') {\n throw new Error('Could not find default container');\n }\n return window.document;\n}\nfunction getWindowFromNode(node) {\n if (node.defaultView) {\n // node is document\n return node.defaultView;\n } else if (node.ownerDocument && node.ownerDocument.defaultView) {\n // node is a DOM node\n return node.ownerDocument.defaultView;\n } else if (node.window) {\n // node is window\n return node.window;\n } else if (node.ownerDocument && node.ownerDocument.defaultView === null) {\n throw new Error(\"It looks like the window object is not available for the provided node.\");\n } else if (node.then instanceof Function) {\n throw new Error(\"It looks like you passed a Promise object instead of a DOM node. Did you do something like `fireEvent.click(screen.findBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`, or await the findBy query `fireEvent.click(await screen.findBy...`?\");\n } else if (Array.isArray(node)) {\n throw new Error(\"It looks like you passed an Array instead of a DOM node. Did you do something like `fireEvent.click(screen.getAllBy...` when you meant to use a `getBy` query `fireEvent.click(screen.getBy...`?\");\n } else if (typeof node.debug === 'function' && typeof node.logTestingPlaygroundURL === 'function') {\n throw new Error(\"It looks like you passed a `screen` object. Did you do something like `fireEvent.click(screen, ...` when you meant to use a query, e.g. `fireEvent.click(screen.getBy..., `?\");\n } else {\n // The user passed something unusual to a calling function\n throw new Error(\"The given node is not an Element, the node type is: \" + typeof node + \".\");\n }\n}\nfunction checkContainerType(container) {\n if (!container || !(typeof container.querySelector === 'function') || !(typeof container.querySelectorAll === 'function')) {\n throw new TypeError(\"Expected container to be an Element, a Document or a DocumentFragment but got \" + getTypeName(container) + \".\");\n }\n function getTypeName(object) {\n if (typeof object === 'object') {\n return object === null ? 'null' : object.constructor.name;\n }\n return typeof object;\n }\n}\n\nconst shouldHighlight = () => {\n if (typeof process === 'undefined') {\n // Don't colorize in non-node environments (e.g. Browsers)\n return false;\n }\n let colors;\n // Try to safely parse env COLORS: We will default behavior if any step fails.\n try {\n var _process$env;\n const colorsJSON = (_process$env = process.env) == null ? void 0 : _process$env.COLORS;\n if (colorsJSON) {\n colors = JSON.parse(colorsJSON);\n }\n } catch {\n // If this throws, process.env?.COLORS wasn't parsable. Since we only\n // care about `true` or `false`, we can safely ignore the error.\n }\n if (typeof colors === 'boolean') {\n // If `colors` is set explicitly (both `true` and `false`), use that value.\n return colors;\n } else {\n // If `colors` is not set, colorize if we're in node.\n return process.versions !== undefined && process.versions.node !== undefined;\n }\n};\nconst {\n DOMCollection\n} = prettyFormat.plugins;\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType#node_type_constants\nconst ELEMENT_NODE = 1;\nconst COMMENT_NODE = 8;\n\n// https://github.com/facebook/jest/blob/615084195ae1ae61ddd56162c62bbdda17587569/packages/pretty-format/src/plugins/DOMElement.ts#L50\nfunction filterCommentsAndDefaultIgnoreTagsTags(value) {\n return value.nodeType !== COMMENT_NODE && (value.nodeType !== ELEMENT_NODE || !value.matches(getConfig().defaultIgnore));\n}\nfunction prettyDOM(dom, maxLength, options) {\n if (options === void 0) {\n options = {};\n }\n if (!dom) {\n dom = getDocument().body;\n }\n if (typeof maxLength !== 'number') {\n maxLength = typeof process !== 'undefined' && typeof process.env !== 'undefined' && process.env.DEBUG_PRINT_LIMIT || 7000;\n }\n if (maxLength === 0) {\n return '';\n }\n if (dom.documentElement) {\n dom = dom.documentElement;\n }\n let domTypeName = typeof dom;\n if (domTypeName === 'object') {\n domTypeName = dom.constructor.name;\n } else {\n // To don't fall with `in` operator\n dom = {};\n }\n if (!('outerHTML' in dom)) {\n throw new TypeError(\"Expected an element or document but got \" + domTypeName);\n }\n const {\n filterNode = filterCommentsAndDefaultIgnoreTagsTags,\n ...prettyFormatOptions\n } = options;\n const debugContent = prettyFormat.format(dom, {\n plugins: [createDOMElementFilter(filterNode), DOMCollection],\n printFunctionName: false,\n highlight: shouldHighlight(),\n ...prettyFormatOptions\n });\n return maxLength !== undefined && dom.outerHTML.length > maxLength ? debugContent.slice(0, maxLength) + \"...\" : debugContent;\n}\nconst logDOM = function () {\n const userCodeFrame = getUserCodeFrame();\n if (userCodeFrame) {\n console.log(prettyDOM(...arguments) + \"\\n\\n\" + userCodeFrame);\n } else {\n console.log(prettyDOM(...arguments));\n }\n};\n\n// It would be cleaner for this to live inside './queries', but\n// other parts of the code assume that all exports from\n// './queries' are query functions.\nlet config = {\n testIdAttribute: 'data-testid',\n asyncUtilTimeout: 1000,\n // asyncWrapper and advanceTimersWrapper is to support React's async `act` function.\n // forcing react-testing-library to wrap all async functions would've been\n // a total nightmare (consider wrapping every findBy* query and then also\n // updating `within` so those would be wrapped too. Total nightmare).\n // so we have this config option that's really only intended for\n // react-testing-library to use. For that reason, this feature will remain\n // undocumented.\n asyncWrapper: cb => cb(),\n unstable_advanceTimersWrapper: cb => cb(),\n eventWrapper: cb => cb(),\n // default value for the `hidden` option in `ByRole` queries\n defaultHidden: false,\n // default value for the `ignore` option in `ByText` queries\n defaultIgnore: 'script, style',\n // showOriginalStackTrace flag to show the full error stack traces for async errors\n showOriginalStackTrace: false,\n // throw errors w/ suggestions for better queries. Opt in so off by default.\n throwSuggestions: false,\n // called when getBy* queries fail. (message, container) => Error\n getElementError(message, container) {\n const prettifiedDOM = prettyDOM(container);\n const error = new Error([message, \"Ignored nodes: comments, \" + config.defaultIgnore + \"\\n\" + prettifiedDOM].filter(Boolean).join('\\n\\n'));\n error.name = 'TestingLibraryElementError';\n return error;\n },\n _disableExpensiveErrorDiagnostics: false,\n computedStyleSupportsPseudoElements: false\n};\nfunction runWithExpensiveErrorDiagnosticsDisabled(callback) {\n try {\n config._disableExpensiveErrorDiagnostics = true;\n return callback();\n } finally {\n config._disableExpensiveErrorDiagnostics = false;\n }\n}\nfunction configure(newConfig) {\n if (typeof newConfig === 'function') {\n // Pass the existing config out to the provided function\n // and accept a delta in return\n newConfig = newConfig(config);\n }\n\n // Merge the incoming config delta\n config = {\n ...config,\n ...newConfig\n };\n}\nfunction getConfig() {\n return config;\n}\n\nconst labelledNodeNames = ['button', 'meter', 'output', 'progress', 'select', 'textarea', 'input'];\nfunction getTextContent(node) {\n if (labelledNodeNames.includes(node.nodeName.toLowerCase())) {\n return '';\n }\n if (node.nodeType === TEXT_NODE) return node.textContent;\n return Array.from(node.childNodes).map(childNode => getTextContent(childNode)).join('');\n}\nfunction getLabelContent(element) {\n let textContent;\n if (element.tagName.toLowerCase() === 'label') {\n textContent = getTextContent(element);\n } else {\n textContent = element.value || element.textContent;\n }\n return textContent;\n}\n\n// Based on https://github.com/eps1lon/dom-accessibility-api/pull/352\nfunction getRealLabels(element) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- types are not aware of older browsers that don't implement `labels`\n if (element.labels !== undefined) {\n var _labels;\n return (_labels = element.labels) != null ? _labels : [];\n }\n if (!isLabelable(element)) return [];\n const labels = element.ownerDocument.querySelectorAll('label');\n return Array.from(labels).filter(label => label.control === element);\n}\nfunction isLabelable(element) {\n return /BUTTON|METER|OUTPUT|PROGRESS|SELECT|TEXTAREA/.test(element.tagName) || element.tagName === 'INPUT' && element.getAttribute('type') !== 'hidden';\n}\nfunction getLabels(container, element, _temp) {\n let {\n selector = '*'\n } = _temp === void 0 ? {} : _temp;\n const ariaLabelledBy = element.getAttribute('aria-labelledby');\n const labelsId = ariaLabelledBy ? ariaLabelledBy.split(' ') : [];\n return labelsId.length ? labelsId.map(labelId => {\n const labellingElement = container.querySelector(\"[id=\\\"\" + labelId + \"\\\"]\");\n return labellingElement ? {\n content: getLabelContent(labellingElement),\n formControl: null\n } : {\n content: '',\n formControl: null\n };\n }) : Array.from(getRealLabels(element)).map(label => {\n const textToMatch = getLabelContent(label);\n const formControlSelector = 'button, input, meter, output, progress, select, textarea';\n const labelledFormControl = Array.from(label.querySelectorAll(formControlSelector)).filter(formControlElement => formControlElement.matches(selector))[0];\n return {\n content: textToMatch,\n formControl: labelledFormControl\n };\n });\n}\n\nfunction assertNotNullOrUndefined(matcher) {\n if (matcher === null || matcher === undefined) {\n throw new Error(// eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- implicitly converting `T` to `string`\n \"It looks like \" + matcher + \" was passed instead of a matcher. Did you do something like getByText(\" + matcher + \")?\");\n }\n}\nfunction fuzzyMatches(textToMatch, node, matcher, normalizer) {\n if (typeof textToMatch !== 'string') {\n return false;\n }\n assertNotNullOrUndefined(matcher);\n const normalizedText = normalizer(textToMatch);\n if (typeof matcher === 'string' || typeof matcher === 'number') {\n return normalizedText.toLowerCase().includes(matcher.toString().toLowerCase());\n } else if (typeof matcher === 'function') {\n return matcher(normalizedText, node);\n } else {\n return matchRegExp(matcher, normalizedText);\n }\n}\nfunction matches(textToMatch, node, matcher, normalizer) {\n if (typeof textToMatch !== 'string') {\n return false;\n }\n assertNotNullOrUndefined(matcher);\n const normalizedText = normalizer(textToMatch);\n if (matcher instanceof Function) {\n return matcher(normalizedText, node);\n } else if (matcher instanceof RegExp) {\n return matchRegExp(matcher, normalizedText);\n } else {\n return normalizedText === String(matcher);\n }\n}\nfunction getDefaultNormalizer(_temp) {\n let {\n trim = true,\n collapseWhitespace = true\n } = _temp === void 0 ? {} : _temp;\n return text => {\n let normalizedText = text;\n normalizedText = trim ? normalizedText.trim() : normalizedText;\n normalizedText = collapseWhitespace ? normalizedText.replace(/\\s+/g, ' ') : normalizedText;\n return normalizedText;\n };\n}\n\n/**\n * Constructs a normalizer to pass to functions in matches.js\n * @param {boolean|undefined} trim The user-specified value for `trim`, without\n * any defaulting having been applied\n * @param {boolean|undefined} collapseWhitespace The user-specified value for\n * `collapseWhitespace`, without any defaulting having been applied\n * @param {Function|undefined} normalizer The user-specified normalizer\n * @returns {Function} A normalizer\n */\n\nfunction makeNormalizer(_ref) {\n let {\n trim,\n collapseWhitespace,\n normalizer\n } = _ref;\n if (!normalizer) {\n // No custom normalizer specified. Just use default.\n return getDefaultNormalizer({\n trim,\n collapseWhitespace\n });\n }\n if (typeof trim !== 'undefined' || typeof collapseWhitespace !== 'undefined') {\n // They've also specified a value for trim or collapseWhitespace\n throw new Error('trim and collapseWhitespace are not supported with a normalizer. ' + 'If you want to use the default trim and collapseWhitespace logic in your normalizer, ' + 'use \"getDefaultNormalizer({trim, collapseWhitespace})\" and compose that into your normalizer');\n }\n return normalizer;\n}\nfunction matchRegExp(matcher, text) {\n const match = matcher.test(text);\n if (matcher.global && matcher.lastIndex !== 0) {\n console.warn(\"To match all elements we had to reset the lastIndex of the RegExp because the global flag is enabled. We encourage to remove the global flag from the RegExp.\");\n matcher.lastIndex = 0;\n }\n return match;\n}\n\nfunction getNodeText(node) {\n if (node.matches('input[type=submit], input[type=button], input[type=reset]')) {\n return node.value;\n }\n return Array.from(node.childNodes).filter(child => child.nodeType === TEXT_NODE && Boolean(child.textContent)).map(c => c.textContent).join('');\n}\n\nconst elementRoleList = buildElementRoleList(elementRoles);\n\n/**\n * @param {Element} element -\n * @returns {boolean} - `true` if `element` and its subtree are inaccessible\n */\nfunction isSubtreeInaccessible(element) {\n if (element.hidden === true) {\n return true;\n }\n if (element.getAttribute('aria-hidden') === 'true') {\n return true;\n }\n const window = element.ownerDocument.defaultView;\n if (window.getComputedStyle(element).display === 'none') {\n return true;\n }\n return false;\n}\n\n/**\n * Partial implementation https://www.w3.org/TR/wai-aria-1.2/#tree_exclusion\n * which should only be used for elements with a non-presentational role i.e.\n * `role=\"none\"` and `role=\"presentation\"` will not be excluded.\n *\n * Implements aria-hidden semantics (i.e. parent overrides child)\n * Ignores \"Child Presentational: True\" characteristics\n *\n * @param {Element} element -\n * @param {object} [options] -\n * @param {function (element: Element): boolean} options.isSubtreeInaccessible -\n * can be used to return cached results from previous isSubtreeInaccessible calls\n * @returns {boolean} true if excluded, otherwise false\n */\nfunction isInaccessible(element, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n isSubtreeInaccessible: isSubtreeInaccessibleImpl = isSubtreeInaccessible\n } = options;\n const window = element.ownerDocument.defaultView;\n // since visibility is inherited we can exit early\n if (window.getComputedStyle(element).visibility === 'hidden') {\n return true;\n }\n let currentElement = element;\n while (currentElement) {\n if (isSubtreeInaccessibleImpl(currentElement)) {\n return true;\n }\n currentElement = currentElement.parentElement;\n }\n return false;\n}\nfunction getImplicitAriaRoles(currentNode) {\n // eslint bug here:\n // eslint-disable-next-line no-unused-vars\n for (const {\n match,\n roles\n } of elementRoleList) {\n if (match(currentNode)) {\n return [...roles];\n }\n }\n return [];\n}\nfunction buildElementRoleList(elementRolesMap) {\n function makeElementSelector(_ref) {\n let {\n name,\n attributes\n } = _ref;\n return \"\" + name + attributes.map(_ref2 => {\n let {\n name: attributeName,\n value,\n constraints = []\n } = _ref2;\n const shouldNotExist = constraints.indexOf('undefined') !== -1;\n const shouldBeNonEmpty = constraints.indexOf('set') !== -1;\n const hasExplicitValue = typeof value !== 'undefined';\n if (hasExplicitValue) {\n return \"[\" + attributeName + \"=\\\"\" + value + \"\\\"]\";\n } else if (shouldNotExist) {\n return \":not([\" + attributeName + \"])\";\n } else if (shouldBeNonEmpty) {\n return \"[\" + attributeName + \"]:not([\" + attributeName + \"=\\\"\\\"])\";\n }\n return \"[\" + attributeName + \"]\";\n }).join('');\n }\n function getSelectorSpecificity(_ref3) {\n let {\n attributes = []\n } = _ref3;\n return attributes.length;\n }\n function bySelectorSpecificity(_ref4, _ref5) {\n let {\n specificity: leftSpecificity\n } = _ref4;\n let {\n specificity: rightSpecificity\n } = _ref5;\n return rightSpecificity - leftSpecificity;\n }\n function match(element) {\n let {\n attributes = []\n } = element;\n\n // https://github.com/testing-library/dom-testing-library/issues/814\n const typeTextIndex = attributes.findIndex(attribute => attribute.value && attribute.name === 'type' && attribute.value === 'text');\n if (typeTextIndex >= 0) {\n // not using splice to not mutate the attributes array\n attributes = [...attributes.slice(0, typeTextIndex), ...attributes.slice(typeTextIndex + 1)];\n }\n const selector = makeElementSelector({\n ...element,\n attributes\n });\n return node => {\n if (typeTextIndex >= 0 && node.type !== 'text') {\n return false;\n }\n return node.matches(selector);\n };\n }\n let result = [];\n\n // eslint bug here:\n // eslint-disable-next-line no-unused-vars\n for (const [element, roles] of elementRolesMap.entries()) {\n result = [...result, {\n match: match(element),\n roles: Array.from(roles),\n specificity: getSelectorSpecificity(element)\n }];\n }\n return result.sort(bySelectorSpecificity);\n}\nfunction getRoles(container, _temp) {\n let {\n hidden = false\n } = _temp === void 0 ? {} : _temp;\n function flattenDOM(node) {\n return [node, ...Array.from(node.children).reduce((acc, child) => [...acc, ...flattenDOM(child)], [])];\n }\n return flattenDOM(container).filter(element => {\n return hidden === false ? isInaccessible(element) === false : true;\n }).reduce((acc, node) => {\n let roles = [];\n // TODO: This violates html-aria which does not allow any role on every element\n if (node.hasAttribute('role')) {\n roles = node.getAttribute('role').split(' ').slice(0, 1);\n } else {\n roles = getImplicitAriaRoles(node);\n }\n return roles.reduce((rolesAcc, role) => Array.isArray(rolesAcc[role]) ? {\n ...rolesAcc,\n [role]: [...rolesAcc[role], node]\n } : {\n ...rolesAcc,\n [role]: [node]\n }, acc);\n }, {});\n}\nfunction prettyRoles(dom, _ref6) {\n let {\n hidden,\n includeDescription\n } = _ref6;\n const roles = getRoles(dom, {\n hidden\n });\n // We prefer to skip generic role, we don't recommend it\n return Object.entries(roles).filter(_ref7 => {\n let [role] = _ref7;\n return role !== 'generic';\n }).map(_ref8 => {\n let [role, elements] = _ref8;\n const delimiterBar = '-'.repeat(50);\n const elementsString = elements.map(el => {\n const nameString = \"Name \\\"\" + computeAccessibleName(el, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }) + \"\\\":\\n\";\n const domString = prettyDOM(el.cloneNode(false));\n if (includeDescription) {\n const descriptionString = \"Description \\\"\" + computeAccessibleDescription(el, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }) + \"\\\":\\n\";\n return \"\" + nameString + descriptionString + domString;\n }\n return \"\" + nameString + domString;\n }).join('\\n\\n');\n return role + \":\\n\\n\" + elementsString + \"\\n\\n\" + delimiterBar;\n }).join('\\n');\n}\nconst logRoles = function (dom, _temp2) {\n let {\n hidden = false\n } = _temp2 === void 0 ? {} : _temp2;\n return console.log(prettyRoles(dom, {\n hidden\n }));\n};\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)selected, undefined if not selectable\n */\nfunction computeAriaSelected(element) {\n // implicit value from html-aam mappings: https://www.w3.org/TR/html-aam-1.0/#html-attribute-state-and-property-mappings\n // https://www.w3.org/TR/html-aam-1.0/#details-id-97\n if (element.tagName === 'OPTION') {\n return element.selected;\n }\n\n // explicit value\n return checkBooleanAttribute(element, 'aria-selected');\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean} -\n */\nfunction computeAriaBusy(element) {\n // https://www.w3.org/TR/wai-aria-1.1/#aria-busy\n return element.getAttribute('aria-busy') === 'true';\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)checked, undefined if not checked-able\n */\nfunction computeAriaChecked(element) {\n // implicit value from html-aam mappings: https://www.w3.org/TR/html-aam-1.0/#html-attribute-state-and-property-mappings\n // https://www.w3.org/TR/html-aam-1.0/#details-id-56\n // https://www.w3.org/TR/html-aam-1.0/#details-id-67\n if ('indeterminate' in element && element.indeterminate) {\n return undefined;\n }\n if ('checked' in element) {\n return element.checked;\n }\n\n // explicit value\n return checkBooleanAttribute(element, 'aria-checked');\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)pressed, undefined if not press-able\n */\nfunction computeAriaPressed(element) {\n // https://www.w3.org/TR/wai-aria-1.1/#aria-pressed\n return checkBooleanAttribute(element, 'aria-pressed');\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | string | null} -\n */\nfunction computeAriaCurrent(element) {\n var _ref9, _checkBooleanAttribut;\n // https://www.w3.org/TR/wai-aria-1.1/#aria-current\n return (_ref9 = (_checkBooleanAttribut = checkBooleanAttribute(element, 'aria-current')) != null ? _checkBooleanAttribut : element.getAttribute('aria-current')) != null ? _ref9 : false;\n}\n\n/**\n * @param {Element} element -\n * @returns {boolean | undefined} - false/true if (not)expanded, undefined if not expand-able\n */\nfunction computeAriaExpanded(element) {\n // https://www.w3.org/TR/wai-aria-1.1/#aria-expanded\n return checkBooleanAttribute(element, 'aria-expanded');\n}\nfunction checkBooleanAttribute(element, attribute) {\n const attributeValue = element.getAttribute(attribute);\n if (attributeValue === 'true') {\n return true;\n }\n if (attributeValue === 'false') {\n return false;\n }\n return undefined;\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} - number if implicit heading or aria-level present, otherwise undefined\n */\nfunction computeHeadingLevel(element) {\n // https://w3c.github.io/html-aam/#el-h1-h6\n // https://w3c.github.io/html-aam/#el-h1-h6\n const implicitHeadingLevels = {\n H1: 1,\n H2: 2,\n H3: 3,\n H4: 4,\n H5: 5,\n H6: 6\n };\n // explicit aria-level value\n // https://www.w3.org/TR/wai-aria-1.2/#aria-level\n const ariaLevelAttribute = element.getAttribute('aria-level') && Number(element.getAttribute('aria-level'));\n return ariaLevelAttribute || implicitHeadingLevels[element.tagName];\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} -\n */\nfunction computeAriaValueNow(element) {\n const valueNow = element.getAttribute('aria-valuenow');\n return valueNow === null ? undefined : +valueNow;\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} -\n */\nfunction computeAriaValueMax(element) {\n const valueMax = element.getAttribute('aria-valuemax');\n return valueMax === null ? undefined : +valueMax;\n}\n\n/**\n * @param {Element} element -\n * @returns {number | undefined} -\n */\nfunction computeAriaValueMin(element) {\n const valueMin = element.getAttribute('aria-valuemin');\n return valueMin === null ? undefined : +valueMin;\n}\n\n/**\n * @param {Element} element -\n * @returns {string | undefined} -\n */\nfunction computeAriaValueText(element) {\n const valueText = element.getAttribute('aria-valuetext');\n return valueText === null ? undefined : valueText;\n}\n\nconst normalize = getDefaultNormalizer();\nfunction escapeRegExp(string) {\n return string.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\nfunction getRegExpMatcher(string) {\n return new RegExp(escapeRegExp(string.toLowerCase()), 'i');\n}\nfunction makeSuggestion(queryName, element, content, _ref) {\n let {\n variant,\n name\n } = _ref;\n let warning = '';\n const queryOptions = {};\n const queryArgs = [['Role', 'TestId'].includes(queryName) ? content : getRegExpMatcher(content)];\n if (name) {\n queryOptions.name = getRegExpMatcher(name);\n }\n if (queryName === 'Role' && isInaccessible(element)) {\n queryOptions.hidden = true;\n warning = \"Element is inaccessible. This means that the element and all its children are invisible to screen readers.\\n If you are using the aria-hidden prop, make sure this is the right choice for your case.\\n \";\n }\n if (Object.keys(queryOptions).length > 0) {\n queryArgs.push(queryOptions);\n }\n const queryMethod = variant + \"By\" + queryName;\n return {\n queryName,\n queryMethod,\n queryArgs,\n variant,\n warning,\n toString() {\n if (warning) {\n console.warn(warning);\n }\n let [text, options] = queryArgs;\n text = typeof text === 'string' ? \"'\" + text + \"'\" : text;\n options = options ? \", { \" + Object.entries(options).map(_ref2 => {\n let [k, v] = _ref2;\n return k + \": \" + v;\n }).join(', ') + \" }\" : '';\n return queryMethod + \"(\" + text + options + \")\";\n }\n };\n}\nfunction canSuggest(currentMethod, requestedMethod, data) {\n return data && (!requestedMethod || requestedMethod.toLowerCase() === currentMethod.toLowerCase());\n}\nfunction getSuggestedQuery(element, variant, method) {\n var _element$getAttribute, _getImplicitAriaRoles;\n if (variant === void 0) {\n variant = 'get';\n }\n // don't create suggestions for script and style elements\n if (element.matches(getConfig().defaultIgnore)) {\n return undefined;\n }\n\n //We prefer to suggest something else if the role is generic\n const role = (_element$getAttribute = element.getAttribute('role')) != null ? _element$getAttribute : (_getImplicitAriaRoles = getImplicitAriaRoles(element)) == null ? void 0 : _getImplicitAriaRoles[0];\n if (role !== 'generic' && canSuggest('Role', method, role)) {\n return makeSuggestion('Role', element, role, {\n variant,\n name: computeAccessibleName(element, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n })\n });\n }\n const labelText = getLabels(document, element).map(label => label.content).join(' ');\n if (canSuggest('LabelText', method, labelText)) {\n return makeSuggestion('LabelText', element, labelText, {\n variant\n });\n }\n const placeholderText = element.getAttribute('placeholder');\n if (canSuggest('PlaceholderText', method, placeholderText)) {\n return makeSuggestion('PlaceholderText', element, placeholderText, {\n variant\n });\n }\n const textContent = normalize(getNodeText(element));\n if (canSuggest('Text', method, textContent)) {\n return makeSuggestion('Text', element, textContent, {\n variant\n });\n }\n if (canSuggest('DisplayValue', method, element.value)) {\n return makeSuggestion('DisplayValue', element, normalize(element.value), {\n variant\n });\n }\n const alt = element.getAttribute('alt');\n if (canSuggest('AltText', method, alt)) {\n return makeSuggestion('AltText', element, alt, {\n variant\n });\n }\n const title = element.getAttribute('title');\n if (canSuggest('Title', method, title)) {\n return makeSuggestion('Title', element, title, {\n variant\n });\n }\n const testId = element.getAttribute(getConfig().testIdAttribute);\n if (canSuggest('TestId', method, testId)) {\n return makeSuggestion('TestId', element, testId, {\n variant\n });\n }\n return undefined;\n}\n\n// This is so the stack trace the developer sees is one that's\n// closer to their code (because async stack traces are hard to follow).\nfunction copyStackTrace(target, source) {\n target.stack = source.stack.replace(source.message, target.message);\n}\nfunction waitFor(callback, _ref) {\n let {\n container = getDocument(),\n timeout = getConfig().asyncUtilTimeout,\n showOriginalStackTrace = getConfig().showOriginalStackTrace,\n stackTraceError,\n interval = 50,\n onTimeout = error => {\n Object.defineProperty(error, 'message', {\n value: getConfig().getElementError(error.message, container).message\n });\n return error;\n },\n mutationObserverOptions = {\n subtree: true,\n childList: true,\n attributes: true,\n characterData: true\n }\n } = _ref;\n if (typeof callback !== 'function') {\n throw new TypeError('Received `callback` arg must be a function');\n }\n return new Promise(async (resolve, reject) => {\n let lastError, intervalId, observer;\n let finished = false;\n let promiseStatus = 'idle';\n const overallTimeoutTimer = setTimeout(handleTimeout, timeout);\n const usingJestFakeTimers = jestFakeTimersAreEnabled();\n if (usingJestFakeTimers) {\n const {\n unstable_advanceTimersWrapper: advanceTimersWrapper\n } = getConfig();\n checkCallback();\n // this is a dangerous rule to disable because it could lead to an\n // infinite loop. However, eslint isn't smart enough to know that we're\n // setting finished inside `onDone` which will be called when we're done\n // waiting or when we've timed out.\n // eslint-disable-next-line no-unmodified-loop-condition\n while (!finished) {\n if (!jestFakeTimersAreEnabled()) {\n const error = new Error(\"Changed from using fake timers to real timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to real timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830\");\n if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);\n reject(error);\n return;\n }\n\n // In this rare case, we *need* to wait for in-flight promises\n // to resolve before continuing. We don't need to take advantage\n // of parallelization so we're fine.\n // https://stackoverflow.com/a/59243586/971592\n // eslint-disable-next-line no-await-in-loop\n await advanceTimersWrapper(async () => {\n // we *could* (maybe should?) use `advanceTimersToNextTimer` but it's\n // possible that could make this loop go on forever if someone is using\n // third party code that's setting up recursive timers so rapidly that\n // the user's timer's don't get a chance to resolve. So we'll advance\n // by an interval instead. (We have a test for this case).\n jest.advanceTimersByTime(interval);\n });\n\n // Could have timed-out\n if (finished) {\n break;\n }\n // It's really important that checkCallback is run *before* we flush\n // in-flight promises. To be honest, I'm not sure why, and I can't quite\n // think of a way to reproduce the problem in a test, but I spent\n // an entire day banging my head against a wall on this.\n checkCallback();\n }\n } else {\n try {\n checkContainerType(container);\n } catch (e) {\n reject(e);\n return;\n }\n intervalId = setInterval(checkRealTimersCallback, interval);\n const {\n MutationObserver\n } = getWindowFromNode(container);\n observer = new MutationObserver(checkRealTimersCallback);\n observer.observe(container, mutationObserverOptions);\n checkCallback();\n }\n function onDone(error, result) {\n finished = true;\n clearTimeout(overallTimeoutTimer);\n if (!usingJestFakeTimers) {\n clearInterval(intervalId);\n observer.disconnect();\n }\n if (error) {\n reject(error);\n } else {\n resolve(result);\n }\n }\n function checkRealTimersCallback() {\n if (jestFakeTimersAreEnabled()) {\n const error = new Error(\"Changed from using real timers to fake timers while using waitFor. This is not allowed and will result in very strange behavior. Please ensure you're awaiting all async things your test is doing before changing to fake timers. For more info, please go to https://github.com/testing-library/dom-testing-library/issues/830\");\n if (!showOriginalStackTrace) copyStackTrace(error, stackTraceError);\n return reject(error);\n } else {\n return checkCallback();\n }\n }\n function checkCallback() {\n if (promiseStatus === 'pending') return;\n try {\n const result = runWithExpensiveErrorDiagnosticsDisabled(callback);\n if (typeof (result == null ? void 0 : result.then) === 'function') {\n promiseStatus = 'pending';\n result.then(resolvedValue => {\n promiseStatus = 'resolved';\n onDone(null, resolvedValue);\n }, rejectedValue => {\n promiseStatus = 'rejected';\n lastError = rejectedValue;\n });\n } else {\n onDone(null, result);\n }\n // If `callback` throws, wait for the next mutation, interval, or timeout.\n } catch (error) {\n // Save the most recent callback error to reject the promise with it in the event of a timeout\n lastError = error;\n }\n }\n function handleTimeout() {\n let error;\n if (lastError) {\n error = lastError;\n if (!showOriginalStackTrace && error.name === 'TestingLibraryElementError') {\n copyStackTrace(error, stackTraceError);\n }\n } else {\n error = new Error('Timed out in waitFor.');\n if (!showOriginalStackTrace) {\n copyStackTrace(error, stackTraceError);\n }\n }\n onDone(onTimeout(error), null);\n }\n });\n}\nfunction waitForWrapper(callback, options) {\n // create the error here so its stack trace is as close to the\n // calling code as possible\n const stackTraceError = new Error('STACK_TRACE_MESSAGE');\n return getConfig().asyncWrapper(() => waitFor(callback, {\n stackTraceError,\n ...options\n }));\n}\n\n/*\neslint\n max-lines-per-function: [\"error\", {\"max\": 200}],\n*/\n\nfunction getElementError(message, container) {\n return getConfig().getElementError(message, container);\n}\nfunction getMultipleElementsFoundError(message, container) {\n return getElementError(message + \"\\n\\n(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).\", container);\n}\nfunction queryAllByAttribute(attribute, container, text, _temp) {\n let {\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n return Array.from(container.querySelectorAll(\"[\" + attribute + \"]\")).filter(node => matcher(node.getAttribute(attribute), node, text, matchNormalizer));\n}\nfunction queryByAttribute(attribute, container, text, options) {\n const els = queryAllByAttribute(attribute, container, text, options);\n if (els.length > 1) {\n throw getMultipleElementsFoundError(\"Found multiple elements by [\" + attribute + \"=\" + text + \"]\", container);\n }\n return els[0] || null;\n}\n\n// this accepts a query function and returns a function which throws an error\n// if more than one elements is returned, otherwise it returns the first\n// element or null\nfunction makeSingleQuery(allQuery, getMultipleError) {\n return function (container) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n const els = allQuery(container, ...args);\n if (els.length > 1) {\n const elementStrings = els.map(element => getElementError(null, element).message).join('\\n\\n');\n throw getMultipleElementsFoundError(getMultipleError(container, ...args) + \"\\n\\nHere are the matching elements:\\n\\n\" + elementStrings, container);\n }\n return els[0] || null;\n };\n}\nfunction getSuggestionError(suggestion, container) {\n return getConfig().getElementError(\"A better query is available, try this:\\n\" + suggestion.toString() + \"\\n\", container);\n}\n\n// this accepts a query function and returns a function which throws an error\n// if an empty list of elements is returned\nfunction makeGetAllQuery(allQuery, getMissingError) {\n return function (container) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n const els = allQuery(container, ...args);\n if (!els.length) {\n throw getConfig().getElementError(getMissingError(container, ...args), container);\n }\n return els;\n };\n}\n\n// this accepts a getter query function and returns a function which calls\n// waitFor and passing a function which invokes the getter.\nfunction makeFindQuery(getter) {\n return (container, text, options, waitForOptions) => {\n return waitForWrapper(() => {\n return getter(container, text, options);\n }, {\n container,\n ...waitForOptions\n });\n };\n}\nconst wrapSingleQueryWithSuggestion = (query, queryAllByName, variant) => function (container) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n const element = query(container, ...args);\n const [{\n suggest = getConfig().throwSuggestions\n } = {}] = args.slice(-1);\n if (element && suggest) {\n const suggestion = getSuggestedQuery(element, variant);\n if (suggestion && !queryAllByName.endsWith(suggestion.queryName)) {\n throw getSuggestionError(suggestion.toString(), container);\n }\n }\n return element;\n};\nconst wrapAllByQueryWithSuggestion = (query, queryAllByName, variant) => function (container) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n const els = query(container, ...args);\n const [{\n suggest = getConfig().throwSuggestions\n } = {}] = args.slice(-1);\n if (els.length && suggest) {\n // get a unique list of all suggestion messages. We are only going to make a suggestion if\n // all the suggestions are the same\n const uniqueSuggestionMessages = [...new Set(els.map(element => {\n var _getSuggestedQuery;\n return (_getSuggestedQuery = getSuggestedQuery(element, variant)) == null ? void 0 : _getSuggestedQuery.toString();\n }))];\n if (\n // only want to suggest if all the els have the same suggestion.\n uniqueSuggestionMessages.length === 1 && !queryAllByName.endsWith(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- TODO: Can this be null at runtime?\n getSuggestedQuery(els[0], variant).queryName)) {\n throw getSuggestionError(uniqueSuggestionMessages[0], container);\n }\n }\n return els;\n};\n\n// TODO: This deviates from the published declarations\n// However, the implementation always required a dyadic (after `container`) not variadic `queryAllBy` considering the implementation of `makeFindQuery`\n// This is at least statically true and can be verified by accepting `QueryMethod<Arguments, HTMLElement[]>`\nfunction buildQueries(queryAllBy, getMultipleError, getMissingError) {\n const queryBy = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllBy, getMultipleError), queryAllBy.name, 'query');\n const getAllBy = makeGetAllQuery(queryAllBy, getMissingError);\n const getBy = makeSingleQuery(getAllBy, getMultipleError);\n const getByWithSuggestions = wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, 'get');\n const getAllWithSuggestions = wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name.replace('query', 'get'), 'getAll');\n const findAllBy = makeFindQuery(wrapAllByQueryWithSuggestion(getAllBy, queryAllBy.name, 'findAll'));\n const findBy = makeFindQuery(wrapSingleQueryWithSuggestion(getBy, queryAllBy.name, 'find'));\n return [queryBy, getAllWithSuggestions, getByWithSuggestions, findAllBy, findBy];\n}\n\nvar queryHelpers = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getElementError: getElementError,\n wrapAllByQueryWithSuggestion: wrapAllByQueryWithSuggestion,\n wrapSingleQueryWithSuggestion: wrapSingleQueryWithSuggestion,\n getMultipleElementsFoundError: getMultipleElementsFoundError,\n queryAllByAttribute: queryAllByAttribute,\n queryByAttribute: queryByAttribute,\n makeSingleQuery: makeSingleQuery,\n makeGetAllQuery: makeGetAllQuery,\n makeFindQuery: makeFindQuery,\n buildQueries: buildQueries\n});\n\nfunction queryAllLabels(container) {\n return Array.from(container.querySelectorAll('label,input')).map(node => {\n return {\n node,\n textToMatch: getLabelContent(node)\n };\n }).filter(_ref => {\n let {\n textToMatch\n } = _ref;\n return textToMatch !== null;\n });\n}\nconst queryAllLabelsByText = function (container, text, _temp) {\n let {\n exact = true,\n trim,\n collapseWhitespace,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n const textToMatchByLabels = queryAllLabels(container);\n return textToMatchByLabels.filter(_ref2 => {\n let {\n node,\n textToMatch\n } = _ref2;\n return matcher(textToMatch, node, text, matchNormalizer);\n }).map(_ref3 => {\n let {\n node\n } = _ref3;\n return node;\n });\n};\nconst queryAllByLabelText = function (container, text, _temp2) {\n let {\n selector = '*',\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp2 === void 0 ? {} : _temp2;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n const matchingLabelledElements = Array.from(container.querySelectorAll('*')).filter(element => {\n return getRealLabels(element).length || element.hasAttribute('aria-labelledby');\n }).reduce((labelledElements, labelledElement) => {\n const labelList = getLabels(container, labelledElement, {\n selector\n });\n labelList.filter(label => Boolean(label.formControl)).forEach(label => {\n if (matcher(label.content, label.formControl, text, matchNormalizer) && label.formControl) {\n labelledElements.push(label.formControl);\n }\n });\n const labelsValue = labelList.filter(label => Boolean(label.content)).map(label => label.content);\n if (matcher(labelsValue.join(' '), labelledElement, text, matchNormalizer)) {\n labelledElements.push(labelledElement);\n }\n if (labelsValue.length > 1) {\n labelsValue.forEach((labelValue, index) => {\n if (matcher(labelValue, labelledElement, text, matchNormalizer)) {\n labelledElements.push(labelledElement);\n }\n const labelsFiltered = [...labelsValue];\n labelsFiltered.splice(index, 1);\n if (labelsFiltered.length > 1) {\n if (matcher(labelsFiltered.join(' '), labelledElement, text, matchNormalizer)) {\n labelledElements.push(labelledElement);\n }\n }\n });\n }\n return labelledElements;\n }, []).concat(queryAllByAttribute('aria-label', container, text, {\n exact,\n normalizer: matchNormalizer\n }));\n return Array.from(new Set(matchingLabelledElements)).filter(element => element.matches(selector));\n};\n\n// the getAll* query would normally look like this:\n// const getAllByLabelText = makeGetAllQuery(\n// queryAllByLabelText,\n// (c, text) => `Unable to find a label with the text of: ${text}`,\n// )\n// however, we can give a more helpful error message than the generic one,\n// so we're writing this one out by hand.\nconst getAllByLabelText = function (container, text) {\n for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n rest[_key - 2] = arguments[_key];\n }\n const els = queryAllByLabelText(container, text, ...rest);\n if (!els.length) {\n const labels = queryAllLabelsByText(container, text, ...rest);\n if (labels.length) {\n const tagNames = labels.map(label => getTagNameOfElementAssociatedWithLabelViaFor(container, label)).filter(tagName => !!tagName);\n if (tagNames.length) {\n throw getConfig().getElementError(tagNames.map(tagName => \"Found a label with the text of: \" + text + \", however the element associated with this label (<\" + tagName + \" />) is non-labellable [https://html.spec.whatwg.org/multipage/forms.html#category-label]. If you really need to label a <\" + tagName + \" />, you can use aria-label or aria-labelledby instead.\").join('\\n\\n'), container);\n } else {\n throw getConfig().getElementError(\"Found a label with the text of: \" + text + \", however no form control was found associated to that label. Make sure you're using the \\\"for\\\" attribute or \\\"aria-labelledby\\\" attribute correctly.\", container);\n }\n } else {\n throw getConfig().getElementError(\"Unable to find a label with the text of: \" + text, container);\n }\n }\n return els;\n};\nfunction getTagNameOfElementAssociatedWithLabelViaFor(container, label) {\n const htmlFor = label.getAttribute('for');\n if (!htmlFor) {\n return null;\n }\n const element = container.querySelector(\"[id=\\\"\" + htmlFor + \"\\\"]\");\n return element ? element.tagName.toLowerCase() : null;\n}\n\n// the reason mentioned above is the same reason we're not using buildQueries\nconst getMultipleError$7 = (c, text) => \"Found multiple elements with the text of: \" + text;\nconst queryByLabelText = wrapSingleQueryWithSuggestion(makeSingleQuery(queryAllByLabelText, getMultipleError$7), queryAllByLabelText.name, 'query');\nconst getByLabelText = makeSingleQuery(getAllByLabelText, getMultipleError$7);\nconst findAllByLabelText = makeFindQuery(wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, 'findAll'));\nconst findByLabelText = makeFindQuery(wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, 'find'));\nconst getAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(getAllByLabelText, getAllByLabelText.name, 'getAll');\nconst getByLabelTextWithSuggestions = wrapSingleQueryWithSuggestion(getByLabelText, getAllByLabelText.name, 'get');\nconst queryAllByLabelTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByLabelText, queryAllByLabelText.name, 'queryAll');\n\nconst queryAllByPlaceholderText = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n checkContainerType(args[0]);\n return queryAllByAttribute('placeholder', ...args);\n};\nconst getMultipleError$6 = (c, text) => \"Found multiple elements with the placeholder text of: \" + text;\nconst getMissingError$6 = (c, text) => \"Unable to find an element with the placeholder text of: \" + text;\nconst queryAllByPlaceholderTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByPlaceholderText, queryAllByPlaceholderText.name, 'queryAll');\nconst [queryByPlaceholderText, getAllByPlaceholderText, getByPlaceholderText, findAllByPlaceholderText, findByPlaceholderText] = buildQueries(queryAllByPlaceholderText, getMultipleError$6, getMissingError$6);\n\nconst queryAllByText = function (container, text, _temp) {\n let {\n selector = '*',\n exact = true,\n collapseWhitespace,\n trim,\n ignore = getConfig().defaultIgnore,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n let baseArray = [];\n if (typeof container.matches === 'function' && container.matches(selector)) {\n baseArray = [container];\n }\n return [...baseArray, ...Array.from(container.querySelectorAll(selector))]\n // TODO: `matches` according lib.dom.d.ts can get only `string` but according our code it can handle also boolean :)\n .filter(node => !ignore || !node.matches(ignore)).filter(node => matcher(getNodeText(node), node, text, matchNormalizer));\n};\nconst getMultipleError$5 = (c, text) => \"Found multiple elements with the text: \" + text;\nconst getMissingError$5 = function (c, text, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n collapseWhitespace,\n trim,\n normalizer,\n selector\n } = options;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n const normalizedText = matchNormalizer(text.toString());\n const isNormalizedDifferent = normalizedText !== text.toString();\n const isCustomSelector = (selector != null ? selector : '*') !== '*';\n return \"Unable to find an element with the text: \" + (isNormalizedDifferent ? normalizedText + \" (normalized from '\" + text + \"')\" : text) + (isCustomSelector ? \", which matches selector '\" + selector + \"'\" : '') + \". This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\";\n};\nconst queryAllByTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByText, queryAllByText.name, 'queryAll');\nconst [queryByText, getAllByText, getByText, findAllByText, findByText] = buildQueries(queryAllByText, getMultipleError$5, getMissingError$5);\n\nconst queryAllByDisplayValue = function (container, value, _temp) {\n let {\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n return Array.from(container.querySelectorAll(\"input,textarea,select\")).filter(node => {\n if (node.tagName === 'SELECT') {\n const selectedOptions = Array.from(node.options).filter(option => option.selected);\n return selectedOptions.some(optionNode => matcher(getNodeText(optionNode), optionNode, value, matchNormalizer));\n } else {\n return matcher(node.value, node, value, matchNormalizer);\n }\n });\n};\nconst getMultipleError$4 = (c, value) => \"Found multiple elements with the display value: \" + value + \".\";\nconst getMissingError$4 = (c, value) => \"Unable to find an element with the display value: \" + value + \".\";\nconst queryAllByDisplayValueWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByDisplayValue, queryAllByDisplayValue.name, 'queryAll');\nconst [queryByDisplayValue, getAllByDisplayValue, getByDisplayValue, findAllByDisplayValue, findByDisplayValue] = buildQueries(queryAllByDisplayValue, getMultipleError$4, getMissingError$4);\n\n// Valid tags are img, input, area and custom elements\nconst VALID_TAG_REGEXP = /^(img|input|area|.+-.+)$/i;\nconst queryAllByAltText = function (container, alt, options) {\n if (options === void 0) {\n options = {};\n }\n checkContainerType(container);\n return queryAllByAttribute('alt', container, alt, options).filter(node => VALID_TAG_REGEXP.test(node.tagName));\n};\nconst getMultipleError$3 = (c, alt) => \"Found multiple elements with the alt text: \" + alt;\nconst getMissingError$3 = (c, alt) => \"Unable to find an element with the alt text: \" + alt;\nconst queryAllByAltTextWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByAltText, queryAllByAltText.name, 'queryAll');\nconst [queryByAltText, getAllByAltText, getByAltText, findAllByAltText, findByAltText] = buildQueries(queryAllByAltText, getMultipleError$3, getMissingError$3);\n\nconst isSvgTitle = node => {\n var _node$parentElement;\n return node.tagName.toLowerCase() === 'title' && ((_node$parentElement = node.parentElement) == null ? void 0 : _node$parentElement.tagName.toLowerCase()) === 'svg';\n};\nconst queryAllByTitle = function (container, text, _temp) {\n let {\n exact = true,\n collapseWhitespace,\n trim,\n normalizer\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n const matcher = exact ? matches : fuzzyMatches;\n const matchNormalizer = makeNormalizer({\n collapseWhitespace,\n trim,\n normalizer\n });\n return Array.from(container.querySelectorAll('[title], svg > title')).filter(node => matcher(node.getAttribute('title'), node, text, matchNormalizer) || isSvgTitle(node) && matcher(getNodeText(node), node, text, matchNormalizer));\n};\nconst getMultipleError$2 = (c, title) => \"Found multiple elements with the title: \" + title + \".\";\nconst getMissingError$2 = (c, title) => \"Unable to find an element with the title: \" + title + \".\";\nconst queryAllByTitleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTitle, queryAllByTitle.name, 'queryAll');\nconst [queryByTitle, getAllByTitle, getByTitle, findAllByTitle, findByTitle] = buildQueries(queryAllByTitle, getMultipleError$2, getMissingError$2);\n\n/* eslint-disable complexity */\nconst queryAllByRole = function (container, role, _temp) {\n let {\n hidden = getConfig().defaultHidden,\n name,\n description,\n queryFallbacks = false,\n selected,\n busy,\n checked,\n pressed,\n current,\n level,\n expanded,\n value: {\n now: valueNow,\n min: valueMin,\n max: valueMax,\n text: valueText\n } = {}\n } = _temp === void 0 ? {} : _temp;\n checkContainerType(container);\n if (selected !== undefined) {\n var _allRoles$get;\n // guard against unknown roles\n if (((_allRoles$get = roles.get(role)) == null ? void 0 : _allRoles$get.props['aria-selected']) === undefined) {\n throw new Error(\"\\\"aria-selected\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (busy !== undefined) {\n var _allRoles$get2;\n // guard against unknown roles\n if (((_allRoles$get2 = roles.get(role)) == null ? void 0 : _allRoles$get2.props['aria-busy']) === undefined) {\n throw new Error(\"\\\"aria-busy\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (checked !== undefined) {\n var _allRoles$get3;\n // guard against unknown roles\n if (((_allRoles$get3 = roles.get(role)) == null ? void 0 : _allRoles$get3.props['aria-checked']) === undefined) {\n throw new Error(\"\\\"aria-checked\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (pressed !== undefined) {\n var _allRoles$get4;\n // guard against unknown roles\n if (((_allRoles$get4 = roles.get(role)) == null ? void 0 : _allRoles$get4.props['aria-pressed']) === undefined) {\n throw new Error(\"\\\"aria-pressed\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (current !== undefined) {\n var _allRoles$get5;\n /* istanbul ignore next */\n // guard against unknown roles\n // All currently released ARIA versions support `aria-current` on all roles.\n // Leaving this for symmetry and forward compatibility\n if (((_allRoles$get5 = roles.get(role)) == null ? void 0 : _allRoles$get5.props['aria-current']) === undefined) {\n throw new Error(\"\\\"aria-current\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (level !== undefined) {\n // guard against using `level` option with any role other than `heading`\n if (role !== 'heading') {\n throw new Error(\"Role \\\"\" + role + \"\\\" cannot have \\\"level\\\" property.\");\n }\n }\n if (valueNow !== undefined) {\n var _allRoles$get6;\n // guard against unknown roles\n if (((_allRoles$get6 = roles.get(role)) == null ? void 0 : _allRoles$get6.props['aria-valuenow']) === undefined) {\n throw new Error(\"\\\"aria-valuenow\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (valueMax !== undefined) {\n var _allRoles$get7;\n // guard against unknown roles\n if (((_allRoles$get7 = roles.get(role)) == null ? void 0 : _allRoles$get7.props['aria-valuemax']) === undefined) {\n throw new Error(\"\\\"aria-valuemax\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (valueMin !== undefined) {\n var _allRoles$get8;\n // guard against unknown roles\n if (((_allRoles$get8 = roles.get(role)) == null ? void 0 : _allRoles$get8.props['aria-valuemin']) === undefined) {\n throw new Error(\"\\\"aria-valuemin\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (valueText !== undefined) {\n var _allRoles$get9;\n // guard against unknown roles\n if (((_allRoles$get9 = roles.get(role)) == null ? void 0 : _allRoles$get9.props['aria-valuetext']) === undefined) {\n throw new Error(\"\\\"aria-valuetext\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n if (expanded !== undefined) {\n var _allRoles$get0;\n // guard against unknown roles\n if (((_allRoles$get0 = roles.get(role)) == null ? void 0 : _allRoles$get0.props['aria-expanded']) === undefined) {\n throw new Error(\"\\\"aria-expanded\\\" is not supported on role \\\"\" + role + \"\\\".\");\n }\n }\n const subtreeIsInaccessibleCache = new WeakMap();\n function cachedIsSubtreeInaccessible(element) {\n if (!subtreeIsInaccessibleCache.has(element)) {\n subtreeIsInaccessibleCache.set(element, isSubtreeInaccessible(element));\n }\n return subtreeIsInaccessibleCache.get(element);\n }\n return Array.from(container.querySelectorAll(\n // Only query elements that can be matched by the following filters\n makeRoleSelector(role))).filter(node => {\n const isRoleSpecifiedExplicitly = node.hasAttribute('role');\n if (isRoleSpecifiedExplicitly) {\n const roleValue = node.getAttribute('role');\n if (queryFallbacks) {\n return roleValue.split(' ').filter(Boolean).some(roleAttributeToken => roleAttributeToken === role);\n }\n // other wise only send the first token to match\n const [firstRoleAttributeToken] = roleValue.split(' ');\n return firstRoleAttributeToken === role;\n }\n const implicitRoles = getImplicitAriaRoles(node);\n return implicitRoles.some(implicitRole => {\n return implicitRole === role;\n });\n }).filter(element => {\n if (selected !== undefined) {\n return selected === computeAriaSelected(element);\n }\n if (busy !== undefined) {\n return busy === computeAriaBusy(element);\n }\n if (checked !== undefined) {\n return checked === computeAriaChecked(element);\n }\n if (pressed !== undefined) {\n return pressed === computeAriaPressed(element);\n }\n if (current !== undefined) {\n return current === computeAriaCurrent(element);\n }\n if (expanded !== undefined) {\n return expanded === computeAriaExpanded(element);\n }\n if (level !== undefined) {\n return level === computeHeadingLevel(element);\n }\n if (valueNow !== undefined || valueMax !== undefined || valueMin !== undefined || valueText !== undefined) {\n let valueMatches = true;\n if (valueNow !== undefined) {\n valueMatches && (valueMatches = valueNow === computeAriaValueNow(element));\n }\n if (valueMax !== undefined) {\n valueMatches && (valueMatches = valueMax === computeAriaValueMax(element));\n }\n if (valueMin !== undefined) {\n valueMatches && (valueMatches = valueMin === computeAriaValueMin(element));\n }\n if (valueText !== undefined) {\n var _computeAriaValueText;\n valueMatches && (valueMatches = matches((_computeAriaValueText = computeAriaValueText(element)) != null ? _computeAriaValueText : null, element, valueText, text => text));\n }\n return valueMatches;\n }\n // don't care if aria attributes are unspecified\n return true;\n }).filter(element => {\n if (name === undefined) {\n // Don't care\n return true;\n }\n return matches(computeAccessibleName(element, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }), element, name, text => text);\n }).filter(element => {\n if (description === undefined) {\n // Don't care\n return true;\n }\n return matches(computeAccessibleDescription(element, {\n computedStyleSupportsPseudoElements: getConfig().computedStyleSupportsPseudoElements\n }), element, description, text => text);\n }).filter(element => {\n return hidden === false ? isInaccessible(element, {\n isSubtreeInaccessible: cachedIsSubtreeInaccessible\n }) === false : true;\n });\n};\nfunction makeRoleSelector(role) {\n var _roleElements$get;\n const explicitRoleSelector = \"*[role~=\\\"\" + role + \"\\\"]\";\n const roleRelations = (_roleElements$get = roleElements.get(role)) != null ? _roleElements$get : new Set();\n const implicitRoleSelectors = new Set(Array.from(roleRelations).map(_ref => {\n let {\n name\n } = _ref;\n return name;\n }));\n\n // Current transpilation config sometimes assumes `...` is always applied to arrays.\n // `...` is equivalent to `Array.prototype.concat` for arrays.\n // If you replace this code with `[explicitRoleSelector, ...implicitRoleSelectors]`, make sure every transpilation target retains the `...` in favor of `Array.prototype.concat`.\n return [explicitRoleSelector].concat(Array.from(implicitRoleSelectors)).join(',');\n}\nconst getNameHint = name => {\n let nameHint = '';\n if (name === undefined) {\n nameHint = '';\n } else if (typeof name === 'string') {\n nameHint = \" and name \\\"\" + name + \"\\\"\";\n } else {\n nameHint = \" and name `\" + name + \"`\";\n }\n return nameHint;\n};\nconst getMultipleError$1 = function (c, role, _temp2) {\n let {\n name\n } = _temp2 === void 0 ? {} : _temp2;\n return \"Found multiple elements with the role \\\"\" + role + \"\\\"\" + getNameHint(name);\n};\nconst getMissingError$1 = function (container, role, _temp3) {\n let {\n hidden = getConfig().defaultHidden,\n name,\n description\n } = _temp3 === void 0 ? {} : _temp3;\n if (getConfig()._disableExpensiveErrorDiagnostics) {\n return \"Unable to find role=\\\"\" + role + \"\\\"\" + getNameHint(name);\n }\n let roles = '';\n Array.from(container.children).forEach(childElement => {\n roles += prettyRoles(childElement, {\n hidden,\n includeDescription: description !== undefined\n });\n });\n let roleMessage;\n if (roles.length === 0) {\n if (hidden === false) {\n roleMessage = 'There are no accessible roles. But there might be some inaccessible roles. ' + 'If you wish to access them, then set the `hidden` option to `true`. ' + 'Learn more about this here: https://testing-library.com/docs/dom-testing-library/api-queries#byrole';\n } else {\n roleMessage = 'There are no available roles.';\n }\n } else {\n roleMessage = (\"\\nHere are the \" + (hidden === false ? 'accessible' : 'available') + \" roles:\\n\\n \" + roles.replace(/\\n/g, '\\n ').replace(/\\n\\s\\s\\n/g, '\\n\\n') + \"\\n\").trim();\n }\n let nameHint = '';\n if (name === undefined) {\n nameHint = '';\n } else if (typeof name === 'string') {\n nameHint = \" and name \\\"\" + name + \"\\\"\";\n } else {\n nameHint = \" and name `\" + name + \"`\";\n }\n let descriptionHint = '';\n if (description === undefined) {\n descriptionHint = '';\n } else if (typeof description === 'string') {\n descriptionHint = \" and description \\\"\" + description + \"\\\"\";\n } else {\n descriptionHint = \" and description `\" + description + \"`\";\n }\n return (\"\\nUnable to find an \" + (hidden === false ? 'accessible ' : '') + \"element with the role \\\"\" + role + \"\\\"\" + nameHint + descriptionHint + \"\\n\\n\" + roleMessage).trim();\n};\nconst queryAllByRoleWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByRole, queryAllByRole.name, 'queryAll');\nconst [queryByRole, getAllByRole, getByRole, findAllByRole, findByRole] = buildQueries(queryAllByRole, getMultipleError$1, getMissingError$1);\n\nconst getTestIdAttribute = () => getConfig().testIdAttribute;\nconst queryAllByTestId = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n checkContainerType(args[0]);\n return queryAllByAttribute(getTestIdAttribute(), ...args);\n};\nconst getMultipleError = (c, id) => \"Found multiple elements by: [\" + getTestIdAttribute() + \"=\\\"\" + id + \"\\\"]\";\nconst getMissingError = (c, id) => \"Unable to find an element by: [\" + getTestIdAttribute() + \"=\\\"\" + id + \"\\\"]\";\nconst queryAllByTestIdWithSuggestions = wrapAllByQueryWithSuggestion(queryAllByTestId, queryAllByTestId.name, 'queryAll');\nconst [queryByTestId, getAllByTestId, getByTestId, findAllByTestId, findByTestId] = buildQueries(queryAllByTestId, getMultipleError, getMissingError);\n\nvar queries = /*#__PURE__*/Object.freeze({\n __proto__: null,\n queryAllByLabelText: queryAllByLabelTextWithSuggestions,\n queryByLabelText: queryByLabelText,\n getAllByLabelText: getAllByLabelTextWithSuggestions,\n getByLabelText: getByLabelTextWithSuggestions,\n findAllByLabelText: findAllByLabelText,\n findByLabelText: findByLabelText,\n queryByPlaceholderText: queryByPlaceholderText,\n queryAllByPlaceholderText: queryAllByPlaceholderTextWithSuggestions,\n getByPlaceholderText: getByPlaceholderText,\n getAllByPlaceholderText: getAllByPlaceholderText,\n findAllByPlaceholderText: findAllByPlaceholderText,\n findByPlaceholderText: findByPlaceholderText,\n queryByText: queryByText,\n queryAllByText: queryAllByTextWithSuggestions,\n getByText: getByText,\n getAllByText: getAllByText,\n findAllByText: findAllByText,\n findByText: findByText,\n queryByDisplayValue: queryByDisplayValue,\n queryAllByDisplayValue: queryAllByDisplayValueWithSuggestions,\n getByDisplayValue: getByDisplayValue,\n getAllByDisplayValue: getAllByDisplayValue,\n findAllByDisplayValue: findAllByDisplayValue,\n findByDisplayValue: findByDisplayValue,\n queryByAltText: queryByAltText,\n queryAllByAltText: queryAllByAltTextWithSuggestions,\n getByAltText: getByAltText,\n getAllByAltText: getAllByAltText,\n findAllByAltText: findAllByAltText,\n findByAltText: findByAltText,\n queryByTitle: queryByTitle,\n queryAllByTitle: queryAllByTitleWithSuggestions,\n getByTitle: getByTitle,\n getAllByTitle: getAllByTitle,\n findAllByTitle: findAllByTitle,\n findByTitle: findByTitle,\n queryByRole: queryByRole,\n queryAllByRole: queryAllByRoleWithSuggestions,\n getAllByRole: getAllByRole,\n getByRole: getByRole,\n findAllByRole: findAllByRole,\n findByRole: findByRole,\n queryByTestId: queryByTestId,\n queryAllByTestId: queryAllByTestIdWithSuggestions,\n getByTestId: getByTestId,\n getAllByTestId: getAllByTestId,\n findAllByTestId: findAllByTestId,\n findByTestId: findByTestId\n});\n\n/**\n * @typedef {{[key: string]: Function}} FuncMap\n */\n\n/**\n * @param {HTMLElement} element container\n * @param {FuncMap} queries object of functions\n * @param {Object} initialValue for reducer\n * @returns {FuncMap} returns object of functions bound to container\n */\nfunction getQueriesForElement(element, queries$1, initialValue) {\n if (queries$1 === void 0) {\n queries$1 = queries;\n }\n if (initialValue === void 0) {\n initialValue = {};\n }\n return Object.keys(queries$1).reduce((helpers, key) => {\n const fn = queries$1[key];\n helpers[key] = fn.bind(null, element);\n return helpers;\n }, initialValue);\n}\n\nconst isRemoved = result => !result || Array.isArray(result) && !result.length;\n\n// Check if the element is not present.\n// As the name implies, waitForElementToBeRemoved should check `present` --> `removed`\nfunction initialCheck(elements) {\n if (isRemoved(elements)) {\n throw new Error('The element(s) given to waitForElementToBeRemoved are already removed. waitForElementToBeRemoved requires that the element(s) exist(s) before waiting for removal.');\n }\n}\nasync function waitForElementToBeRemoved(callback, options) {\n // created here so we get a nice stacktrace\n const timeoutError = new Error('Timed out in waitForElementToBeRemoved.');\n if (typeof callback !== 'function') {\n initialCheck(callback);\n const elements = Array.isArray(callback) ? callback : [callback];\n const getRemainingElements = elements.map(element => {\n let parent = element.parentElement;\n if (parent === null) return () => null;\n while (parent.parentElement) parent = parent.parentElement;\n return () => parent.contains(element) ? element : null;\n });\n callback = () => getRemainingElements.map(c => c()).filter(Boolean);\n }\n initialCheck(callback());\n return waitForWrapper(() => {\n let result;\n try {\n result = callback();\n } catch (error) {\n if (error.name === 'TestingLibraryElementError') {\n return undefined;\n }\n throw error;\n }\n if (!isRemoved(result)) {\n throw timeoutError;\n }\n return undefined;\n }, options);\n}\n\n/*\neslint\n require-await: \"off\"\n*/\n\nconst eventMap = {\n // Clipboard Events\n copy: {\n EventType: 'ClipboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n cut: {\n EventType: 'ClipboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n paste: {\n EventType: 'ClipboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Composition Events\n compositionEnd: {\n EventType: 'CompositionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n compositionStart: {\n EventType: 'CompositionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n compositionUpdate: {\n EventType: 'CompositionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Keyboard Events\n keyDown: {\n EventType: 'KeyboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n charCode: 0,\n composed: true\n }\n },\n keyPress: {\n EventType: 'KeyboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n charCode: 0,\n composed: true\n }\n },\n keyUp: {\n EventType: 'KeyboardEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n charCode: 0,\n composed: true\n }\n },\n // Focus Events\n focus: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n blur: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n focusIn: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n focusOut: {\n EventType: 'FocusEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n // Form Events\n change: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n input: {\n EventType: 'InputEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n invalid: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: true\n }\n },\n submit: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n reset: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n // Mouse Events\n click: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n button: 0,\n composed: true\n }\n },\n contextMenu: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dblClick: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n drag: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dragEnd: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n dragEnter: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dragExit: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n dragLeave: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n dragOver: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n dragStart: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n drop: {\n EventType: 'DragEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseDown: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseEnter: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n mouseLeave: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false,\n composed: true\n }\n },\n mouseMove: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseOut: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseOver: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n mouseUp: {\n EventType: 'MouseEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Selection Events\n select: {\n EventType: 'Event',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // Touch Events\n touchCancel: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n touchEnd: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n touchMove: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n touchStart: {\n EventType: 'TouchEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // UI Events\n resize: {\n EventType: 'UIEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n scroll: {\n EventType: 'UIEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n // Wheel Events\n wheel: {\n EventType: 'WheelEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n // Media Events\n abort: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n canPlay: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n canPlayThrough: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n durationChange: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n emptied: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n encrypted: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n ended: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n loadedData: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n loadedMetadata: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n loadStart: {\n EventType: 'ProgressEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n pause: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n play: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n playing: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n progress: {\n EventType: 'ProgressEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n rateChange: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n seeked: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n seeking: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n stalled: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n suspend: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n timeUpdate: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n volumeChange: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n waiting: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n // Events\n load: {\n // TODO: load events can be UIEvent or Event depending on what generated them\n // This is where this abstraction breaks down.\n // But the common targets are <img />, <script /> and window.\n // Neither of these targets receive a UIEvent\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n error: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n // Animation Events\n animationStart: {\n EventType: 'AnimationEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n animationEnd: {\n EventType: 'AnimationEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n animationIteration: {\n EventType: 'AnimationEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // Transition Events\n transitionCancel: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n transitionEnd: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n transitionRun: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n transitionStart: {\n EventType: 'TransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // pointer events\n pointerOver: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerEnter: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n pointerDown: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerMove: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerUp: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerCancel: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n pointerOut: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true,\n composed: true\n }\n },\n pointerLeave: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n gotPointerCapture: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n lostPointerCapture: {\n EventType: 'PointerEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false,\n composed: true\n }\n },\n // history events\n popState: {\n EventType: 'PopStateEvent',\n defaultInit: {\n bubbles: true,\n cancelable: false\n }\n },\n // window events\n offline: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n online: {\n EventType: 'Event',\n defaultInit: {\n bubbles: false,\n cancelable: false\n }\n },\n pageHide: {\n EventType: 'PageTransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n },\n pageShow: {\n EventType: 'PageTransitionEvent',\n defaultInit: {\n bubbles: true,\n cancelable: true\n }\n }\n};\nconst eventAliasMap = {\n doubleClick: 'dblClick'\n};\n\nfunction fireEvent(element, event) {\n return getConfig().eventWrapper(() => {\n if (!event) {\n throw new Error(\"Unable to fire an event - please provide an event object.\");\n }\n if (!element) {\n throw new Error(\"Unable to fire a \\\"\" + event.type + \"\\\" event - please provide a DOM element.\");\n }\n return element.dispatchEvent(event);\n });\n}\nfunction createEvent(eventName, node, init, _temp) {\n let {\n EventType = 'Event',\n defaultInit = {}\n } = _temp === void 0 ? {} : _temp;\n if (!node) {\n throw new Error(\"Unable to fire a \\\"\" + eventName + \"\\\" event - please provide a DOM element.\");\n }\n const eventInit = {\n ...defaultInit,\n ...init\n };\n const {\n target: {\n value,\n files,\n ...targetProperties\n } = {}\n } = eventInit;\n if (value !== undefined) {\n setNativeValue(node, value);\n }\n if (files !== undefined) {\n // input.files is a read-only property so this is not allowed:\n // input.files = [file]\n // so we have to use this workaround to set the property\n Object.defineProperty(node, 'files', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: files\n });\n }\n Object.assign(node, targetProperties);\n const window = getWindowFromNode(node);\n const EventConstructor = window[EventType] || window.Event;\n let event;\n /* istanbul ignore else */\n if (typeof EventConstructor === 'function') {\n event = new EventConstructor(eventName, eventInit);\n } else {\n // IE11 polyfill from https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill\n event = window.document.createEvent(EventType);\n const {\n bubbles,\n cancelable,\n detail,\n ...otherInit\n } = eventInit;\n event.initEvent(eventName, bubbles, cancelable, detail);\n Object.keys(otherInit).forEach(eventKey => {\n event[eventKey] = otherInit[eventKey];\n });\n }\n\n // DataTransfer is not supported in jsdom: https://github.com/jsdom/jsdom/issues/1568\n const dataTransferProperties = ['dataTransfer', 'clipboardData'];\n dataTransferProperties.forEach(dataTransferKey => {\n const dataTransferValue = eventInit[dataTransferKey];\n if (typeof dataTransferValue === 'object') {\n /* istanbul ignore if */\n if (typeof window.DataTransfer === 'function') {\n Object.defineProperty(event, dataTransferKey, {\n value: Object.getOwnPropertyNames(dataTransferValue).reduce((acc, propName) => {\n Object.defineProperty(acc, propName, {\n value: dataTransferValue[propName]\n });\n return acc;\n }, new window.DataTransfer())\n });\n } else {\n Object.defineProperty(event, dataTransferKey, {\n value: dataTransferValue\n });\n }\n }\n });\n return event;\n}\nObject.keys(eventMap).forEach(key => {\n const {\n EventType,\n defaultInit\n } = eventMap[key];\n const eventName = key.toLowerCase();\n createEvent[key] = (node, init) => createEvent(eventName, node, init, {\n EventType,\n defaultInit\n });\n fireEvent[key] = (node, init) => fireEvent(node, createEvent[key](node, init));\n});\n\n// function written after some investigation here:\n// https://github.com/facebook/react/issues/10135#issuecomment-401496776\nfunction setNativeValue(element, value) {\n const {\n set: valueSetter\n } = Object.getOwnPropertyDescriptor(element, 'value') || {};\n const prototype = Object.getPrototypeOf(element);\n const {\n set: prototypeValueSetter\n } = Object.getOwnPropertyDescriptor(prototype, 'value') || {};\n if (prototypeValueSetter && valueSetter !== prototypeValueSetter) {\n prototypeValueSetter.call(element, value);\n } else {\n /* istanbul ignore if */\n // eslint-disable-next-line no-lonely-if -- Can't be ignored by istanbul otherwise\n if (valueSetter) {\n valueSetter.call(element, value);\n } else {\n throw new Error('The given element does not have a value setter');\n }\n }\n}\nObject.keys(eventAliasMap).forEach(aliasKey => {\n const key = eventAliasMap[aliasKey];\n fireEvent[aliasKey] = function () {\n return fireEvent[key](...arguments);\n };\n});\n\n/* eslint complexity:[\"error\", 9] */\n\n// WARNING: `lz-string` only has a default export but statically we assume named exports are allowed\nfunction unindent(string) {\n // remove white spaces first, to save a few bytes.\n // testing-playground will reformat on load any ways.\n return string.replace(/[ \\t]*[\\n][ \\t]*/g, '\\n');\n}\nfunction encode(value) {\n return lzString.compressToEncodedURIComponent(unindent(value));\n}\nfunction getPlaygroundUrl(markup) {\n return \"https://testing-playground.com/#markup=\" + encode(markup);\n}\nconst debug = (element, maxLength, options) => Array.isArray(element) ? element.forEach(el => logDOM(el, maxLength, options)) : logDOM(element, maxLength, options);\nconst logTestingPlaygroundURL = function (element) {\n if (element === void 0) {\n element = getDocument().body;\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!element || !('innerHTML' in element)) {\n console.log(\"The element you're providing isn't a valid DOM element.\");\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!element.innerHTML) {\n console.log(\"The provided element doesn't have any children.\");\n return;\n }\n const playgroundUrl = getPlaygroundUrl(element.innerHTML);\n console.log(\"Open this URL in your browser\\n\\n\" + playgroundUrl);\n return playgroundUrl;\n};\nconst initialValue = {\n debug,\n logTestingPlaygroundURL\n};\nconst screen = typeof document !== 'undefined' && document.body // eslint-disable-line @typescript-eslint/no-unnecessary-condition\n? getQueriesForElement(document.body, queries, initialValue) : Object.keys(queries).reduce((helpers, key) => {\n // `key` is for all intents and purposes the type of keyof `helpers`, which itself is the type of `initialValue` plus incoming properties from `queries`\n // if `Object.keys(something)` returned Array<keyof typeof something> this explicit type assertion would not be necessary\n // see https://stackoverflow.com/questions/55012174/why-doesnt-object-keys-return-a-keyof-type-in-typescript\n helpers[key] = () => {\n throw new TypeError('For queries bound to document.body a global document has to be available... Learn more: https://testing-library.com/s/screen-global-error');\n };\n return helpers;\n}, initialValue);\n\nexport { buildQueries, configure, createEvent, findAllByAltText, findAllByDisplayValue, findAllByLabelText, findAllByPlaceholderText, findAllByRole, findAllByTestId, findAllByText, findAllByTitle, findByAltText, findByDisplayValue, findByLabelText, findByPlaceholderText, findByRole, findByTestId, findByText, findByTitle, fireEvent, getAllByAltText, getAllByDisplayValue, getAllByLabelTextWithSuggestions as getAllByLabelText, getAllByPlaceholderText, getAllByRole, getAllByTestId, getAllByText, getAllByTitle, getByAltText, getByDisplayValue, getByLabelTextWithSuggestions as getByLabelText, getByPlaceholderText, getByRole, getByTestId, getByText, getByTitle, getConfig, getDefaultNormalizer, getElementError, getMultipleElementsFoundError, getNodeText, getQueriesForElement, getRoles, getSuggestedQuery, isInaccessible, logDOM, logRoles, makeFindQuery, makeGetAllQuery, makeSingleQuery, prettyDOM, queries, queryAllByAltTextWithSuggestions as queryAllByAltText, queryAllByAttribute, queryAllByDisplayValueWithSuggestions as queryAllByDisplayValue, queryAllByLabelTextWithSuggestions as queryAllByLabelText, queryAllByPlaceholderTextWithSuggestions as queryAllByPlaceholderText, queryAllByRoleWithSuggestions as queryAllByRole, queryAllByTestIdWithSuggestions as queryAllByTestId, queryAllByTextWithSuggestions as queryAllByText, queryAllByTitleWithSuggestions as queryAllByTitle, queryByAltText, queryByAttribute, queryByDisplayValue, queryByLabelText, queryByPlaceholderText, queryByRole, queryByTestId, queryByText, queryByTitle, queryHelpers, screen, waitForWrapper as waitFor, waitForElementToBeRemoved, getQueriesForElement as within, wrapAllByQueryWithSuggestion, wrapSingleQueryWithSuggestion };\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 */\nconst toStr = Object.prototype.toString;\nfunction isCallable(fn: unknown): boolean {\n\treturn typeof fn === \"function\" || toStr.call(fn) === \"[object Function]\";\n}\nfunction toInteger(value: unknown): number {\n\tconst number = Number(value);\n\tif (isNaN(number)) {\n\t\treturn 0;\n\t}\n\tif (number === 0 || !isFinite(number)) {\n\t\treturn number;\n\t}\n\treturn (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\n}\nconst maxSafeInteger = Math.pow(2, 53) - 1;\nfunction toLength(value: unknown): number {\n\tconst len = toInteger(value);\n\treturn 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 */\nexport default function arrayFrom<T>(iterable: Iterable<T> | ArrayLike<T>): T[];\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<T, U>(\n\tarrayLike: Iterable<T> | ArrayLike<T>,\n\tmapFn?: (v: T, k: number) => U\n): U[] {\n\t// 1. Let C be the this value.\n\t// edit(@eps1lon): we're not calling it as Array.from\n\tconst C = Array;\n\n\t// 2. Let items be ToObject(arrayLike).\n\tconst items = Object(arrayLike);\n\n\t// 3. ReturnIfAbrupt(items).\n\tif (arrayLike == null) {\n\t\tthrow new TypeError(\n\t\t\t\"Array.from requires an array-like object - not null or undefined\"\n\t\t);\n\t}\n\n\t// 4. If mapfn is undefined, then let mapping be false.\n\t// const mapFn = arguments.length > 1 ? arguments[1] : void undefined;\n\n\tif (typeof mapFn !== \"undefined\") {\n\t\t// 5. else\n\t\t// 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\n\t\tif (!isCallable(mapFn)) {\n\t\t\tthrow new TypeError(\n\t\t\t\t\"Array.from: when provided, the second argument must be a function\"\n\t\t\t);\n\t\t}\n\t}\n\n\t// 10. Let lenValue be Get(items, \"length\").\n\t// 11. Let len be ToLength(lenValue).\n\tconst len = toLength(items.length);\n\n\t// 13. If IsConstructor(C) is true, then\n\t// 13. a. Let A be the result of calling the [[Construct]] internal method\n\t// of C with an argument list containing the single item len.\n\t// 14. a. Else, Let A be ArrayCreate(len).\n\tconst A = isCallable(C) ? Object(new C(len)) : new Array(len);\n\n\t// 16. Let k be 0.\n\tlet k = 0;\n\t// 17. Repeat, while k < len… (also steps a - h)\n\tlet kValue;\n\twhile (k < len) {\n\t\tkValue = items[k];\n\t\tif (mapFn) {\n\t\t\tA[k] = mapFn(kValue, k);\n\t\t} else {\n\t\t\tA[k] = kValue;\n\t\t}\n\t\tk += 1;\n\t}\n\t// 18. Let putStatus be Put(A, \"length\", len, true).\n\tA.length = len;\n\t// 20. Return A.\n\treturn A;\n}\n","declare global {\n\tclass Set<T> {\n\t\t// es2015.collection.d.ts\n\t\tconstructor(items?: T[]);\n\t\tadd(value: T): this;\n\t\tclear(): void;\n\t\tdelete(value: T): boolean;\n\t\tforEach(\n\t\t\tcallbackfn: (value: T, value2: T, set: Set<T>) => void,\n\t\t\tthisArg?: unknown\n\t\t): void;\n\t\thas(value: T): boolean;\n\t\treadonly size: number;\n\n\t\t// es2015.iterable.d.ts\n\t\t// no implemennted\n\t}\n}\n\n// for environments without Set we fallback to arrays with unique members\nclass SetLike<T> implements Set<T> {\n\tprivate items: T[];\n\n\tconstructor(items: T[] = []) {\n\t\tthis.items = items;\n\t}\n\n\tadd(value: T): this {\n\t\tif (this.has(value) === false) {\n\t\t\tthis.items.push(value);\n\t\t}\n\t\treturn this;\n\t}\n\tclear(): void {\n\t\tthis.items = [];\n\t}\n\tdelete(value: T): boolean {\n\t\tconst previousLength = this.items.length;\n\t\tthis.items = this.items.filter((item) => item !== value);\n\n\t\treturn previousLength !== this.items.length;\n\t}\n\tforEach(callbackfn: (value: T, value2: T, set: Set<T>) => void): void {\n\t\tthis.items.forEach((item) => {\n\t\t\tcallbackfn(item, item, this);\n\t\t});\n\t}\n\thas(value: T): boolean {\n\t\treturn this.items.indexOf(value) !== -1;\n\t}\n\n\tget size(): number {\n\t\treturn this.items.length;\n\t}\n}\n\nexport default typeof Set === \"undefined\" ? Set : SetLike;\n","// https://w3c.github.io/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html\n\n/**\n * Safe Element.localName for all supported environments\n * @param element\n */\nexport function getLocalName(element: Element): string {\n\treturn (\n\t\t// eslint-disable-next-line no-restricted-properties -- actual guard for environments without localName\n\t\telement.localName ??\n\t\t// eslint-disable-next-line no-restricted-properties -- required for the fallback\n\t\telement.tagName.toLowerCase()\n\t);\n}\n\nconst localNameToRoleMappings: Record<string, string | undefined> = {\n\tarticle: \"article\",\n\taside: \"complementary\",\n\tbutton: \"button\",\n\tdatalist: \"listbox\",\n\tdd: \"definition\",\n\tdetails: \"group\",\n\tdialog: \"dialog\",\n\tdt: \"term\",\n\tfieldset: \"group\",\n\tfigure: \"figure\",\n\t// WARNING: Only with an accessible name\n\tform: \"form\",\n\tfooter: \"contentinfo\",\n\th1: \"heading\",\n\th2: \"heading\",\n\th3: \"heading\",\n\th4: \"heading\",\n\th5: \"heading\",\n\th6: \"heading\",\n\theader: \"banner\",\n\thr: \"separator\",\n\thtml: \"document\",\n\tlegend: \"legend\",\n\tli: \"listitem\",\n\tmath: \"math\",\n\tmain: \"main\",\n\tmenu: \"list\",\n\tnav: \"navigation\",\n\tol: \"list\",\n\toptgroup: \"group\",\n\t// WARNING: Only in certain context\n\toption: \"option\",\n\toutput: \"status\",\n\tprogress: \"progressbar\",\n\t// WARNING: Only with an accessible name\n\tsection: \"region\",\n\tsummary: \"button\",\n\ttable: \"table\",\n\ttbody: \"rowgroup\",\n\ttextarea: \"textbox\",\n\ttfoot: \"rowgroup\",\n\t// WARNING: Only in certain context\n\ttd: \"cell\",\n\tth: \"columnheader\",\n\tthead: \"rowgroup\",\n\ttr: \"row\",\n\tul: \"list\",\n};\n\nconst prohibitedAttributes: Record<string, Set<string>> = {\n\tcaption: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tcode: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tdeletion: new Set([\"aria-label\", \"aria-labelledby\"]),\n\temphasis: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tgeneric: new Set([\"aria-label\", \"aria-labelledby\", \"aria-roledescription\"]),\n\tinsertion: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tparagraph: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tpresentation: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tstrong: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tsubscript: new Set([\"aria-label\", \"aria-labelledby\"]),\n\tsuperscript: 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: Element, role: string): boolean {\n\t// https://rawgit.com/w3c/aria/stable/#global_states\n\t// commented attributes are deprecated\n\treturn [\n\t\t\"aria-atomic\",\n\t\t\"aria-busy\",\n\t\t\"aria-controls\",\n\t\t\"aria-current\",\n\t\t\"aria-describedby\",\n\t\t\"aria-details\",\n\t\t// \"disabled\",\n\t\t\"aria-dropeffect\",\n\t\t// \"errormessage\",\n\t\t\"aria-flowto\",\n\t\t\"aria-grabbed\",\n\t\t// \"haspopup\",\n\t\t\"aria-hidden\",\n\t\t// \"invalid\",\n\t\t\"aria-keyshortcuts\",\n\t\t\"aria-label\",\n\t\t\"aria-labelledby\",\n\t\t\"aria-live\",\n\t\t\"aria-owns\",\n\t\t\"aria-relevant\",\n\t\t\"aria-roledescription\",\n\t].some((attributeName) => {\n\t\treturn (\n\t\t\telement.hasAttribute(attributeName) &&\n\t\t\t!prohibitedAttributes[role]?.has(attributeName)\n\t\t);\n\t});\n}\n\nfunction ignorePresentationalRole(\n\telement: Element,\n\timplicitRole: string\n): boolean {\n\t// https://rawgit.com/w3c/aria/stable/#conflict_resolution_presentation_none\n\treturn hasGlobalAriaAttributes(element, implicitRole);\n}\n\nexport default function getRole(element: Element): string | null {\n\tconst explicitRole = getExplicitRole(element);\n\tif (explicitRole === null || explicitRole === \"presentation\") {\n\t\tconst implicitRole = getImplicitRole(element);\n\t\tif (\n\t\t\texplicitRole !== \"presentation\" ||\n\t\t\tignorePresentationalRole(element, implicitRole || \"\")\n\t\t) {\n\t\t\treturn implicitRole;\n\t\t}\n\t}\n\n\treturn explicitRole;\n}\n\nfunction getImplicitRole(element: Element): string | null {\n\tconst mappedByTag = localNameToRoleMappings[getLocalName(element)];\n\tif (mappedByTag !== undefined) {\n\t\treturn mappedByTag;\n\t}\n\n\tswitch (getLocalName(element)) {\n\t\tcase \"a\":\n\t\tcase \"area\":\n\t\tcase \"link\":\n\t\t\tif (element.hasAttribute(\"href\")) {\n\t\t\t\treturn \"link\";\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"img\":\n\t\t\tif (\n\t\t\t\telement.getAttribute(\"alt\") === \"\" &&\n\t\t\t\t!ignorePresentationalRole(element, \"img\")\n\t\t\t) {\n\t\t\t\treturn \"presentation\";\n\t\t\t}\n\t\t\treturn \"img\";\n\t\tcase \"input\": {\n\t\t\tconst { type } = element as HTMLInputElement;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"button\":\n\t\t\t\tcase \"image\":\n\t\t\t\tcase \"reset\":\n\t\t\t\tcase \"submit\":\n\t\t\t\t\treturn \"button\";\n\t\t\t\tcase \"checkbox\":\n\t\t\t\tcase \"radio\":\n\t\t\t\t\treturn type;\n\t\t\t\tcase \"range\":\n\t\t\t\t\treturn \"slider\";\n\t\t\t\tcase \"email\":\n\t\t\t\tcase \"tel\":\n\t\t\t\tcase \"text\":\n\t\t\t\tcase \"url\":\n\t\t\t\t\tif (element.hasAttribute(\"list\")) {\n\t\t\t\t\t\treturn \"combobox\";\n\t\t\t\t\t}\n\t\t\t\t\treturn \"textbox\";\n\n\t\t\t\tcase \"search\":\n\t\t\t\t\tif (element.hasAttribute(\"list\")) {\n\t\t\t\t\t\treturn \"combobox\";\n\t\t\t\t\t}\n\t\t\t\t\treturn \"searchbox\";\n\t\t\t\tcase \"number\":\n\t\t\t\t\treturn \"spinbutton\";\n\t\t\t\tdefault:\n\t\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\tcase \"select\":\n\t\t\tif (\n\t\t\t\telement.hasAttribute(\"multiple\") ||\n\t\t\t\t(element as HTMLSelectElement).size > 1\n\t\t\t) {\n\t\t\t\treturn \"listbox\";\n\t\t\t}\n\t\t\treturn \"combobox\";\n\t}\n\treturn null;\n}\n\nfunction getExplicitRole(element: Element): string | null {\n\tconst role = element.getAttribute(\"role\");\n\tif (role !== null) {\n\t\tconst explicitRole = role.trim().split(\" \")[0];\n\t\t// String.prototype.split(sep, limit) will always return an array with at least one member\n\t\t// as long as limit is either undefined or > 0\n\t\tif (explicitRole.length > 0) {\n\t\t\treturn explicitRole;\n\t\t}\n\t}\n\n\treturn null;\n}\n","export { getLocalName } from \"./getRole\";\nimport getRole, { getLocalName } from \"./getRole\";\n\nexport function isElement(node: Node | null): node is Element {\n\treturn node !== null && node.nodeType === node.ELEMENT_NODE;\n}\n\nexport function isHTMLTableCaptionElement(\n\tnode: Node | null\n): node is HTMLTableCaptionElement {\n\treturn isElement(node) && getLocalName(node) === \"caption\";\n}\n\nexport function isHTMLInputElement(\n\tnode: Node | null\n): node is HTMLInputElement {\n\treturn isElement(node) && getLocalName(node) === \"input\";\n}\n\nexport function isHTMLOptGroupElement(\n\tnode: Node | null\n): node is HTMLOptGroupElement {\n\treturn isElement(node) && getLocalName(node) === \"optgroup\";\n}\n\nexport function isHTMLSelectElement(\n\tnode: Node | null\n): node is HTMLSelectElement {\n\treturn isElement(node) && getLocalName(node) === \"select\";\n}\n\nexport function isHTMLTableElement(\n\tnode: Node | null\n): node is HTMLTableElement {\n\treturn isElement(node) && getLocalName(node) === \"table\";\n}\n\nexport function isHTMLTextAreaElement(\n\tnode: Node | null\n): node is HTMLTextAreaElement {\n\treturn isElement(node) && getLocalName(node) === \"textarea\";\n}\n\nexport function safeWindow(node: Node): Window {\n\tconst { defaultView } =\n\t\tnode.ownerDocument === null ? (node as Document) : node.ownerDocument;\n\n\tif (defaultView === null) {\n\t\tthrow new TypeError(\"no window available\");\n\t}\n\treturn defaultView;\n}\n\nexport function isHTMLFieldSetElement(\n\tnode: Node | null\n): node is HTMLFieldSetElement {\n\treturn isElement(node) && getLocalName(node) === \"fieldset\";\n}\n\nexport function isHTMLLegendElement(\n\tnode: Node | null\n): node is HTMLLegendElement {\n\treturn isElement(node) && getLocalName(node) === \"legend\";\n}\n\nexport function isHTMLSlotElement(node: Node | null): node is HTMLSlotElement {\n\treturn isElement(node) && getLocalName(node) === \"slot\";\n}\n\nexport function isSVGElement(node: Node | null): node is SVGElement {\n\treturn isElement(node) && (node as SVGElement).ownerSVGElement !== undefined;\n}\n\nexport function isSVGSVGElement(node: Node | null): node is SVGSVGElement {\n\treturn isElement(node) && getLocalName(node) === \"svg\";\n}\n\nexport function isSVGTitleElement(node: Node | null): node is SVGTitleElement {\n\treturn 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: Node, attributeName: string): Element[] {\n\tif (isElement(node) && node.hasAttribute(attributeName)) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute check\n\t\tconst ids = node.getAttribute(attributeName)!.split(\" \");\n\n\t\t// Browsers that don't support shadow DOM won't have getRootNode\n\t\tconst root = node.getRootNode\n\t\t\t? (node.getRootNode() as Document | ShadowRoot)\n\t\t\t: node.ownerDocument;\n\n\t\treturn ids\n\t\t\t.map((id) => root.getElementById(id))\n\t\t\t.filter(\n\t\t\t\t(element: Element | null): element is Element => element !== null\n\t\t\t\t// TODO: why does this not narrow?\n\t\t\t) as Element[];\n\t}\n\n\treturn [];\n}\n\nexport function hasAnyConcreteRoles(\n\tnode: Node,\n\troles: Array<string | null>\n): node is Element {\n\tif (isElement(node)) {\n\t\treturn roles.indexOf(getRole(node)) !== -1;\n\t}\n\treturn false;\n}\n","/**\n * implements https://w3c.github.io/accname/\n */\nimport ArrayFrom from \"./polyfills/array.from\";\nimport SetLike from \"./polyfills/SetLike\";\nimport {\n\thasAnyConcreteRoles,\n\tisElement,\n\tisHTMLTableCaptionElement,\n\tisHTMLInputElement,\n\tisHTMLSelectElement,\n\tisHTMLTextAreaElement,\n\tsafeWindow,\n\tisHTMLFieldSetElement,\n\tisHTMLLegendElement,\n\tisHTMLOptGroupElement,\n\tisHTMLTableElement,\n\tisHTMLSlotElement,\n\tisSVGSVGElement,\n\tisSVGTitleElement,\n\tqueryIdRefs,\n\tgetLocalName,\n} from \"./util\";\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 */\ntype FlatString = string & {\n\t__flat: true;\n};\n\n/**\n * interface for an options-bag where `window.getComputedStyle` can be mocked\n */\nexport interface ComputeTextAlternativeOptions {\n\tcompute?: \"description\" | \"name\";\n\t/**\n\t * Set to true if window.computedStyle supports the second argument.\n\t * This should be false in JSDOM. Otherwise JSDOM will log console errors.\n\t */\n\tcomputedStyleSupportsPseudoElements?: boolean;\n\t/**\n\t * mock window.getComputedStyle. Needs `content`, `display` and `visibility`\n\t */\n\tgetComputedStyle?: typeof window.getComputedStyle;\n\t/**\n\t * Set to `true` if you want to include hidden elements in the accessible name and description computation.\n\t * Skips 2A in https://w3c.github.io/accname/#computation-steps.\n\t * @default false\n\t */\n\thidden?: boolean;\n}\n\n/**\n *\n * @param {string} string -\n * @returns {FlatString} -\n */\nfunction asFlatString(s: string): FlatString {\n\treturn s.trim().replace(/\\s\\s+/g, \" \") as FlatString;\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(\n\tnode: Node,\n\tgetComputedStyleImplementation: typeof window.getComputedStyle\n): node is Element {\n\tif (!isElement(node)) {\n\t\treturn false;\n\t}\n\n\tif (\n\t\tnode.hasAttribute(\"hidden\") ||\n\t\tnode.getAttribute(\"aria-hidden\") === \"true\"\n\t) {\n\t\treturn true;\n\t}\n\n\tconst style = getComputedStyleImplementation(node);\n\treturn (\n\t\tstyle.getPropertyValue(\"display\") === \"none\" ||\n\t\tstyle.getPropertyValue(\"visibility\") === \"hidden\"\n\t);\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: Node): boolean {\n\treturn (\n\t\thasAnyConcreteRoles(node, [\"button\", \"combobox\", \"listbox\", \"textbox\"]) ||\n\t\thasAbstractRole(node, \"range\")\n\t);\n}\n\nfunction hasAbstractRole(node: Node, role: string): node is Element {\n\tif (!isElement(node)) {\n\t\treturn false;\n\t}\n\n\tswitch (role) {\n\t\tcase \"range\":\n\t\t\treturn hasAnyConcreteRoles(node, [\n\t\t\t\t\"meter\",\n\t\t\t\t\"progressbar\",\n\t\t\t\t\"scrollbar\",\n\t\t\t\t\"slider\",\n\t\t\t\t\"spinbutton\",\n\t\t\t]);\n\t\tdefault:\n\t\t\tthrow new TypeError(\n\t\t\t\t`No knowledge about abstract role '${role}'. This is likely a bug :(`\n\t\t\t);\n\t}\n}\n\n/**\n * element.querySelectorAll but also considers owned tree\n * @param element\n * @param selectors\n */\nfunction querySelectorAllSubtree(\n\telement: Element,\n\tselectors: string\n): Element[] {\n\tconst elements = ArrayFrom(element.querySelectorAll(selectors));\n\n\tqueryIdRefs(element, \"aria-owns\").forEach((root) => {\n\t\t// babel transpiles this assuming an iterator\n\t\telements.push.apply(elements, ArrayFrom(root.querySelectorAll(selectors)));\n\t});\n\n\treturn elements;\n}\n\nfunction querySelectedOptions(listbox: Element): ArrayLike<Element> {\n\tif (isHTMLSelectElement(listbox)) {\n\t\t// IE11 polyfill\n\t\treturn (\n\t\t\tlistbox.selectedOptions || querySelectorAllSubtree(listbox, \"[selected]\")\n\t\t);\n\t}\n\treturn querySelectorAllSubtree(listbox, '[aria-selected=\"true\"]');\n}\n\nfunction isMarkedPresentational(node: Node): node is Element {\n\treturn hasAnyConcreteRoles(node, [\"none\", \"presentation\"]);\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(\n\tnode: Node\n): node is Element {\n\treturn isHTMLTableCaptionElement(node);\n}\n\n/**\n * https://w3c.github.io/aria/#namefromcontent\n */\nfunction allowsNameFromContent(node: Node): boolean {\n\treturn hasAnyConcreteRoles(node, [\n\t\t\"button\",\n\t\t\"cell\",\n\t\t\"checkbox\",\n\t\t\"columnheader\",\n\t\t\"gridcell\",\n\t\t\"heading\",\n\t\t\"label\",\n\t\t\"legend\",\n\t\t\"link\",\n\t\t\"menuitem\",\n\t\t\"menuitemcheckbox\",\n\t\t\"menuitemradio\",\n\t\t\"option\",\n\t\t\"radio\",\n\t\t\"row\",\n\t\t\"rowheader\",\n\t\t\"switch\",\n\t\t\"tab\",\n\t\t\"tooltip\",\n\t\t\"treeitem\",\n\t]);\n}\n\n/**\n * TODO https://github.com/eps1lon/dom-accessibility-api/issues/100\n */\nfunction isDescendantOfNativeHostLanguageTextAlternativeElement(\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars -- not implemented yet\n\tnode: Node\n): boolean {\n\treturn false;\n}\n\nfunction getValueOfTextbox(element: Element): string {\n\tif (isHTMLInputElement(element) || isHTMLTextAreaElement(element)) {\n\t\treturn element.value;\n\t}\n\t// https://github.com/eps1lon/dom-accessibility-api/issues/4\n\treturn element.textContent || \"\";\n}\n\nfunction getTextualContent(declaration: CSSStyleDeclaration): string {\n\tconst content = declaration.getPropertyValue(\"content\");\n\tif (/^[\"'].*[\"']$/.test(content)) {\n\t\treturn content.slice(1, -1);\n\t}\n\treturn \"\";\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: Element): boolean {\n\tconst localName = getLocalName(element);\n\n\treturn (\n\t\tlocalName === \"button\" ||\n\t\t(localName === \"input\" && element.getAttribute(\"type\") !== \"hidden\") ||\n\t\tlocalName === \"meter\" ||\n\t\tlocalName === \"output\" ||\n\t\tlocalName === \"progress\" ||\n\t\tlocalName === \"select\" ||\n\t\tlocalName === \"textarea\"\n\t);\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: Element): Element | null {\n\tif (isLabelableElement(element)) {\n\t\treturn element;\n\t}\n\tlet labelableElement: Element | null = null;\n\telement.childNodes.forEach((childNode) => {\n\t\tif (labelableElement === null && isElement(childNode)) {\n\t\t\tconst descendantLabelableElement = findLabelableElement(childNode);\n\t\t\tif (descendantLabelableElement !== null) {\n\t\t\t\tlabelableElement = descendantLabelableElement;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn 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: HTMLLabelElement): Element | null {\n\tif (label.control !== undefined) {\n\t\treturn label.control;\n\t}\n\n\tconst htmlFor = label.getAttribute(\"for\");\n\tif (htmlFor !== null) {\n\t\treturn label.ownerDocument.getElementById(htmlFor);\n\t}\n\n\treturn 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: Element): HTMLLabelElement[] | null {\n\tconst labelsProperty = (element as HTMLInputElement).labels as\n\t\t| HTMLInputElement[\"labels\"]\n\t\t| undefined;\n\n\tif (labelsProperty === null) {\n\t\treturn labelsProperty;\n\t}\n\tif (labelsProperty !== undefined) {\n\t\treturn ArrayFrom(labelsProperty);\n\t}\n\n\t// polyfill\n\tif (!isLabelableElement(element)) {\n\t\treturn null;\n\t}\n\tconst document = element.ownerDocument;\n\n\treturn ArrayFrom(document.querySelectorAll(\"label\")).filter((label) => {\n\t\treturn getControlOfLabel(label) === element;\n\t});\n}\n\n/**\n * Gets the contents of a slot used for computing the accname\n * @param slot\n */\nfunction getSlotContents(slot: HTMLSlotElement): Node[] {\n\t// Computing the accessible name for elements containing slots is not\n\t// currently defined in the spec. This implementation reflects the\n\t// behavior of NVDA 2020.2/Firefox 81 and iOS VoiceOver/Safari 13.6.\n\tconst assignedNodes = slot.assignedNodes();\n\tif (assignedNodes.length === 0) {\n\t\t// if no nodes are assigned to the slot, it displays the default content\n\t\treturn ArrayFrom(slot.childNodes);\n\t}\n\treturn 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(\n\troot: Element,\n\toptions: ComputeTextAlternativeOptions = {}\n): string {\n\tconst consultedNodes = new SetLike<Node>();\n\n\tconst window = safeWindow(root);\n\tconst {\n\t\tcompute = \"name\",\n\t\tcomputedStyleSupportsPseudoElements = options.getComputedStyle !==\n\t\t\tundefined,\n\t\t// This might be overengineered. I don't know what happens if I call\n\t\t// window.getComputedStyle(elementFromAnotherWindow) or if I don't bind it\n\t\t// the type declarations don't require a `this`\n\t\t// eslint-disable-next-line no-restricted-properties\n\t\tgetComputedStyle = window.getComputedStyle.bind(window),\n\t\thidden = false,\n\t} = options;\n\n\t// 2F.i\n\tfunction computeMiscTextAlternative(\n\t\tnode: Node,\n\t\tcontext: { isEmbeddedInLabel: boolean; isReferenced: boolean }\n\t): string {\n\t\tlet accumulatedText = \"\";\n\t\tif (isElement(node) && computedStyleSupportsPseudoElements) {\n\t\t\tconst pseudoBefore = getComputedStyle(node, \"::before\");\n\t\t\tconst beforeContent = getTextualContent(pseudoBefore);\n\t\t\taccumulatedText = `${beforeContent} ${accumulatedText}`;\n\t\t}\n\n\t\t// FIXME: Including aria-owns is not defined in the spec\n\t\t// But it is required in the web-platform-test\n\t\tconst childNodes = isHTMLSlotElement(node)\n\t\t\t? getSlotContents(node)\n\t\t\t: ArrayFrom(node.childNodes).concat(queryIdRefs(node, \"aria-owns\"));\n\t\tchildNodes.forEach((child) => {\n\t\t\tconst result = computeTextAlternative(child, {\n\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\tisReferenced: false,\n\t\t\t\trecursion: true,\n\t\t\t});\n\t\t\t// TODO: Unclear why display affects delimiter\n\t\t\t// see https://github.com/w3c/accname/issues/3\n\t\t\tconst display = isElement(child)\n\t\t\t\t? getComputedStyle(child).getPropertyValue(\"display\")\n\t\t\t\t: \"inline\";\n\t\t\tconst separator = display !== \"inline\" ? \" \" : \"\";\n\t\t\t// trailing separator for wpt tests\n\t\t\taccumulatedText += `${separator}${result}${separator}`;\n\t\t});\n\n\t\tif (isElement(node) && computedStyleSupportsPseudoElements) {\n\t\t\tconst pseudoAfter = getComputedStyle(node, \"::after\");\n\t\t\tconst afterContent = getTextualContent(pseudoAfter);\n\t\t\taccumulatedText = `${accumulatedText} ${afterContent}`;\n\t\t}\n\n\t\treturn accumulatedText.trim();\n\t}\n\n\t/**\n\t *\n\t * @param element\n\t * @param attributeName\n\t * @returns A string non-empty string or `null`\n\t */\n\tfunction useAttribute(\n\t\telement: Element,\n\t\tattributeName: string\n\t): string | null {\n\t\tconst attribute = element.getAttributeNode(attributeName);\n\t\tif (\n\t\t\tattribute !== null &&\n\t\t\t!consultedNodes.has(attribute) &&\n\t\t\tattribute.value.trim() !== \"\"\n\t\t) {\n\t\t\tconsultedNodes.add(attribute);\n\t\t\treturn attribute.value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tfunction computeTooltipAttributeValue(node: Node): string | null {\n\t\tif (!isElement(node)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn useAttribute(node, \"title\");\n\t}\n\n\tfunction computeElementTextAlternative(node: Node): string | null {\n\t\tif (!isElement(node)) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// https://w3c.github.io/html-aam/#fieldset-and-legend-elements\n\t\tif (isHTMLFieldSetElement(node)) {\n\t\t\tconsultedNodes.add(node);\n\t\t\tconst children = ArrayFrom(node.childNodes);\n\t\t\tfor (let i = 0; i < children.length; i += 1) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (isHTMLLegendElement(child)) {\n\t\t\t\t\treturn computeTextAlternative(child, {\n\t\t\t\t\t\tisEmbeddedInLabel: false,\n\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\trecursion: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isHTMLTableElement(node)) {\n\t\t\t// https://w3c.github.io/html-aam/#table-element\n\t\t\tconsultedNodes.add(node);\n\t\t\tconst children = ArrayFrom(node.childNodes);\n\t\t\tfor (let i = 0; i < children.length; i += 1) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (isHTMLTableCaptionElement(child)) {\n\t\t\t\t\treturn computeTextAlternative(child, {\n\t\t\t\t\t\tisEmbeddedInLabel: false,\n\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\trecursion: false,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (isSVGSVGElement(node)) {\n\t\t\t// https://www.w3.org/TR/svg-aam-1.0/\n\t\t\tconsultedNodes.add(node);\n\t\t\tconst children = ArrayFrom(node.childNodes);\n\t\t\tfor (let i = 0; i < children.length; i += 1) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (isSVGTitleElement(child)) {\n\t\t\t\t\treturn child.textContent;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t} else if (getLocalName(node) === \"img\" || getLocalName(node) === \"area\") {\n\t\t\t// https://w3c.github.io/html-aam/#area-element\n\t\t\t// https://w3c.github.io/html-aam/#img-element\n\t\t\tconst nameFromAlt = useAttribute(node, \"alt\");\n\t\t\tif (nameFromAlt !== null) {\n\t\t\t\treturn nameFromAlt;\n\t\t\t}\n\t\t} else if (isHTMLOptGroupElement(node)) {\n\t\t\tconst nameFromLabel = useAttribute(node, \"label\");\n\t\t\tif (nameFromLabel !== null) {\n\t\t\t\treturn nameFromLabel;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tisHTMLInputElement(node) &&\n\t\t\t(node.type === \"button\" ||\n\t\t\t\tnode.type === \"submit\" ||\n\t\t\t\tnode.type === \"reset\")\n\t\t) {\n\t\t\t// 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\t\t\tconst nameFromValue = useAttribute(node, \"value\");\n\t\t\tif (nameFromValue !== null) {\n\t\t\t\treturn nameFromValue;\n\t\t\t}\n\n\t\t\t// TODO: l10n\n\t\t\tif (node.type === \"submit\") {\n\t\t\t\treturn \"Submit\";\n\t\t\t}\n\t\t\t// TODO: l10n\n\t\t\tif (node.type === \"reset\") {\n\t\t\t\treturn \"Reset\";\n\t\t\t}\n\t\t}\n\n\t\tconst labels = getLabels(node);\n\t\tif (labels !== null && labels.length !== 0) {\n\t\t\tconsultedNodes.add(node);\n\t\t\treturn ArrayFrom(labels)\n\t\t\t\t.map((element) => {\n\t\t\t\t\treturn computeTextAlternative(element, {\n\t\t\t\t\t\tisEmbeddedInLabel: true,\n\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\trecursion: true,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.filter((label) => {\n\t\t\t\t\treturn label.length > 0;\n\t\t\t\t})\n\t\t\t\t.join(\" \");\n\t\t}\n\n\t\t// https://w3c.github.io/html-aam/#input-type-image-accessible-name-computation\n\t\t// TODO: wpt test consider label elements but html-aam does not mention them\n\t\t// We follow existing implementations over spec\n\t\tif (isHTMLInputElement(node) && node.type === \"image\") {\n\t\t\tconst nameFromAlt = useAttribute(node, \"alt\");\n\t\t\tif (nameFromAlt !== null) {\n\t\t\t\treturn nameFromAlt;\n\t\t\t}\n\n\t\t\tconst nameFromTitle = useAttribute(node, \"title\");\n\t\t\tif (nameFromTitle !== null) {\n\t\t\t\treturn nameFromTitle;\n\t\t\t}\n\n\t\t\t// TODO: l10n\n\t\t\treturn \"Submit Query\";\n\t\t}\n\n\t\tif (hasAnyConcreteRoles(node, [\"button\"])) {\n\t\t\t// https://www.w3.org/TR/html-aam-1.0/#button-element\n\t\t\tconst nameFromSubTree = computeMiscTextAlternative(node, {\n\t\t\t\tisEmbeddedInLabel: false,\n\t\t\t\tisReferenced: false,\n\t\t\t});\n\t\t\tif (nameFromSubTree !== \"\") {\n\t\t\t\treturn nameFromSubTree;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction computeTextAlternative(\n\t\tcurrent: Node,\n\t\tcontext: {\n\t\t\tisEmbeddedInLabel: boolean;\n\t\t\tisReferenced: boolean;\n\t\t\trecursion: boolean;\n\t\t}\n\t): string {\n\t\tif (consultedNodes.has(current)) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\t// 2A\n\t\tif (\n\t\t\t!hidden &&\n\t\t\tisHidden(current, getComputedStyle) &&\n\t\t\t!context.isReferenced\n\t\t) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn \"\" as FlatString;\n\t\t}\n\n\t\t// 2B\n\t\tconst labelAttributeNode = isElement(current)\n\t\t\t? current.getAttributeNode(\"aria-labelledby\")\n\t\t\t: null;\n\t\t// TODO: Do we generally need to block query IdRefs of attributes we have already consulted?\n\t\tconst labelElements =\n\t\t\tlabelAttributeNode !== null && !consultedNodes.has(labelAttributeNode)\n\t\t\t\t? queryIdRefs(current, \"aria-labelledby\")\n\t\t\t\t: [];\n\t\tif (\n\t\t\tcompute === \"name\" &&\n\t\t\t!context.isReferenced &&\n\t\t\tlabelElements.length > 0\n\t\t) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Can't be null here otherwise labelElements would be empty\n\t\t\tconsultedNodes.add(labelAttributeNode!);\n\n\t\t\treturn labelElements\n\t\t\t\t.map((element) => {\n\t\t\t\t\t// TODO: Chrome will consider repeated values i.e. use a node multiple times while we'll bail out in computeTextAlternative.\n\t\t\t\t\treturn computeTextAlternative(element, {\n\t\t\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\t\t\tisReferenced: true,\n\t\t\t\t\t\t// this isn't recursion as specified, otherwise we would skip\n\t\t\t\t\t\t// `aria-label` in\n\t\t\t\t\t\t// <input id=\"myself\" aria-label=\"foo\" aria-labelledby=\"myself\"\n\t\t\t\t\t\trecursion: false,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.join(\" \");\n\t\t}\n\n\t\t// 2C\n\t\t// Changed from the spec in anticipation of https://github.com/w3c/accname/issues/64\n\t\t// spec says we should only consider skipping if we have a non-empty label\n\t\tconst skipToStep2E =\n\t\t\tcontext.recursion && isControl(current) && compute === \"name\";\n\t\tif (!skipToStep2E) {\n\t\t\tconst ariaLabel = (\n\t\t\t\t(isElement(current) && current.getAttribute(\"aria-label\")) ||\n\t\t\t\t\"\"\n\t\t\t).trim();\n\t\t\tif (ariaLabel !== \"\" && compute === \"name\") {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\treturn ariaLabel;\n\t\t\t}\n\n\t\t\t// 2D\n\t\t\tif (!isMarkedPresentational(current)) {\n\t\t\t\tconst elementTextAlternative = computeElementTextAlternative(current);\n\t\t\t\tif (elementTextAlternative !== null) {\n\t\t\t\t\tconsultedNodes.add(current);\n\t\t\t\t\treturn elementTextAlternative;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// special casing, cheating to make tests pass\n\t\t// https://github.com/w3c/accname/issues/67\n\t\tif (hasAnyConcreteRoles(current, [\"menu\"])) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn \"\";\n\t\t}\n\n\t\t// 2E\n\t\tif (skipToStep2E || context.isEmbeddedInLabel || context.isReferenced) {\n\t\t\tif (hasAnyConcreteRoles(current, [\"combobox\", \"listbox\"])) {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\tconst selectedOptions = querySelectedOptions(current);\n\t\t\t\tif (selectedOptions.length === 0) {\n\t\t\t\t\t// defined per test `name_heading_combobox`\n\t\t\t\t\treturn isHTMLInputElement(current) ? current.value : \"\";\n\t\t\t\t}\n\t\t\t\treturn ArrayFrom(selectedOptions)\n\t\t\t\t\t.map((selectedOption) => {\n\t\t\t\t\t\treturn computeTextAlternative(selectedOption, {\n\t\t\t\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\t\t\t\tisReferenced: false,\n\t\t\t\t\t\t\trecursion: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.join(\" \");\n\t\t\t}\n\t\t\tif (hasAbstractRole(current, \"range\")) {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\tif (current.hasAttribute(\"aria-valuetext\")) {\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard\n\t\t\t\t\treturn current.getAttribute(\"aria-valuetext\")!;\n\t\t\t\t}\n\t\t\t\tif (current.hasAttribute(\"aria-valuenow\")) {\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard\n\t\t\t\t\treturn current.getAttribute(\"aria-valuenow\")!;\n\t\t\t\t}\n\t\t\t\t// Otherwise, use the value as specified by a host language attribute.\n\t\t\t\treturn current.getAttribute(\"value\") || \"\";\n\t\t\t}\n\t\t\tif (hasAnyConcreteRoles(current, [\"textbox\"])) {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\treturn getValueOfTextbox(current);\n\t\t\t}\n\t\t}\n\n\t\t// 2F: https://w3c.github.io/accname/#step2F\n\t\tif (\n\t\t\tallowsNameFromContent(current) ||\n\t\t\t(isElement(current) && context.isReferenced) ||\n\t\t\tisNativeHostLanguageTextAlternativeElement(current) ||\n\t\t\tisDescendantOfNativeHostLanguageTextAlternativeElement(current)\n\t\t) {\n\t\t\tconst accumulatedText2F = computeMiscTextAlternative(current, {\n\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\tisReferenced: false,\n\t\t\t});\n\t\t\tif (accumulatedText2F !== \"\") {\n\t\t\t\tconsultedNodes.add(current);\n\t\t\t\treturn accumulatedText2F;\n\t\t\t}\n\t\t}\n\n\t\tif (current.nodeType === current.TEXT_NODE) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn current.textContent || \"\";\n\t\t}\n\n\t\tif (context.recursion) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn computeMiscTextAlternative(current, {\n\t\t\t\tisEmbeddedInLabel: context.isEmbeddedInLabel,\n\t\t\t\tisReferenced: false,\n\t\t\t});\n\t\t}\n\n\t\tconst tooltipAttributeValue = computeTooltipAttributeValue(current);\n\t\tif (tooltipAttributeValue !== null) {\n\t\t\tconsultedNodes.add(current);\n\t\t\treturn tooltipAttributeValue;\n\t\t}\n\n\t\t// TODO should this be reachable?\n\t\tconsultedNodes.add(current);\n\t\treturn \"\";\n\t}\n\n\treturn asFlatString(\n\t\tcomputeTextAlternative(root, {\n\t\t\tisEmbeddedInLabel: false,\n\t\t\t// by spec computeAccessibleDescription starts with the referenced elements as roots\n\t\t\tisReferenced: compute === \"description\",\n\t\t\trecursion: false,\n\t\t})\n\t);\n}\n","import {\n\tcomputeTextAlternative,\n\tComputeTextAlternativeOptions,\n} from \"./accessible-name-and-description\";\nimport { queryIdRefs } from \"./util\";\n\n/**\n * @param root\n * @param options\n * @returns\n */\nexport function computeAccessibleDescription(\n\troot: Element,\n\toptions: ComputeTextAlternativeOptions = {}\n): string {\n\tlet description = queryIdRefs(root, \"aria-describedby\")\n\t\t.map((element) => {\n\t\t\treturn computeTextAlternative(element, {\n\t\t\t\t...options,\n\t\t\t\tcompute: \"description\",\n\t\t\t});\n\t\t})\n\t\t.join(\" \");\n\n\t// TODO: Technically we need to make sure that node wasn't used for the accessible name\n\t// This causes `description_1.0_combobox-focusable-manual` to fail\n\t//\n\t// https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation\n\t// says for so many elements to use the `title` that we assume all elements are considered\n\tif (description === \"\") {\n\t\tconst title = root.getAttribute(\"title\");\n\t\tdescription = title === null ? \"\" : title;\n\t}\n\n\treturn description;\n}\n","import {\n\tcomputeTextAlternative,\n\tComputeTextAlternativeOptions,\n} from \"./accessible-name-and-description\";\nimport { hasAnyConcreteRoles } from \"./util\";\n\n/**\n * https://w3c.github.io/aria/#namefromprohibited\n */\nfunction prohibitsNaming(node: Node): boolean {\n\treturn hasAnyConcreteRoles(node, [\n\t\t\"caption\",\n\t\t\"code\",\n\t\t\"deletion\",\n\t\t\"emphasis\",\n\t\t\"generic\",\n\t\t\"insertion\",\n\t\t\"paragraph\",\n\t\t\"presentation\",\n\t\t\"strong\",\n\t\t\"subscript\",\n\t\t\"superscript\",\n\t]);\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(\n\troot: Element,\n\toptions: ComputeTextAlternativeOptions = {}\n): string {\n\tif (prohibitsNaming(root)) {\n\t\treturn \"\";\n\t}\n\n\treturn computeTextAlternative(root, options);\n}\n","/**\n * Test utilities for @semiont/react-ui\n *\n * Provides a renderWithProviders helper that wraps components with all necessary providers\n * for testing, with customizable mock implementations.\n */\n\nimport React, { ReactElement } from 'react';\nimport { render, RenderOptions, RenderResult } from '@testing-library/react';\nimport { vi } from 'vitest';\nimport { BehaviorSubject } from 'rxjs';\nimport { SemiontClient, type SemiontBrowser } from '@semiont/sdk';\nimport { HttpContentTransport, HttpTransport } from '@semiont/api-client';\nimport { baseUrl, EventBus } from '@semiont/core';\nimport { TranslationProvider } from './contexts/TranslationContext';\nimport { ToastProvider } from './components/Toast';\nimport type { TranslationManager } from './types/TranslationManager';\nimport { SemiontProvider } from './session/SemiontProvider';\n\n/**\n * Minimal fake SemiontBrowser for tests. Emits a fake session whose `client`\n * is a fresh SemiontClient constructed off `apiBaseUrl`. Tests that spy\n * on client methods (e.g. `BindNamespace.prototype.body`) rely on the\n * real-ish client surface. Tests that inspect events production code emits\n * subscribe via `client.on(channel, handler)`.\n */\nfunction createFakeBrowserForTests(\n apiBaseUrl: string,\n): SemiontBrowser {\n const transport = new HttpTransport({ baseUrl: baseUrl(apiBaseUrl) });\n const client = new SemiontClient(transport, new HttpContentTransport(transport));\n const fakeSession = {\n client,\n kb: null,\n user$: new BehaviorSubject<any>(null),\n token$: new BehaviorSubject<any>(null),\n expiresAt: null,\n refresh: vi.fn(async () => null),\n /** Generic-channel subscription carve-out — mirror of SemiontSession.subscribe. */\n subscribe: <K extends string>(channel: K, handler: (payload: any) => void) => {\n const sub = (client.bus.get(channel as never) as { subscribe(fn: (p: never) => void): { unsubscribe(): void } })\n .subscribe(handler as never);\n return () => sub.unsubscribe();\n },\n };\n // Modal-state mock sits on its own BehaviorSubject so tests that\n // exercise the session-expired / permission-denied paths can poke\n // it directly. Mirrors the `FrontendSessionSignals` shape.\n const fakeSignals = {\n sessionExpiredAt$: new BehaviorSubject<number | null>(null),\n sessionExpiredMessage$: new BehaviorSubject<string | null>(null),\n permissionDeniedAt$: new BehaviorSubject<number | null>(null),\n permissionDeniedMessage$: new BehaviorSubject<string | null>(null),\n notifySessionExpired: vi.fn(),\n notifyPermissionDenied: vi.fn(),\n acknowledgeSessionExpired: vi.fn(),\n acknowledgePermissionDenied: vi.fn(),\n dispose: vi.fn(),\n };\n const activeSession$ = new BehaviorSubject<any>(fakeSession);\n const activeSignals$ = new BehaviorSubject<any>(fakeSignals);\n const sessionActivating$ = new BehaviorSubject<boolean>(false);\n const identityToken$ = new BehaviorSubject<null>(null);\n const openResources$ = new BehaviorSubject<any[]>([]);\n const kbs$ = new BehaviorSubject<any[]>([]);\n const activeKbId$ = new BehaviorSubject<string | null>(null);\n const error$ = new BehaviorSubject<never>(null as never);\n // App-scoped bus: a real EventBus stand-in so tests exercising\n // `semiont.emit/on/stream` round-trip through a live subject.\n const shellBus = new EventBus();\n return {\n activeSession$,\n activeSignals$,\n sessionActivating$,\n identityToken$,\n openResources$,\n kbs$,\n activeKbId$,\n error$,\n addKb: vi.fn(),\n removeKb: vi.fn(),\n updateKb: vi.fn(),\n setActiveKb: vi.fn(async () => {}),\n signIn: vi.fn(async () => {}),\n signOut: vi.fn(async () => {}),\n setIdentityToken: vi.fn(),\n addOpenResource: vi.fn(),\n removeOpenResource: vi.fn(),\n updateOpenResourceName: vi.fn(),\n reorderOpenResources: vi.fn(),\n dispose: vi.fn(async () => {}),\n emit: (channel: any, payload: any) => shellBus.get(channel).next(payload),\n on: (channel: any, handler: any) => {\n const sub = shellBus.get(channel).subscribe(handler);\n return () => sub.unsubscribe();\n },\n stream: (channel: any) => shellBus.get(channel).asObservable(),\n _shellBus: shellBus,\n } as unknown as SemiontBrowser;\n}\n\n/**\n * Default mock implementations\n */\nexport const defaultMocks = {\n translationManager: {\n t: (namespace: string, key: string, params?: Record<string, any>) => {\n let result = `${namespace}.${key}`;\n if (params) {\n Object.entries(params).forEach(([k, v]) => {\n result = result.replace(`{${k}}`, String(v));\n });\n }\n return result;\n },\n } as TranslationManager,\n};\n\n/**\n * Options for renderWithProviders\n */\nexport interface TestProvidersOptions {\n translationManager?: TranslationManager;\n apiBaseUrl?: string;\n /** Inject a specific SemiontBrowser (e.g. one seeded with a kbs list). */\n browser?: SemiontBrowser;\n}\n\n/**\n * Test access to the client's local bus. Production code uses typed\n * namespace methods or `session.subscribe(channel, handler)` — never\n * direct bus access. Tests need raw subjects to drive `bus.get(channel).next(...)`\n * / `subscribe(...)` against the live client wiring; `client.bus` is\n * read-only public for that.\n */\nfunction busOf(client: SemiontClient): EventBus {\n return client.bus;\n}\n\nexport interface RenderWithProvidersOptions extends TestProvidersOptions, Omit<RenderOptions, 'wrapper'> {\n /**\n * If true, returns the session (client) EventBus — session-scoped\n * channels (mark:*, beckon:*, gather:*, match:*, bind:*, yield:*,\n * browse:click, browse:reference-navigate, browse:entity-type-clicked).\n */\n returnEventBus?: boolean;\n /**\n * If true, returns the app-scoped (SemiontBrowser) EventBus — panel:*,\n * shell:*, tabs:*, nav:*, settings:*.\n */\n returnShellBus?: boolean;\n}\n\nexport interface RenderWithProvidersResult extends RenderResult {\n /** Session-scoped bus (from the fake client inside the fake browser). */\n eventBus?: EventBus;\n /** App-scoped bus (the fake browser's own bus). */\n shellBus?: EventBus;\n}\n\n/** Read the app-scoped bus stashed on the fake browser by createFakeBrowserForTests. */\nfunction shellBusOf(browser: SemiontBrowser): EventBus | undefined {\n return (browser as unknown as { _shellBus?: EventBus })._shellBus;\n}\n\nexport function renderWithProviders(\n ui: ReactElement,\n options?: RenderWithProvidersOptions\n): RenderWithProvidersResult {\n const {\n translationManager = defaultMocks.translationManager,\n apiBaseUrl = 'http://localhost:4000',\n browser,\n returnEventBus = false,\n returnShellBus = false,\n ...renderOptions\n } = options || {};\n\n const fakeBrowser = browser ?? createFakeBrowserForTests(apiBaseUrl);\n const fakeSession = (fakeBrowser as unknown as { activeSession$: { getValue(): { client?: SemiontClient } | null } }).activeSession$.getValue();\n const client = fakeSession?.client;\n\n function Wrapper({ children }: { children: React.ReactNode }) {\n return (\n <TranslationProvider translationManager={translationManager}>\n <SemiontProvider browser={fakeBrowser}>\n <ToastProvider>\n {children}\n </ToastProvider>\n </SemiontProvider>\n </TranslationProvider>\n );\n }\n\n const result = render(ui, { wrapper: Wrapper, ...renderOptions });\n\n const extras: Partial<RenderWithProvidersResult> = {};\n if (returnEventBus && client) extras.eventBus = busOf(client);\n if (returnShellBus) extras.shellBus = shellBusOf(fakeBrowser);\n return Object.keys(extras).length ? { ...result, ...extras } : result;\n}\n\n/**\n * Build a minimal `<SemiontProvider>` wrapper for tests that roll their\n * own render wrapper (instead of `renderWithProviders`). The returned\n * `eventBus` is the bus backing the fake session's client — same\n * reference production code pokes via `session.client.emit(...)`.\n */\nexport function createTestSemiontWrapper(apiBaseUrl: string = 'http://localhost:4000'): {\n SemiontWrapper: React.ComponentType<{ children: React.ReactNode }>;\n /** Session-scoped bus (from the fake client). */\n eventBus: EventBus;\n /** App-scoped bus (the fake browser's own bus). */\n shellBus: EventBus;\n /** The fake session's client — for tests that need to spy on namespace methods. */\n client: SemiontClient;\n} {\n const fakeBrowser = createFakeBrowserForTests(apiBaseUrl);\n const fakeSession = (fakeBrowser as unknown as { activeSession$: { getValue(): { client: SemiontClient } | null } }).activeSession$.getValue();\n const client = fakeSession!.client;\n const SemiontWrapper = ({ children }: { children: React.ReactNode }) => (\n <SemiontProvider browser={fakeBrowser}>{children}</SemiontProvider>\n );\n return {\n SemiontWrapper,\n eventBus: busOf(client),\n shellBus: shellBusOf(fakeBrowser)!,\n client,\n };\n}\n\n/**\n * Create a mock translation manager with custom translations\n */\nexport function createMockTranslationManager(\n translations: Record<string, Record<string, string>>\n): TranslationManager {\n return {\n t: (namespace: string, key: string) => {\n return translations[namespace]?.[key] || key;\n },\n };\n}\n\n/**\n * Build a fake SemiontBrowser with the active FrontendSessionSignals\n * observables pre-populated. Used by SessionExpiredModal and\n * PermissionDeniedModal tests that need to control the modal flags\n * without driving a real session through its state machine.\n */\nexport function createMockKnowledgeBaseSession(overrides: {\n permissionDeniedAt?: number | null;\n permissionDeniedMessage?: string | null;\n sessionExpiredAt?: number | null;\n sessionExpiredMessage?: string | null;\n acknowledgePermissionDenied?: () => void;\n acknowledgeSessionExpired?: () => void;\n} = {}): SemiontBrowser {\n const session = {\n kb: null,\n user$: new BehaviorSubject<unknown>(null),\n token$: new BehaviorSubject<unknown>(null),\n expiresAt: null,\n refresh: vi.fn(async () => null),\n };\n const signals = {\n permissionDeniedAt$: new BehaviorSubject<number | null>(overrides.permissionDeniedAt ?? null),\n permissionDeniedMessage$: new BehaviorSubject<string | null>(overrides.permissionDeniedMessage ?? null),\n sessionExpiredAt$: new BehaviorSubject<number | null>(overrides.sessionExpiredAt ?? null),\n sessionExpiredMessage$: new BehaviorSubject<string | null>(overrides.sessionExpiredMessage ?? null),\n notifyPermissionDenied: vi.fn(),\n notifySessionExpired: vi.fn(),\n acknowledgePermissionDenied: overrides.acknowledgePermissionDenied ?? vi.fn(),\n acknowledgeSessionExpired: overrides.acknowledgeSessionExpired ?? vi.fn(),\n dispose: vi.fn(),\n };\n return {\n activeSession$: new BehaviorSubject(session),\n activeSignals$: new BehaviorSubject(signals),\n sessionActivating$: new BehaviorSubject<boolean>(false),\n kbs$: new BehaviorSubject<unknown[]>([]),\n activeKbId$: new BehaviorSubject<string | null>(null),\n openResources$: new BehaviorSubject<unknown[]>([]),\n identityToken$: new BehaviorSubject<string | null>(null),\n error$: new BehaviorSubject<unknown>(null),\n addKb: vi.fn(),\n removeKb: vi.fn(),\n updateKb: vi.fn(),\n setActiveKb: vi.fn(async () => {}),\n signIn: vi.fn(async () => {}),\n signOut: vi.fn(async () => {}),\n setIdentityToken: vi.fn(),\n addOpenResource: vi.fn(),\n removeOpenResource: vi.fn(),\n updateOpenResourceName: vi.fn(),\n reorderOpenResources: vi.fn(),\n dispose: vi.fn(async () => {}),\n // App-scoped bus stubs (post-shell-vm refactor). Minimal so\n // useEventSubscription(s) can register without exploding.\n emit: vi.fn(),\n on: vi.fn(() => () => {}),\n stream: vi.fn(() => ({ subscribe: () => ({ unsubscribe: () => {} }) })),\n } as unknown as SemiontBrowser;\n}\n\n// Re-export testing library utilities\nexport * from '@testing-library/react';\nexport { vi } from 'vitest';\n"],"mappings":"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","names":["module","matches","config","global","Symbol","config","module","config","config","escapeHTML","printProps","config","printChildren","printText","printComment","printElement","printElementAsLeaf","ELEMENT_NODE","TEXT_NODE","COMMENT_NODE","FRAGMENT_NODE","ELEMENT_REGEXP","testNode","isCustomElement","nodeIsText","nodeIsComment","nodeIsFragment","config","config","StrictMode","isElement","module","nodeInterop","config","global","Symbol","config","format","config","plugins","getConfig","_typeof","obj","F","values","F","values","_defineProperty","F","roles","_loop","values","i","F","elementRoles","relation","roles","key","keys","values","i","F","key","keys","values","roles","elementRoles","roleElements","module","LZString","AsapAction","AsapScheduler","QueueAction","QueueScheduler","AnimationFrameAction","AnimationFrameScheduler","VirtualTimeScheduler","VirtualAction","config","config","_i","config","sourceIndex","_a","toStr","Object","prototype","toString","isCallable","fn","call","toInteger","value","number","Number","isNaN","isFinite","Math","floor","abs","maxSafeInteger","pow","toLength","len","min","max","arrayLike","mapFn","C","Array","items","TypeError","length","A","k","kValue","SetLike","items","value","has","push","previousLength","length","filter","item","callbackfn","forEach","indexOf","Set","getLocalName","element","localName","tagName","toLowerCase","localNameToRoleMappings","article","aside","button","datalist","dd","details","dialog","dt","fieldset","figure","form","footer","h1","h2","h3","h4","h5","h6","header","hr","html","legend","li","math","main","menu","nav","ol","optgroup","option","output","progress","section","summary","table","tbody","textarea","tfoot","td","th","thead","tr","ul","prohibitedAttributes","caption","Set","code","deletion","emphasis","generic","insertion","paragraph","presentation","strong","subscript","superscript","hasGlobalAriaAttributes","role","some","attributeName","hasAttribute","has","ignorePresentationalRole","implicitRole","explicitRole","getExplicitRole","getImplicitRole","mappedByTag","undefined","getAttribute","type","size","trim","split","length","isElement","node","nodeType","ELEMENT_NODE","isHTMLTableCaptionElement","getLocalName","isHTMLInputElement","isHTMLOptGroupElement","isHTMLSelectElement","isHTMLTableElement","isHTMLTextAreaElement","safeWindow","ownerDocument","defaultView","TypeError","isHTMLFieldSetElement","isHTMLLegendElement","isHTMLSlotElement","isSVGElement","ownerSVGElement","undefined","isSVGSVGElement","isSVGTitleElement","queryIdRefs","attributeName","hasAttribute","ids","getAttribute","split","root","getRootNode","map","id","getElementById","filter","element","hasAnyConcreteRoles","roles","indexOf","getRole","asFlatString","s","trim","replace","isHidden","node","getComputedStyleImplementation","isElement","hasAttribute","getAttribute","style","getPropertyValue","isControl","hasAnyConcreteRoles","hasAbstractRole","role","TypeError","querySelectorAllSubtree","element","selectors","elements","ArrayFrom","querySelectorAll","queryIdRefs","forEach","root","push","apply","querySelectedOptions","listbox","isHTMLSelectElement","selectedOptions","isMarkedPresentational","isNativeHostLanguageTextAlternativeElement","isHTMLTableCaptionElement","allowsNameFromContent","isDescendantOfNativeHostLanguageTextAlternativeElement","getValueOfTextbox","isHTMLInputElement","isHTMLTextAreaElement","value","textContent","getTextualContent","declaration","content","test","slice","isLabelableElement","localName","getLocalName","findLabelableElement","labelableElement","childNodes","childNode","descendantLabelableElement","getControlOfLabel","label","control","undefined","htmlFor","ownerDocument","getElementById","getLabels","labelsProperty","labels","document","filter","getSlotContents","slot","assignedNodes","length","computeTextAlternative","options","consultedNodes","SetLike","window","safeWindow","compute","computedStyleSupportsPseudoElements","getComputedStyle","bind","hidden","computeMiscTextAlternative","context","accumulatedText","pseudoBefore","beforeContent","isHTMLSlotElement","concat","child","result","isEmbeddedInLabel","isReferenced","recursion","display","separator","pseudoAfter","afterContent","useAttribute","attributeName","attribute","getAttributeNode","has","add","computeTooltipAttributeValue","computeElementTextAlternative","isHTMLFieldSetElement","children","i","isHTMLLegendElement","isHTMLTableElement","isSVGSVGElement","isSVGTitleElement","nameFromAlt","isHTMLOptGroupElement","nameFromLabel","type","nameFromValue","map","join","nameFromTitle","nameFromSubTree","current","labelAttributeNode","labelElements","skipToStep2E","ariaLabel","elementTextAlternative","selectedOption","accumulatedText2F","nodeType","TEXT_NODE","tooltipAttributeValue","computeAccessibleDescription","root","options","description","queryIdRefs","map","element","computeTextAlternative","compute","join","title","getAttribute","prohibitsNaming","node","hasAnyConcreteRoles","computeAccessibleName","root","options","computeTextAlternative","config","getLabels","window","roles","getMultipleError","getMissingError","initialValue","lzString","act","fireEvent","getConfig","configure","jestFakeTimersAreEnabled","queries","vi"]}
|