@popsure/dirty-swan 0.62.3 → 0.63.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/bin/util/index.js +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +10132 -12565
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/components/accordion/index.d.ts +1 -2
- package/dist/cjs/lib/components/accordion/index.stories.d.ts +3 -7
- package/dist/cjs/lib/components/autocompleteAddress/index.d.ts +2 -3
- package/dist/cjs/lib/components/autocompleteAddress/index.stories.d.ts +6 -12
- package/dist/cjs/lib/components/autocompleteAddress/util/index.d.ts +1 -1
- package/dist/cjs/lib/components/badge/index.d.ts +3 -4
- package/dist/cjs/lib/components/badge/index.stories.d.ts +3 -9
- package/dist/cjs/lib/components/button/index.d.ts +9 -13
- package/dist/cjs/lib/components/button/index.stories.d.ts +63 -0
- package/dist/cjs/lib/components/cards/card/index.d.ts +2 -6
- package/dist/cjs/lib/components/cards/card/index.stories.d.ts +6 -16
- package/dist/cjs/lib/components/cards/cardButton/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/cards/infoCard/index.d.ts +7 -9
- package/dist/cjs/lib/components/cards/infoCard/index.stories.d.ts +18 -24
- package/dist/cjs/lib/components/chip/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/comparisonTable/components/AccordionItem/AccordionItem.d.ts +4 -1
- package/dist/cjs/lib/components/comparisonTable/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/dateSelector/index.d.ts +1 -1
- package/dist/cjs/lib/components/dateSelector/index.stories.d.ts +3 -5
- package/dist/cjs/lib/components/downloadButton/index.stories.d.ts +3 -5
- package/dist/cjs/lib/components/icon/icons/index.d.ts +0 -26
- package/dist/cjs/lib/components/icon/index.stories.d.ts +4 -4
- package/dist/cjs/lib/components/informationBox/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/input/autoSuggestInput/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/input/autoSuggestMultiSelect/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/input/checkbox/index.d.ts +1 -2
- package/dist/cjs/lib/components/input/checkbox/index.stories.d.ts +8 -22
- package/dist/cjs/lib/components/input/currency/input.stories.d.ts +2 -3
- package/dist/cjs/lib/components/input/input.stories.d.ts +2 -3
- package/dist/cjs/lib/components/input/radio/index.d.ts +1 -3
- package/dist/cjs/lib/components/input/radio/index.stories.d.ts +10 -32
- package/dist/cjs/lib/components/input/stories/config.d.ts +0 -1
- package/dist/cjs/lib/components/input/toggle/index.stories.d.ts +7 -17
- package/dist/cjs/lib/components/link/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/modal/bottomModal/index.d.ts +1 -1
- package/dist/cjs/lib/components/modal/genericModal/index.d.ts +15 -17
- package/dist/cjs/lib/components/modal/hooks/useOnClose.d.ts +1 -1
- package/dist/cjs/lib/components/modal/index.d.ts +1 -6
- package/dist/cjs/lib/components/modal/index.stories.d.ts +9 -49
- package/dist/cjs/lib/components/modal/regularModal/index.d.ts +1 -1
- package/dist/cjs/lib/components/multiDropzone/index.stories.d.ts +2 -11
- package/dist/cjs/lib/components/multiDropzone/types.d.ts +2 -3
- package/dist/cjs/lib/components/multiDropzone/utils/index.d.ts +2 -9
- package/dist/cjs/lib/components/segmentedControl/index.stories.d.ts +3 -5
- package/dist/cjs/lib/components/signaturePad/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/spinner/index.stories.d.ts +2 -2
- package/dist/cjs/lib/components/table/Table.d.ts +3 -10
- package/dist/cjs/lib/components/table/Table.stories.d.ts +4 -15
- package/dist/cjs/lib/components/table/components/TableCell/BaseCell/BaseCell.d.ts +3 -5
- package/dist/cjs/lib/components/table/components/TableCell/BaseCell/BaseCell.stories.d.ts +3 -3
- package/dist/cjs/lib/components/table/components/TableCell/BaseCell/MiniProgressBar/MiniProgressBar.stories.d.ts +2 -2
- package/dist/cjs/lib/components/table/components/TableCell/ButtonCell/ButtonCell.d.ts +2 -4
- package/dist/cjs/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.d.ts +3 -3
- package/dist/cjs/lib/components/table/components/TableCell/CTACell/CTACell.d.ts +2 -6
- package/dist/cjs/lib/components/table/components/TableCell/CTACell/CTACell.stories.d.ts +3 -3
- package/dist/cjs/lib/components/table/components/TableCell/TableCell.d.ts +1 -3
- package/dist/cjs/lib/components/table/components/TableContents/Collapsible.d.ts +2 -1
- package/dist/cjs/lib/components/table/components/TableContents/TableContents.d.ts +1 -4
- package/dist/cjs/lib/components/table/components/TableSection/TableSection.d.ts +3 -4
- package/dist/cjs/lib/components/table/types.d.ts +4 -13
- package/dist/cjs/lib/components/table/utils/useTableNavigation/useTableNavigation.d.ts +0 -1
- package/dist/cjs/lib/components/toast/index.stories.d.ts +4 -8
- package/dist/cjs/lib/index.d.ts +4 -16
- package/dist/cjs/lib/models/styles.d.ts +2 -2
- package/dist/cjs/lib/util/calendarDate/index.d.ts +1 -1
- package/dist/cjs/{mapStyle-Cf8tRlj8.js → mapStyle-a64f125f.js} +1 -1
- package/dist/cjs/mapStyle-a64f125f.js.map +1 -0
- package/dist/colors.scss +1 -1
- package/dist/esm/Calendar-8e595b56.js +2053 -0
- package/dist/esm/Calendar-8e595b56.js.map +1 -0
- package/dist/esm/{useMediaQuery-BlEUymPA.js → Collapsible-a355828b.js} +19 -14
- package/dist/esm/Collapsible-a355828b.js.map +1 -0
- package/dist/esm/{TableSection-CEhD4eoy.js → TableSection-e703f17f.js} +15 -15
- package/dist/esm/TableSection-e703f17f.js.map +1 -0
- package/dist/esm/_commonjsHelpers-4730bd53.js +27 -0
- package/dist/esm/_commonjsHelpers-4730bd53.js.map +1 -0
- package/dist/esm/components/accordion/index.js +10 -11
- package/dist/esm/components/accordion/index.js.map +1 -1
- package/dist/esm/components/accordion/index.stories.js +14 -20
- package/dist/esm/components/accordion/index.stories.js.map +1 -1
- package/dist/esm/components/autocompleteAddress/index.js +25 -25
- package/dist/esm/components/autocompleteAddress/index.js.map +1 -1
- package/dist/esm/components/autocompleteAddress/index.stories.js +42 -50
- package/dist/esm/components/autocompleteAddress/index.stories.js.map +1 -1
- package/dist/esm/components/autocompleteAddress/index.test.js +7 -9
- package/dist/esm/components/autocompleteAddress/index.test.js.map +1 -1
- package/dist/esm/components/badge/index.js +18 -10
- package/dist/esm/components/badge/index.js.map +1 -1
- package/dist/esm/components/badge/index.stories.js +11 -33
- package/dist/esm/components/badge/index.stories.js.map +1 -1
- package/dist/esm/components/badge/index.test.js +5 -6
- package/dist/esm/components/badge/index.test.js.map +1 -1
- package/dist/esm/components/button/index.js +11 -13
- package/dist/esm/components/button/index.js.map +1 -1
- package/dist/esm/components/button/index.stories.js +30 -51
- package/dist/esm/components/button/index.stories.js.map +1 -1
- package/dist/esm/components/button/index.test.js +4 -5
- package/dist/esm/components/button/index.test.js.map +1 -1
- package/dist/esm/components/cards/card/index.js +16 -21
- package/dist/esm/components/cards/card/index.js.map +1 -1
- package/dist/esm/components/cards/card/index.stories.js +39 -55
- package/dist/esm/components/cards/card/index.stories.js.map +1 -1
- package/dist/esm/components/cards/cardButton/index.js +8 -11
- package/dist/esm/components/cards/cardButton/index.js.map +1 -1
- package/dist/esm/components/cards/cardButton/index.stories.js +13 -15
- package/dist/esm/components/cards/cardButton/index.stories.js.map +1 -1
- package/dist/esm/components/cards/index.js +22 -9
- package/dist/esm/components/cards/index.js.map +1 -1
- package/dist/esm/components/cards/infoCard/index.js +8 -31
- package/dist/esm/components/cards/infoCard/index.js.map +1 -1
- package/dist/esm/components/cards/infoCard/index.stories.js +36 -51
- package/dist/esm/components/cards/infoCard/index.stories.js.map +1 -1
- package/dist/esm/components/chip/index.js +8 -9
- package/dist/esm/components/chip/index.js.map +1 -1
- package/dist/esm/components/chip/index.stories.js +13 -15
- package/dist/esm/components/chip/index.stories.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js +12 -9
- package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/AccordionItem/index.js +3 -4
- package/dist/esm/components/comparisonTable/components/AccordionItem/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/Chevron.js +2 -2
- package/dist/esm/components/comparisonTable/components/Chevron.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/Row/index.js +6 -7
- package/dist/esm/components/comparisonTable/components/Row/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js +1 -1
- package/dist/esm/components/comparisonTable/components/TableArrows/Arrow.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableArrows/index.js +4 -5
- package/dist/esm/components/comparisonTable/components/TableArrows/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableButton/index.js +5 -6
- package/dist/esm/components/comparisonTable/components/TableButton/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +8 -7
- package/dist/esm/components/comparisonTable/components/TableButton/index.test.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js +7 -8
- package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js +1 -1
- package/dist/esm/components/comparisonTable/components/TableRating/StarIcon.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js +1 -1
- package/dist/esm/components/comparisonTable/components/TableRating/ZapIcon.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableRating/index.js +4 -5
- package/dist/esm/components/comparisonTable/components/TableRating/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js +6 -7
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +8 -7
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableTrueFalse.js +3 -3
- package/dist/esm/components/comparisonTable/components/TableTrueFalse.js.map +1 -1
- package/dist/esm/components/comparisonTable/index.js +17 -17
- package/dist/esm/components/comparisonTable/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/index.stories.js +20 -21
- package/dist/esm/components/comparisonTable/index.stories.js.map +1 -1
- package/dist/esm/components/dateSelector/components/Calendar.js +5 -5
- package/dist/esm/components/dateSelector/index.js +57 -64
- package/dist/esm/components/dateSelector/index.js.map +1 -1
- package/dist/esm/components/dateSelector/index.stories.js +37 -50
- package/dist/esm/components/dateSelector/index.stories.js.map +1 -1
- package/dist/esm/components/dateSelector/index.test.js +7 -8
- package/dist/esm/components/dateSelector/index.test.js.map +1 -1
- package/dist/esm/components/downloadButton/index.js +5 -6
- package/dist/esm/components/downloadButton/index.js.map +1 -1
- package/dist/esm/components/downloadButton/index.stories.js +13 -17
- package/dist/esm/components/downloadButton/index.stories.js.map +1 -1
- package/dist/esm/components/icon/IconWrapper/IconWrapper.js +3 -4
- package/dist/esm/components/icon/IconWrapper/IconWrapper.js.map +1 -1
- package/dist/esm/components/icon/icons/1.js +4 -5
- package/dist/esm/components/icon/icons/1.js.map +1 -1
- package/dist/esm/components/icon/icons/2.js +4 -5
- package/dist/esm/components/icon/icons/2.js.map +1 -1
- package/dist/esm/components/icon/icons/3.js +4 -5
- package/dist/esm/components/icon/icons/3.js.map +1 -1
- package/dist/esm/components/icon/icons/4.js +4 -5
- package/dist/esm/components/icon/icons/4.js.map +1 -1
- package/dist/esm/components/icon/icons/5.js +4 -5
- package/dist/esm/components/icon/icons/5.js.map +1 -1
- package/dist/esm/components/icon/icons/6.js +4 -5
- package/dist/esm/components/icon/icons/6.js.map +1 -1
- package/dist/esm/components/icon/icons/7.js +4 -5
- package/dist/esm/components/icon/icons/7.js.map +1 -1
- package/dist/esm/components/icon/icons/8.js +4 -5
- package/dist/esm/components/icon/icons/8.js.map +1 -1
- package/dist/esm/components/icon/icons/Activity.js +4 -5
- package/dist/esm/components/icon/icons/Activity.js.map +1 -1
- package/dist/esm/components/icon/icons/Adhd.js +4 -5
- package/dist/esm/components/icon/icons/Adhd.js.map +1 -1
- package/dist/esm/components/icon/icons/AdviceRecommendation.js +4 -5
- package/dist/esm/components/icon/icons/AdviceRecommendation.js.map +1 -1
- package/dist/esm/components/icon/icons/AlertCircle.js +4 -5
- package/dist/esm/components/icon/icons/AlertCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/AlertOctagon.js +4 -5
- package/dist/esm/components/icon/icons/AlertOctagon.js.map +1 -1
- package/dist/esm/components/icon/icons/AlertTriangle.js +4 -5
- package/dist/esm/components/icon/icons/AlertTriangle.js.map +1 -1
- package/dist/esm/components/icon/icons/AlertTriangleFilled.js +4 -5
- package/dist/esm/components/icon/icons/AlertTriangleFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/AlignCenter.js +4 -5
- package/dist/esm/components/icon/icons/AlignCenter.js.map +1 -1
- package/dist/esm/components/icon/icons/AlignJustify.js +4 -5
- package/dist/esm/components/icon/icons/AlignJustify.js.map +1 -1
- package/dist/esm/components/icon/icons/AlignLeft.js +4 -5
- package/dist/esm/components/icon/icons/AlignLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/AlignRight.js +4 -5
- package/dist/esm/components/icon/icons/AlignRight.js.map +1 -1
- package/dist/esm/components/icon/icons/Anchor.js +4 -5
- package/dist/esm/components/icon/icons/Anchor.js.map +1 -1
- package/dist/esm/components/icon/icons/Aperture.js +4 -5
- package/dist/esm/components/icon/icons/Aperture.js.map +1 -1
- package/dist/esm/components/icon/icons/Archive.js +4 -5
- package/dist/esm/components/icon/icons/Archive.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowDown.js +4 -5
- package/dist/esm/components/icon/icons/ArrowDown.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowDownCircle.js +4 -5
- package/dist/esm/components/icon/icons/ArrowDownCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowDownLeft.js +4 -5
- package/dist/esm/components/icon/icons/ArrowDownLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowDownRight.js +4 -5
- package/dist/esm/components/icon/icons/ArrowDownRight.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowLeft.js +4 -5
- package/dist/esm/components/icon/icons/ArrowLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowLeftCircle.js +4 -5
- package/dist/esm/components/icon/icons/ArrowLeftCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowRight.js +4 -5
- package/dist/esm/components/icon/icons/ArrowRight.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowRightCircle.js +4 -5
- package/dist/esm/components/icon/icons/ArrowRightCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowRightFilled.js +4 -5
- package/dist/esm/components/icon/icons/ArrowRightFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowUp.js +4 -5
- package/dist/esm/components/icon/icons/ArrowUp.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowUpCircle.js +4 -5
- package/dist/esm/components/icon/icons/ArrowUpCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowUpLeft.js +4 -5
- package/dist/esm/components/icon/icons/ArrowUpLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/ArrowUpRight.js +4 -5
- package/dist/esm/components/icon/icons/ArrowUpRight.js.map +1 -1
- package/dist/esm/components/icon/icons/Arthritis.js +4 -5
- package/dist/esm/components/icon/icons/Arthritis.js.map +1 -1
- package/dist/esm/components/icon/icons/AssistantFilled.js +4 -5
- package/dist/esm/components/icon/icons/AssistantFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/Asthma.js +4 -5
- package/dist/esm/components/icon/icons/Asthma.js.map +1 -1
- package/dist/esm/components/icon/icons/AtSign.js +4 -5
- package/dist/esm/components/icon/icons/AtSign.js.map +1 -1
- package/dist/esm/components/icon/icons/AwardMedal.js +4 -5
- package/dist/esm/components/icon/icons/AwardMedal.js.map +1 -1
- package/dist/esm/components/icon/icons/Bank.js +4 -5
- package/dist/esm/components/icon/icons/Bank.js.map +1 -1
- package/dist/esm/components/icon/icons/BarChart.js +4 -5
- package/dist/esm/components/icon/icons/BarChart.js.map +1 -1
- package/dist/esm/components/icon/icons/BarChart2.js +4 -5
- package/dist/esm/components/icon/icons/BarChart2.js.map +1 -1
- package/dist/esm/components/icon/icons/BasketballSports.js +5 -6
- package/dist/esm/components/icon/icons/BasketballSports.js.map +1 -1
- package/dist/esm/components/icon/icons/Battery.js +4 -5
- package/dist/esm/components/icon/icons/Battery.js.map +1 -1
- package/dist/esm/components/icon/icons/BatteryCharging.js +4 -5
- package/dist/esm/components/icon/icons/BatteryCharging.js.map +1 -1
- package/dist/esm/components/icon/icons/Bell.js +4 -5
- package/dist/esm/components/icon/icons/Bell.js.map +1 -1
- package/dist/esm/components/icon/icons/BellOff.js +4 -5
- package/dist/esm/components/icon/icons/BellOff.js.map +1 -1
- package/dist/esm/components/icon/icons/Bluetooth.js +4 -5
- package/dist/esm/components/icon/icons/Bluetooth.js.map +1 -1
- package/dist/esm/components/icon/icons/Bold.js +4 -5
- package/dist/esm/components/icon/icons/Bold.js.map +1 -1
- package/dist/esm/components/icon/icons/Book.js +4 -5
- package/dist/esm/components/icon/icons/Book.js.map +1 -1
- package/dist/esm/components/icon/icons/BookOpen.js +5 -6
- package/dist/esm/components/icon/icons/BookOpen.js.map +1 -1
- package/dist/esm/components/icon/icons/Bookmark.js +4 -5
- package/dist/esm/components/icon/icons/Bookmark.js.map +1 -1
- package/dist/esm/components/icon/icons/Box.js +4 -5
- package/dist/esm/components/icon/icons/Box.js.map +1 -1
- package/dist/esm/components/icon/icons/BoxesAdd.js +4 -5
- package/dist/esm/components/icon/icons/BoxesAdd.js.map +1 -1
- package/dist/esm/components/icon/icons/BoxesAdd2.js +4 -5
- package/dist/esm/components/icon/icons/BoxesAdd2.js.map +1 -1
- package/dist/esm/components/icon/icons/BoxesAddFilled.js +4 -5
- package/dist/esm/components/icon/icons/BoxesAddFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/BoxesMultiple.js +4 -5
- package/dist/esm/components/icon/icons/BoxesMultiple.js.map +1 -1
- package/dist/esm/components/icon/icons/BoxesMultipleFilled.js +4 -5
- package/dist/esm/components/icon/icons/BoxesMultipleFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/Briefcase.js +4 -5
- package/dist/esm/components/icon/icons/Briefcase.js.map +1 -1
- package/dist/esm/components/icon/icons/Calculator.js +4 -5
- package/dist/esm/components/icon/icons/Calculator.js.map +1 -1
- package/dist/esm/components/icon/icons/Calendar.js +4 -5
- package/dist/esm/components/icon/icons/Calendar.js.map +1 -1
- package/dist/esm/components/icon/icons/Camera.js +4 -5
- package/dist/esm/components/icon/icons/Camera.js.map +1 -1
- package/dist/esm/components/icon/icons/CameraOff.js +4 -5
- package/dist/esm/components/icon/icons/CameraOff.js.map +1 -1
- package/dist/esm/components/icon/icons/Cancer.js +4 -5
- package/dist/esm/components/icon/icons/Cancer.js.map +1 -1
- package/dist/esm/components/icon/icons/Cast.js +4 -5
- package/dist/esm/components/icon/icons/Cast.js.map +1 -1
- package/dist/esm/components/icon/icons/Check.js +4 -5
- package/dist/esm/components/icon/icons/Check.js.map +1 -1
- package/dist/esm/components/icon/icons/CheckCircle.js +4 -5
- package/dist/esm/components/icon/icons/CheckCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/CheckInCircle.js +4 -5
- package/dist/esm/components/icon/icons/CheckInCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/CheckInCircleFilled.js +4 -5
- package/dist/esm/components/icon/icons/CheckInCircleFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/CheckSquare.js +4 -5
- package/dist/esm/components/icon/icons/CheckSquare.js.map +1 -1
- package/dist/esm/components/icon/icons/CheckThick.js +5 -6
- package/dist/esm/components/icon/icons/CheckThick.js.map +1 -1
- package/dist/esm/components/icon/icons/CheckboxChecked.js +4 -5
- package/dist/esm/components/icon/icons/CheckboxChecked.js.map +1 -1
- package/dist/esm/components/icon/icons/CheckboxUnchecked.js +4 -5
- package/dist/esm/components/icon/icons/CheckboxUnchecked.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronDown.js +4 -5
- package/dist/esm/components/icon/icons/ChevronDown.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronLeft.js +4 -5
- package/dist/esm/components/icon/icons/ChevronLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronRight.js +4 -5
- package/dist/esm/components/icon/icons/ChevronRight.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronUp.js +4 -5
- package/dist/esm/components/icon/icons/ChevronUp.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronsDown.js +4 -5
- package/dist/esm/components/icon/icons/ChevronsDown.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronsLeft.js +4 -5
- package/dist/esm/components/icon/icons/ChevronsLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronsRight.js +4 -5
- package/dist/esm/components/icon/icons/ChevronsRight.js.map +1 -1
- package/dist/esm/components/icon/icons/ChevronsUp.js +4 -5
- package/dist/esm/components/icon/icons/ChevronsUp.js.map +1 -1
- package/dist/esm/components/icon/icons/Chrome.js +4 -5
- package/dist/esm/components/icon/icons/Chrome.js.map +1 -1
- package/dist/esm/components/icon/icons/Circle.js +4 -5
- package/dist/esm/components/icon/icons/Circle.js.map +1 -1
- package/dist/esm/components/icon/icons/CircleSelected.js +4 -5
- package/dist/esm/components/icon/icons/CircleSelected.js.map +1 -1
- package/dist/esm/components/icon/icons/CircleSmall.js +4 -5
- package/dist/esm/components/icon/icons/CircleSmall.js.map +1 -1
- package/dist/esm/components/icon/icons/CircleUnselected.js +4 -5
- package/dist/esm/components/icon/icons/CircleUnselected.js.map +1 -1
- package/dist/esm/components/icon/icons/Clipboard.js +4 -5
- package/dist/esm/components/icon/icons/Clipboard.js.map +1 -1
- package/dist/esm/components/icon/icons/ClockTime.js +4 -5
- package/dist/esm/components/icon/icons/ClockTime.js.map +1 -1
- package/dist/esm/components/icon/icons/Cloud.js +4 -5
- package/dist/esm/components/icon/icons/Cloud.js.map +1 -1
- package/dist/esm/components/icon/icons/CloudDrizzle.js +4 -5
- package/dist/esm/components/icon/icons/CloudDrizzle.js.map +1 -1
- package/dist/esm/components/icon/icons/CloudLightning.js +4 -5
- package/dist/esm/components/icon/icons/CloudLightning.js.map +1 -1
- package/dist/esm/components/icon/icons/CloudOff.js +4 -5
- package/dist/esm/components/icon/icons/CloudOff.js.map +1 -1
- package/dist/esm/components/icon/icons/CloudRain.js +4 -5
- package/dist/esm/components/icon/icons/CloudRain.js.map +1 -1
- package/dist/esm/components/icon/icons/CloudSnow.js +4 -5
- package/dist/esm/components/icon/icons/CloudSnow.js.map +1 -1
- package/dist/esm/components/icon/icons/Code.js +4 -5
- package/dist/esm/components/icon/icons/Code.js.map +1 -1
- package/dist/esm/components/icon/icons/Codepen.js +4 -5
- package/dist/esm/components/icon/icons/Codepen.js.map +1 -1
- package/dist/esm/components/icon/icons/Codesandbox.js +4 -5
- package/dist/esm/components/icon/icons/Codesandbox.js.map +1 -1
- package/dist/esm/components/icon/icons/Coffee.js +4 -5
- package/dist/esm/components/icon/icons/Coffee.js.map +1 -1
- package/dist/esm/components/icon/icons/Columns.js +4 -5
- package/dist/esm/components/icon/icons/Columns.js.map +1 -1
- package/dist/esm/components/icon/icons/Command.js +4 -5
- package/dist/esm/components/icon/icons/Command.js.map +1 -1
- package/dist/esm/components/icon/icons/Compass.js +4 -5
- package/dist/esm/components/icon/icons/Compass.js.map +1 -1
- package/dist/esm/components/icon/icons/Concierge.js +4 -5
- package/dist/esm/components/icon/icons/Concierge.js.map +1 -1
- package/dist/esm/components/icon/icons/Copy.js +4 -5
- package/dist/esm/components/icon/icons/Copy.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerDownLeft.js +4 -5
- package/dist/esm/components/icon/icons/CornerDownLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerDownRight.js +4 -5
- package/dist/esm/components/icon/icons/CornerDownRight.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerLeftDown.js +4 -5
- package/dist/esm/components/icon/icons/CornerLeftDown.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerLeftUp.js +4 -5
- package/dist/esm/components/icon/icons/CornerLeftUp.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerRightDown.js +4 -5
- package/dist/esm/components/icon/icons/CornerRightDown.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerRightUp.js +4 -5
- package/dist/esm/components/icon/icons/CornerRightUp.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerUpLeft.js +4 -5
- package/dist/esm/components/icon/icons/CornerUpLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/CornerUpRight.js +4 -5
- package/dist/esm/components/icon/icons/CornerUpRight.js.map +1 -1
- package/dist/esm/components/icon/icons/Cpu.js +4 -5
- package/dist/esm/components/icon/icons/Cpu.js.map +1 -1
- package/dist/esm/components/icon/icons/CreditCard.js +4 -5
- package/dist/esm/components/icon/icons/CreditCard.js.map +1 -1
- package/dist/esm/components/icon/icons/Crop.js +4 -5
- package/dist/esm/components/icon/icons/Crop.js.map +1 -1
- package/dist/esm/components/icon/icons/Crosshair.js +4 -5
- package/dist/esm/components/icon/icons/Crosshair.js.map +1 -1
- package/dist/esm/components/icon/icons/Database.js +4 -5
- package/dist/esm/components/icon/icons/Database.js.map +1 -1
- package/dist/esm/components/icon/icons/Delete.js +4 -5
- package/dist/esm/components/icon/icons/Delete.js.map +1 -1
- package/dist/esm/components/icon/icons/DentalPlus.js +4 -5
- package/dist/esm/components/icon/icons/DentalPlus.js.map +1 -1
- package/dist/esm/components/icon/icons/DentalToothTeeth.js +4 -5
- package/dist/esm/components/icon/icons/DentalToothTeeth.js.map +1 -1
- package/dist/esm/components/icon/icons/DependentsFamily.js +4 -5
- package/dist/esm/components/icon/icons/DependentsFamily.js.map +1 -1
- package/dist/esm/components/icon/icons/DependentsFamilyAdd.js +4 -5
- package/dist/esm/components/icon/icons/DependentsFamilyAdd.js.map +1 -1
- package/dist/esm/components/icon/icons/Diabetes.js +4 -5
- package/dist/esm/components/icon/icons/Diabetes.js.map +1 -1
- package/dist/esm/components/icon/icons/Disc.js +4 -5
- package/dist/esm/components/icon/icons/Disc.js.map +1 -1
- package/dist/esm/components/icon/icons/Doctor.js +4 -5
- package/dist/esm/components/icon/icons/Doctor.js.map +1 -1
- package/dist/esm/components/icon/icons/DoctorStethoscope.js +4 -5
- package/dist/esm/components/icon/icons/DoctorStethoscope.js.map +1 -1
- package/dist/esm/components/icon/icons/DollarSign.js +4 -5
- package/dist/esm/components/icon/icons/DollarSign.js.map +1 -1
- package/dist/esm/components/icon/icons/Download.js +4 -5
- package/dist/esm/components/icon/icons/Download.js.map +1 -1
- package/dist/esm/components/icon/icons/DownloadCloud.js +4 -5
- package/dist/esm/components/icon/icons/DownloadCloud.js.map +1 -1
- package/dist/esm/components/icon/icons/DragCorner.js +4 -5
- package/dist/esm/components/icon/icons/DragCorner.js.map +1 -1
- package/dist/esm/components/icon/icons/Droplet.js +4 -5
- package/dist/esm/components/icon/icons/Droplet.js.map +1 -1
- package/dist/esm/components/icon/icons/Edit.js +4 -5
- package/dist/esm/components/icon/icons/Edit.js.map +1 -1
- package/dist/esm/components/icon/icons/Edit2.js +4 -5
- package/dist/esm/components/icon/icons/Edit2.js.map +1 -1
- package/dist/esm/components/icon/icons/Edit3.js +4 -5
- package/dist/esm/components/icon/icons/Edit3.js.map +1 -1
- package/dist/esm/components/icon/icons/Equal.js +4 -5
- package/dist/esm/components/icon/icons/Equal.js.map +1 -1
- package/dist/esm/components/icon/icons/Euro.js +4 -5
- package/dist/esm/components/icon/icons/Euro.js.map +1 -1
- package/dist/esm/components/icon/icons/EuroClaim.js +4 -5
- package/dist/esm/components/icon/icons/EuroClaim.js.map +1 -1
- package/dist/esm/components/icon/icons/EuroClaimFilled.js +4 -5
- package/dist/esm/components/icon/icons/EuroClaimFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/ExternalLink.js +4 -5
- package/dist/esm/components/icon/icons/ExternalLink.js.map +1 -1
- package/dist/esm/components/icon/icons/EyeOff.js +4 -5
- package/dist/esm/components/icon/icons/EyeOff.js.map +1 -1
- package/dist/esm/components/icon/icons/EyeVision.js +4 -5
- package/dist/esm/components/icon/icons/EyeVision.js.map +1 -1
- package/dist/esm/components/icon/icons/Facebook.js +4 -5
- package/dist/esm/components/icon/icons/Facebook.js.map +1 -1
- package/dist/esm/components/icon/icons/FastEasy.js +4 -5
- package/dist/esm/components/icon/icons/FastEasy.js.map +1 -1
- package/dist/esm/components/icon/icons/FastForward.js +4 -5
- package/dist/esm/components/icon/icons/FastForward.js.map +1 -1
- package/dist/esm/components/icon/icons/Feather.js +4 -5
- package/dist/esm/components/icon/icons/Feather.js.map +1 -1
- package/dist/esm/components/icon/icons/Female.js +4 -5
- package/dist/esm/components/icon/icons/Female.js.map +1 -1
- package/dist/esm/components/icon/icons/File.js +4 -5
- package/dist/esm/components/icon/icons/File.js.map +1 -1
- package/dist/esm/components/icon/icons/FileMinus.js +4 -5
- package/dist/esm/components/icon/icons/FileMinus.js.map +1 -1
- package/dist/esm/components/icon/icons/FilePlus.js +4 -5
- package/dist/esm/components/icon/icons/FilePlus.js.map +1 -1
- package/dist/esm/components/icon/icons/FileText.js +4 -5
- package/dist/esm/components/icon/icons/FileText.js.map +1 -1
- package/dist/esm/components/icon/icons/Film.js +4 -5
- package/dist/esm/components/icon/icons/Film.js.map +1 -1
- package/dist/esm/components/icon/icons/Filter.js +4 -5
- package/dist/esm/components/icon/icons/Filter.js.map +1 -1
- package/dist/esm/components/icon/icons/Flag.js +4 -5
- package/dist/esm/components/icon/icons/Flag.js.map +1 -1
- package/dist/esm/components/icon/icons/Folder.js +4 -5
- package/dist/esm/components/icon/icons/Folder.js.map +1 -1
- package/dist/esm/components/icon/icons/FolderMinus.js +4 -5
- package/dist/esm/components/icon/icons/FolderMinus.js.map +1 -1
- package/dist/esm/components/icon/icons/FolderPlus.js +4 -5
- package/dist/esm/components/icon/icons/FolderPlus.js.map +1 -1
- package/dist/esm/components/icon/icons/Framer.js +4 -5
- package/dist/esm/components/icon/icons/Framer.js.map +1 -1
- package/dist/esm/components/icon/icons/Frown.js +4 -5
- package/dist/esm/components/icon/icons/Frown.js.map +1 -1
- package/dist/esm/components/icon/icons/Gift.js +4 -5
- package/dist/esm/components/icon/icons/Gift.js.map +1 -1
- package/dist/esm/components/icon/icons/GitBranch.js +4 -5
- package/dist/esm/components/icon/icons/GitBranch.js.map +1 -1
- package/dist/esm/components/icon/icons/GitCommit.js +4 -5
- package/dist/esm/components/icon/icons/GitCommit.js.map +1 -1
- package/dist/esm/components/icon/icons/GitMerge.js +4 -5
- package/dist/esm/components/icon/icons/GitMerge.js.map +1 -1
- package/dist/esm/components/icon/icons/GitPullRequest.js +4 -5
- package/dist/esm/components/icon/icons/GitPullRequest.js.map +1 -1
- package/dist/esm/components/icon/icons/GlobeNetworkEarth.js +4 -5
- package/dist/esm/components/icon/icons/GlobeNetworkEarth.js.map +1 -1
- package/dist/esm/components/icon/icons/Hallesche.js +4 -5
- package/dist/esm/components/icon/icons/Hallesche.js.map +1 -1
- package/dist/esm/components/icon/icons/HandsMassageTherapeutic.js +4 -5
- package/dist/esm/components/icon/icons/HandsMassageTherapeutic.js.map +1 -1
- package/dist/esm/components/icon/icons/HardDrive.js +4 -5
- package/dist/esm/components/icon/icons/HardDrive.js.map +1 -1
- package/dist/esm/components/icon/icons/Hash.js +4 -5
- package/dist/esm/components/icon/icons/Hash.js.map +1 -1
- package/dist/esm/components/icon/icons/Headphones.js +4 -5
- package/dist/esm/components/icon/icons/Headphones.js.map +1 -1
- package/dist/esm/components/icon/icons/Heart.js +5 -6
- package/dist/esm/components/icon/icons/Heart.js.map +1 -1
- package/dist/esm/components/icon/icons/HeartHand.js +4 -5
- package/dist/esm/components/icon/icons/HeartHand.js.map +1 -1
- package/dist/esm/components/icon/icons/HeartPlus.js +4 -5
- package/dist/esm/components/icon/icons/HeartPlus.js.map +1 -1
- package/dist/esm/components/icon/icons/Hexagon.js +4 -5
- package/dist/esm/components/icon/icons/Hexagon.js.map +1 -1
- package/dist/esm/components/icon/icons/Home.js +4 -5
- package/dist/esm/components/icon/icons/Home.js.map +1 -1
- package/dist/esm/components/icon/icons/HospitalBuilding.js +4 -5
- package/dist/esm/components/icon/icons/HospitalBuilding.js.map +1 -1
- package/dist/esm/components/icon/icons/ImagePicture.js +4 -5
- package/dist/esm/components/icon/icons/ImagePicture.js.map +1 -1
- package/dist/esm/components/icon/icons/Inbox.js +4 -5
- package/dist/esm/components/icon/icons/Inbox.js.map +1 -1
- package/dist/esm/components/icon/icons/Info.js +5 -6
- package/dist/esm/components/icon/icons/Info.js.map +1 -1
- package/dist/esm/components/icon/icons/InfoFilled.js +4 -5
- package/dist/esm/components/icon/icons/InfoFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/Instagram.js +4 -5
- package/dist/esm/components/icon/icons/Instagram.js.map +1 -1
- package/dist/esm/components/icon/icons/Italic.js +4 -5
- package/dist/esm/components/icon/icons/Italic.js.map +1 -1
- package/dist/esm/components/icon/icons/Key.js +4 -5
- package/dist/esm/components/icon/icons/Key.js.map +1 -1
- package/dist/esm/components/icon/icons/LawyerLegal.js +4 -5
- package/dist/esm/components/icon/icons/LawyerLegal.js.map +1 -1
- package/dist/esm/components/icon/icons/Layers.js +4 -5
- package/dist/esm/components/icon/icons/Layers.js.map +1 -1
- package/dist/esm/components/icon/icons/Layout.js +4 -5
- package/dist/esm/components/icon/icons/Layout.js.map +1 -1
- package/dist/esm/components/icon/icons/LifeBuoy.js +4 -5
- package/dist/esm/components/icon/icons/LifeBuoy.js.map +1 -1
- package/dist/esm/components/icon/icons/Link.js +4 -5
- package/dist/esm/components/icon/icons/Link.js.map +1 -1
- package/dist/esm/components/icon/icons/Link2.js +4 -5
- package/dist/esm/components/icon/icons/Link2.js.map +1 -1
- package/dist/esm/components/icon/icons/Linkedin.js +4 -5
- package/dist/esm/components/icon/icons/Linkedin.js.map +1 -1
- package/dist/esm/components/icon/icons/List.js +4 -5
- package/dist/esm/components/icon/icons/List.js.map +1 -1
- package/dist/esm/components/icon/icons/Loader.js +4 -5
- package/dist/esm/components/icon/icons/Loader.js.map +1 -1
- package/dist/esm/components/icon/icons/Lock.js +4 -5
- package/dist/esm/components/icon/icons/Lock.js.map +1 -1
- package/dist/esm/components/icon/icons/LogIn.js +4 -5
- package/dist/esm/components/icon/icons/LogIn.js.map +1 -1
- package/dist/esm/components/icon/icons/LogOut.js +4 -5
- package/dist/esm/components/icon/icons/LogOut.js.map +1 -1
- package/dist/esm/components/icon/icons/Mail.js +4 -5
- package/dist/esm/components/icon/icons/Mail.js.map +1 -1
- package/dist/esm/components/icon/icons/Male.js +4 -5
- package/dist/esm/components/icon/icons/Male.js.map +1 -1
- package/dist/esm/components/icon/icons/Map.js +5 -6
- package/dist/esm/components/icon/icons/Map.js.map +1 -1
- package/dist/esm/components/icon/icons/MapPin.js +4 -5
- package/dist/esm/components/icon/icons/MapPin.js.map +1 -1
- package/dist/esm/components/icon/icons/Maximize.js +4 -5
- package/dist/esm/components/icon/icons/Maximize.js.map +1 -1
- package/dist/esm/components/icon/icons/Maximize2.js +4 -5
- package/dist/esm/components/icon/icons/Maximize2.js.map +1 -1
- package/dist/esm/components/icon/icons/MedicationPills.js +4 -5
- package/dist/esm/components/icon/icons/MedicationPills.js.map +1 -1
- package/dist/esm/components/icon/icons/Meh.js +4 -5
- package/dist/esm/components/icon/icons/Meh.js.map +1 -1
- package/dist/esm/components/icon/icons/MentalHealth.js +4 -5
- package/dist/esm/components/icon/icons/MentalHealth.js.map +1 -1
- package/dist/esm/components/icon/icons/Menu.js +4 -5
- package/dist/esm/components/icon/icons/Menu.js.map +1 -1
- package/dist/esm/components/icon/icons/MenuDotsMoreHorizontal.js +4 -5
- package/dist/esm/components/icon/icons/MenuDotsMoreHorizontal.js.map +1 -1
- package/dist/esm/components/icon/icons/MenuDotsMoreVertical.js +4 -5
- package/dist/esm/components/icon/icons/MenuDotsMoreVertical.js.map +1 -1
- package/dist/esm/components/icon/icons/MessageCircle.js +4 -5
- package/dist/esm/components/icon/icons/MessageCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/MessageSquare.js +4 -5
- package/dist/esm/components/icon/icons/MessageSquare.js.map +1 -1
- package/dist/esm/components/icon/icons/Mic.js +4 -5
- package/dist/esm/components/icon/icons/Mic.js.map +1 -1
- package/dist/esm/components/icon/icons/MicOff.js +4 -5
- package/dist/esm/components/icon/icons/MicOff.js.map +1 -1
- package/dist/esm/components/icon/icons/Minimize.js +4 -5
- package/dist/esm/components/icon/icons/Minimize.js.map +1 -1
- package/dist/esm/components/icon/icons/Minimize2.js +4 -5
- package/dist/esm/components/icon/icons/Minimize2.js.map +1 -1
- package/dist/esm/components/icon/icons/Minus.js +4 -5
- package/dist/esm/components/icon/icons/Minus.js.map +1 -1
- package/dist/esm/components/icon/icons/MinusCircle.js +4 -5
- package/dist/esm/components/icon/icons/MinusCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/MinusSquare.js +4 -5
- package/dist/esm/components/icon/icons/MinusSquare.js.map +1 -1
- package/dist/esm/components/icon/icons/MonitorScreen.js +4 -5
- package/dist/esm/components/icon/icons/MonitorScreen.js.map +1 -1
- package/dist/esm/components/icon/icons/MoonNight.js +4 -5
- package/dist/esm/components/icon/icons/MoonNight.js.map +1 -1
- package/dist/esm/components/icon/icons/MousePointer.js +4 -5
- package/dist/esm/components/icon/icons/MousePointer.js.map +1 -1
- package/dist/esm/components/icon/icons/Move.js +4 -5
- package/dist/esm/components/icon/icons/Move.js.map +1 -1
- package/dist/esm/components/icon/icons/Music.js +4 -5
- package/dist/esm/components/icon/icons/Music.js.map +1 -1
- package/dist/esm/components/icon/icons/Natural.js +4 -5
- package/dist/esm/components/icon/icons/Natural.js.map +1 -1
- package/dist/esm/components/icon/icons/Navigation.js +4 -5
- package/dist/esm/components/icon/icons/Navigation.js.map +1 -1
- package/dist/esm/components/icon/icons/Navigation2.js +4 -5
- package/dist/esm/components/icon/icons/Navigation2.js.map +1 -1
- package/dist/esm/components/icon/icons/NoDocument.js +4 -5
- package/dist/esm/components/icon/icons/NoDocument.js.map +1 -1
- package/dist/esm/components/icon/icons/Octagon.js +4 -5
- package/dist/esm/components/icon/icons/Octagon.js.map +1 -1
- package/dist/esm/components/icon/icons/Package.js +4 -5
- package/dist/esm/components/icon/icons/Package.js.map +1 -1
- package/dist/esm/components/icon/icons/Paperclip.js +4 -5
- package/dist/esm/components/icon/icons/Paperclip.js.map +1 -1
- package/dist/esm/components/icon/icons/Pause.js +4 -5
- package/dist/esm/components/icon/icons/Pause.js.map +1 -1
- package/dist/esm/components/icon/icons/PauseCircle.js +4 -5
- package/dist/esm/components/icon/icons/PauseCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/PenTool.js +4 -5
- package/dist/esm/components/icon/icons/PenTool.js.map +1 -1
- package/dist/esm/components/icon/icons/Percent.js +4 -5
- package/dist/esm/components/icon/icons/Percent.js.map +1 -1
- package/dist/esm/components/icon/icons/Phone.js +4 -5
- package/dist/esm/components/icon/icons/Phone.js.map +1 -1
- package/dist/esm/components/icon/icons/PhoneCall.js +4 -5
- package/dist/esm/components/icon/icons/PhoneCall.js.map +1 -1
- package/dist/esm/components/icon/icons/PhoneForwarded.js +4 -5
- package/dist/esm/components/icon/icons/PhoneForwarded.js.map +1 -1
- package/dist/esm/components/icon/icons/PhoneHealth.js +4 -5
- package/dist/esm/components/icon/icons/PhoneHealth.js.map +1 -1
- package/dist/esm/components/icon/icons/PhoneIncoming.js +4 -5
- package/dist/esm/components/icon/icons/PhoneIncoming.js.map +1 -1
- package/dist/esm/components/icon/icons/PhoneMissed.js +4 -5
- package/dist/esm/components/icon/icons/PhoneMissed.js.map +1 -1
- package/dist/esm/components/icon/icons/PhoneOff.js +4 -5
- package/dist/esm/components/icon/icons/PhoneOff.js.map +1 -1
- package/dist/esm/components/icon/icons/PhoneOutgoing.js +4 -5
- package/dist/esm/components/icon/icons/PhoneOutgoing.js.map +1 -1
- package/dist/esm/components/icon/icons/PieChart.js +4 -5
- package/dist/esm/components/icon/icons/PieChart.js.map +1 -1
- package/dist/esm/components/icon/icons/Plane.js +4 -5
- package/dist/esm/components/icon/icons/Plane.js.map +1 -1
- package/dist/esm/components/icon/icons/PlaneFilled.js +4 -5
- package/dist/esm/components/icon/icons/PlaneFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/PlaneRepatriation.js +4 -5
- package/dist/esm/components/icon/icons/PlaneRepatriation.js.map +1 -1
- package/dist/esm/components/icon/icons/PlaneRepatriationFilled.js +4 -5
- package/dist/esm/components/icon/icons/PlaneRepatriationFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/Play.js +4 -5
- package/dist/esm/components/icon/icons/Play.js.map +1 -1
- package/dist/esm/components/icon/icons/PlayCircle.js +4 -5
- package/dist/esm/components/icon/icons/PlayCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/Plus.js +4 -5
- package/dist/esm/components/icon/icons/Plus.js.map +1 -1
- package/dist/esm/components/icon/icons/PlusCircle.js +4 -5
- package/dist/esm/components/icon/icons/PlusCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/PlusSquare.js +4 -5
- package/dist/esm/components/icon/icons/PlusSquare.js.map +1 -1
- package/dist/esm/components/icon/icons/Pocket.js +4 -5
- package/dist/esm/components/icon/icons/Pocket.js.map +1 -1
- package/dist/esm/components/icon/icons/PoliciesShield.js +4 -5
- package/dist/esm/components/icon/icons/PoliciesShield.js.map +1 -1
- package/dist/esm/components/icon/icons/PoliciesShieldFilled.js +4 -5
- package/dist/esm/components/icon/icons/PoliciesShieldFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/Power.js +4 -5
- package/dist/esm/components/icon/icons/Power.js.map +1 -1
- package/dist/esm/components/icon/icons/Pregnacy.js +4 -5
- package/dist/esm/components/icon/icons/Pregnacy.js.map +1 -1
- package/dist/esm/components/icon/icons/Printer.js +4 -5
- package/dist/esm/components/icon/icons/Printer.js.map +1 -1
- package/dist/esm/components/icon/icons/Progress.js +4 -5
- package/dist/esm/components/icon/icons/Progress.js.map +1 -1
- package/dist/esm/components/icon/icons/QrCode.js +4 -5
- package/dist/esm/components/icon/icons/QrCode.js.map +1 -1
- package/dist/esm/components/icon/icons/QuestionmarkHelpCircle.js +4 -5
- package/dist/esm/components/icon/icons/QuestionmarkHelpCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/QuotationMarks.js +4 -5
- package/dist/esm/components/icon/icons/QuotationMarks.js.map +1 -1
- package/dist/esm/components/icon/icons/Radio.js +4 -5
- package/dist/esm/components/icon/icons/Radio.js.map +1 -1
- package/dist/esm/components/icon/icons/RefreshCcw.js +4 -5
- package/dist/esm/components/icon/icons/RefreshCcw.js.map +1 -1
- package/dist/esm/components/icon/icons/RefreshCw.js +4 -5
- package/dist/esm/components/icon/icons/RefreshCw.js.map +1 -1
- package/dist/esm/components/icon/icons/Repeat.js +4 -5
- package/dist/esm/components/icon/icons/Repeat.js.map +1 -1
- package/dist/esm/components/icon/icons/Restart.js +4 -5
- package/dist/esm/components/icon/icons/Restart.js.map +1 -1
- package/dist/esm/components/icon/icons/Rewind.js +4 -5
- package/dist/esm/components/icon/icons/Rewind.js.map +1 -1
- package/dist/esm/components/icon/icons/RotateCcw.js +4 -5
- package/dist/esm/components/icon/icons/RotateCcw.js.map +1 -1
- package/dist/esm/components/icon/icons/RotateCw.js +4 -5
- package/dist/esm/components/icon/icons/RotateCw.js.map +1 -1
- package/dist/esm/components/icon/icons/Rss.js +4 -5
- package/dist/esm/components/icon/icons/Rss.js.map +1 -1
- package/dist/esm/components/icon/icons/Save.js +4 -5
- package/dist/esm/components/icon/icons/Save.js.map +1 -1
- package/dist/esm/components/icon/icons/Scissors.js +4 -5
- package/dist/esm/components/icon/icons/Scissors.js.map +1 -1
- package/dist/esm/components/icon/icons/Search.js +4 -5
- package/dist/esm/components/icon/icons/Search.js.map +1 -1
- package/dist/esm/components/icon/icons/Send.js +4 -5
- package/dist/esm/components/icon/icons/Send.js.map +1 -1
- package/dist/esm/components/icon/icons/Server.js +4 -5
- package/dist/esm/components/icon/icons/Server.js.map +1 -1
- package/dist/esm/components/icon/icons/Settings.js +4 -5
- package/dist/esm/components/icon/icons/Settings.js.map +1 -1
- package/dist/esm/components/icon/icons/Share.js +4 -5
- package/dist/esm/components/icon/icons/Share.js.map +1 -1
- package/dist/esm/components/icon/icons/Share2.js +4 -5
- package/dist/esm/components/icon/icons/Share2.js.map +1 -1
- package/dist/esm/components/icon/icons/Shield.js +4 -5
- package/dist/esm/components/icon/icons/Shield.js.map +1 -1
- package/dist/esm/components/icon/icons/ShieldCover5Years.js +4 -5
- package/dist/esm/components/icon/icons/ShieldCover5Years.js.map +1 -1
- package/dist/esm/components/icon/icons/ShieldOff.js +4 -5
- package/dist/esm/components/icon/icons/ShieldOff.js.map +1 -1
- package/dist/esm/components/icon/icons/ShieldPlus.js +4 -5
- package/dist/esm/components/icon/icons/ShieldPlus.js.map +1 -1
- package/dist/esm/components/icon/icons/ShoppingBag.js +4 -5
- package/dist/esm/components/icon/icons/ShoppingBag.js.map +1 -1
- package/dist/esm/components/icon/icons/ShoppingBag2.js +4 -5
- package/dist/esm/components/icon/icons/ShoppingBag2.js.map +1 -1
- package/dist/esm/components/icon/icons/ShoppingCart.js +4 -5
- package/dist/esm/components/icon/icons/ShoppingCart.js.map +1 -1
- package/dist/esm/components/icon/icons/Shuffle.js +4 -5
- package/dist/esm/components/icon/icons/Shuffle.js.map +1 -1
- package/dist/esm/components/icon/icons/Sidebar.js +4 -5
- package/dist/esm/components/icon/icons/Sidebar.js.map +1 -1
- package/dist/esm/components/icon/icons/SkipBack.js +4 -5
- package/dist/esm/components/icon/icons/SkipBack.js.map +1 -1
- package/dist/esm/components/icon/icons/SkipForward.js +4 -5
- package/dist/esm/components/icon/icons/SkipForward.js.map +1 -1
- package/dist/esm/components/icon/icons/Slack.js +4 -5
- package/dist/esm/components/icon/icons/Slack.js.map +1 -1
- package/dist/esm/components/icon/icons/Slash.js +4 -5
- package/dist/esm/components/icon/icons/Slash.js.map +1 -1
- package/dist/esm/components/icon/icons/Sliders.js +4 -5
- package/dist/esm/components/icon/icons/Sliders.js.map +1 -1
- package/dist/esm/components/icon/icons/Smartphone.js +4 -5
- package/dist/esm/components/icon/icons/Smartphone.js.map +1 -1
- package/dist/esm/components/icon/icons/Smile.js +4 -5
- package/dist/esm/components/icon/icons/Smile.js.map +1 -1
- package/dist/esm/components/icon/icons/Sofa.js +4 -5
- package/dist/esm/components/icon/icons/Sofa.js.map +1 -1
- package/dist/esm/components/icon/icons/Speaker.js +4 -5
- package/dist/esm/components/icon/icons/Speaker.js.map +1 -1
- package/dist/esm/components/icon/icons/Square.js +4 -5
- package/dist/esm/components/icon/icons/Square.js.map +1 -1
- package/dist/esm/components/icon/icons/Star.js +5 -6
- package/dist/esm/components/icon/icons/Star.js.map +1 -1
- package/dist/esm/components/icon/icons/StarFilled.js +4 -5
- package/dist/esm/components/icon/icons/StarFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/StarHalf.js +4 -5
- package/dist/esm/components/icon/icons/StarHalf.js.map +1 -1
- package/dist/esm/components/icon/icons/StopCircle.js +4 -5
- package/dist/esm/components/icon/icons/StopCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/Subtract.js +4 -5
- package/dist/esm/components/icon/icons/Subtract.js.map +1 -1
- package/dist/esm/components/icon/icons/SunDay.js +4 -5
- package/dist/esm/components/icon/icons/SunDay.js.map +1 -1
- package/dist/esm/components/icon/icons/Sunrise.js +4 -5
- package/dist/esm/components/icon/icons/Sunrise.js.map +1 -1
- package/dist/esm/components/icon/icons/Sunset.js +4 -5
- package/dist/esm/components/icon/icons/Sunset.js.map +1 -1
- package/dist/esm/components/icon/icons/SyringeVaccination.js +4 -5
- package/dist/esm/components/icon/icons/SyringeVaccination.js.map +1 -1
- package/dist/esm/components/icon/icons/Tablet.js +4 -5
- package/dist/esm/components/icon/icons/Tablet.js.map +1 -1
- package/dist/esm/components/icon/icons/Tag.js +4 -5
- package/dist/esm/components/icon/icons/Tag.js.map +1 -1
- package/dist/esm/components/icon/icons/Target.js +4 -5
- package/dist/esm/components/icon/icons/Target.js.map +1 -1
- package/dist/esm/components/icon/icons/Terminal.js +4 -5
- package/dist/esm/components/icon/icons/Terminal.js.map +1 -1
- package/dist/esm/components/icon/icons/Thermometer.js +4 -5
- package/dist/esm/components/icon/icons/Thermometer.js.map +1 -1
- package/dist/esm/components/icon/icons/ThumbsDown.js +4 -5
- package/dist/esm/components/icon/icons/ThumbsDown.js.map +1 -1
- package/dist/esm/components/icon/icons/ThumbsUp.js +4 -5
- package/dist/esm/components/icon/icons/ThumbsUp.js.map +1 -1
- package/dist/esm/components/icon/icons/ToggleLeft.js +4 -5
- package/dist/esm/components/icon/icons/ToggleLeft.js.map +1 -1
- package/dist/esm/components/icon/icons/ToggleRight.js +4 -5
- package/dist/esm/components/icon/icons/ToggleRight.js.map +1 -1
- package/dist/esm/components/icon/icons/Tool.js +4 -5
- package/dist/esm/components/icon/icons/Tool.js.map +1 -1
- package/dist/esm/components/icon/icons/Trash.js +4 -5
- package/dist/esm/components/icon/icons/Trash.js.map +1 -1
- package/dist/esm/components/icon/icons/Trash2.js +4 -5
- package/dist/esm/components/icon/icons/Trash2.js.map +1 -1
- package/dist/esm/components/icon/icons/Trello.js +4 -5
- package/dist/esm/components/icon/icons/Trello.js.map +1 -1
- package/dist/esm/components/icon/icons/TrendingDown.js +4 -5
- package/dist/esm/components/icon/icons/TrendingDown.js.map +1 -1
- package/dist/esm/components/icon/icons/TrendingUp.js +4 -5
- package/dist/esm/components/icon/icons/TrendingUp.js.map +1 -1
- package/dist/esm/components/icon/icons/Triangle.js +4 -5
- package/dist/esm/components/icon/icons/Triangle.js.map +1 -1
- package/dist/esm/components/icon/icons/Truck.js +4 -5
- package/dist/esm/components/icon/icons/Truck.js.map +1 -1
- package/dist/esm/components/icon/icons/Tv.js +4 -5
- package/dist/esm/components/icon/icons/Tv.js.map +1 -1
- package/dist/esm/components/icon/icons/Twitch.js +4 -5
- package/dist/esm/components/icon/icons/Twitch.js.map +1 -1
- package/dist/esm/components/icon/icons/Twitter.js +4 -5
- package/dist/esm/components/icon/icons/Twitter.js.map +1 -1
- package/dist/esm/components/icon/icons/Type.js +4 -5
- package/dist/esm/components/icon/icons/Type.js.map +1 -1
- package/dist/esm/components/icon/icons/UltrasoundScan.js +4 -5
- package/dist/esm/components/icon/icons/UltrasoundScan.js.map +1 -1
- package/dist/esm/components/icon/icons/Umbrella.js +4 -5
- package/dist/esm/components/icon/icons/Umbrella.js.map +1 -1
- package/dist/esm/components/icon/icons/Underline.js +4 -5
- package/dist/esm/components/icon/icons/Underline.js.map +1 -1
- package/dist/esm/components/icon/icons/Unlock.js +4 -5
- package/dist/esm/components/icon/icons/Unlock.js.map +1 -1
- package/dist/esm/components/icon/icons/Upload.js +4 -5
- package/dist/esm/components/icon/icons/Upload.js.map +1 -1
- package/dist/esm/components/icon/icons/UploadCloud.js +4 -5
- package/dist/esm/components/icon/icons/UploadCloud.js.map +1 -1
- package/dist/esm/components/icon/icons/User.js +4 -5
- package/dist/esm/components/icon/icons/User.js.map +1 -1
- package/dist/esm/components/icon/icons/UserCheck.js +4 -5
- package/dist/esm/components/icon/icons/UserCheck.js.map +1 -1
- package/dist/esm/components/icon/icons/UserFilled.js +4 -5
- package/dist/esm/components/icon/icons/UserFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/UserMinus.js +4 -5
- package/dist/esm/components/icon/icons/UserMinus.js.map +1 -1
- package/dist/esm/components/icon/icons/UserPlus.js +4 -5
- package/dist/esm/components/icon/icons/UserPlus.js.map +1 -1
- package/dist/esm/components/icon/icons/UserX.js +4 -5
- package/dist/esm/components/icon/icons/UserX.js.map +1 -1
- package/dist/esm/components/icon/icons/Users.js +4 -5
- package/dist/esm/components/icon/icons/Users.js.map +1 -1
- package/dist/esm/components/icon/icons/Video.js +4 -5
- package/dist/esm/components/icon/icons/Video.js.map +1 -1
- package/dist/esm/components/icon/icons/VideoDoctor.js +4 -5
- package/dist/esm/components/icon/icons/VideoDoctor.js.map +1 -1
- package/dist/esm/components/icon/icons/VideoOff.js +4 -5
- package/dist/esm/components/icon/icons/VideoOff.js.map +1 -1
- package/dist/esm/components/icon/icons/VisaPassport.js +4 -5
- package/dist/esm/components/icon/icons/VisaPassport.js.map +1 -1
- package/dist/esm/components/icon/icons/VisaPassportFiled.js +4 -5
- package/dist/esm/components/icon/icons/VisaPassportFiled.js.map +1 -1
- package/dist/esm/components/icon/icons/Voicemail.js +4 -5
- package/dist/esm/components/icon/icons/Voicemail.js.map +1 -1
- package/dist/esm/components/icon/icons/Volume.js +4 -5
- package/dist/esm/components/icon/icons/Volume.js.map +1 -1
- package/dist/esm/components/icon/icons/Volume1.js +4 -5
- package/dist/esm/components/icon/icons/Volume1.js.map +1 -1
- package/dist/esm/components/icon/icons/Volume2.js +4 -5
- package/dist/esm/components/icon/icons/Volume2.js.map +1 -1
- package/dist/esm/components/icon/icons/VolumeX.js +4 -5
- package/dist/esm/components/icon/icons/VolumeX.js.map +1 -1
- package/dist/esm/components/icon/icons/Watch.js +4 -5
- package/dist/esm/components/icon/icons/Watch.js.map +1 -1
- package/dist/esm/components/icon/icons/Whatsapp.js +4 -5
- package/dist/esm/components/icon/icons/Whatsapp.js.map +1 -1
- package/dist/esm/components/icon/icons/Wifi.js +4 -5
- package/dist/esm/components/icon/icons/Wifi.js.map +1 -1
- package/dist/esm/components/icon/icons/WifiOff.js +4 -5
- package/dist/esm/components/icon/icons/WifiOff.js.map +1 -1
- package/dist/esm/components/icon/icons/Wind.js +4 -5
- package/dist/esm/components/icon/icons/Wind.js.map +1 -1
- package/dist/esm/components/icon/icons/WorldGlobeEarth.js +4 -5
- package/dist/esm/components/icon/icons/WorldGlobeEarth.js.map +1 -1
- package/dist/esm/components/icon/icons/X.js +4 -5
- package/dist/esm/components/icon/icons/X.js.map +1 -1
- package/dist/esm/components/icon/icons/XCircle.js +4 -5
- package/dist/esm/components/icon/icons/XCircle.js.map +1 -1
- package/dist/esm/components/icon/icons/XCircleFilled.js +4 -5
- package/dist/esm/components/icon/icons/XCircleFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/XOctagon.js +4 -5
- package/dist/esm/components/icon/icons/XOctagon.js.map +1 -1
- package/dist/esm/components/icon/icons/XSquare.js +4 -5
- package/dist/esm/components/icon/icons/XSquare.js.map +1 -1
- package/dist/esm/components/icon/icons/Youtube.js +4 -5
- package/dist/esm/components/icon/icons/Youtube.js.map +1 -1
- package/dist/esm/components/icon/icons/Zap.js +4 -5
- package/dist/esm/components/icon/icons/Zap.js.map +1 -1
- package/dist/esm/components/icon/icons/ZapFilled.js +4 -5
- package/dist/esm/components/icon/icons/ZapFilled.js.map +1 -1
- package/dist/esm/components/icon/icons/ZapOff.js +4 -5
- package/dist/esm/components/icon/icons/ZapOff.js.map +1 -1
- package/dist/esm/components/icon/icons/ZoomIn.js +4 -5
- package/dist/esm/components/icon/icons/ZoomIn.js.map +1 -1
- package/dist/esm/components/icon/icons/ZoomOut.js +4 -5
- package/dist/esm/components/icon/icons/ZoomOut.js.map +1 -1
- package/dist/esm/components/icon/icons.stories.js +12 -37
- package/dist/esm/components/icon/icons.stories.js.map +1 -1
- package/dist/esm/components/icon/index.stories.js +17 -45
- package/dist/esm/components/icon/index.stories.js.map +1 -1
- package/dist/esm/components/informationBox/index.js +6 -7
- package/dist/esm/components/informationBox/index.js.map +1 -1
- package/dist/esm/components/informationBox/index.stories.js +11 -13
- package/dist/esm/components/informationBox/index.stories.js.map +1 -1
- package/dist/esm/components/informationBox/index.test.js +5 -6
- package/dist/esm/components/informationBox/index.test.js.map +1 -1
- package/dist/esm/components/input/autoSuggestInput/index.js +3120 -11
- package/dist/esm/components/input/autoSuggestInput/index.js.map +1 -1
- package/dist/esm/components/input/autoSuggestInput/index.stories.js +39 -43
- package/dist/esm/components/input/autoSuggestInput/index.stories.js.map +1 -1
- package/dist/esm/components/input/autoSuggestMultiSelect/index.js +5 -8
- package/dist/esm/components/input/autoSuggestMultiSelect/index.js.map +1 -1
- package/dist/esm/components/input/autoSuggestMultiSelect/index.stories.js +23 -27
- package/dist/esm/components/input/autoSuggestMultiSelect/index.stories.js.map +1 -1
- package/dist/esm/components/input/checkbox/index.js +18 -22
- package/dist/esm/components/input/checkbox/index.js.map +1 -1
- package/dist/esm/components/input/checkbox/index.stories.js +98 -114
- package/dist/esm/components/input/checkbox/index.stories.js.map +1 -1
- package/dist/esm/components/input/checkbox/index.test.js +8 -9
- package/dist/esm/components/input/checkbox/index.test.js.map +1 -1
- package/dist/esm/components/input/currency/index.js +4 -5
- package/dist/esm/components/input/currency/index.js.map +1 -1
- package/dist/esm/components/input/currency/index.test.js +6 -7
- package/dist/esm/components/input/currency/index.test.js.map +1 -1
- package/dist/esm/components/input/currency/input.stories.js +17 -19
- package/dist/esm/components/input/currency/input.stories.js.map +1 -1
- package/dist/esm/components/input/iban/index.js +5 -6
- package/dist/esm/components/input/iban/index.js.map +1 -1
- package/dist/esm/components/input/index.js +12 -15
- package/dist/esm/components/input/index.js.map +1 -1
- package/dist/esm/components/input/input.stories.js +17 -19
- package/dist/esm/components/input/input.stories.js.map +1 -1
- package/dist/esm/components/input/radio/index.js +22 -25
- package/dist/esm/components/input/radio/index.js.map +1 -1
- package/dist/esm/components/input/radio/index.stories.js +114 -138
- package/dist/esm/components/input/radio/index.stories.js.map +1 -1
- package/dist/esm/components/input/radio/index.test.js +6 -8
- package/dist/esm/components/input/radio/index.test.js.map +1 -1
- package/dist/esm/components/input/toggle/index.js +5 -6
- package/dist/esm/components/input/toggle/index.js.map +1 -1
- package/dist/esm/components/input/toggle/index.stories.js +83 -95
- package/dist/esm/components/input/toggle/index.stories.js.map +1 -1
- package/dist/esm/components/input/toggle/index.test.js +9 -10
- package/dist/esm/components/input/toggle/index.test.js.map +1 -1
- package/dist/esm/components/link/index.js +2 -3
- package/dist/esm/components/link/index.js.map +1 -1
- package/dist/esm/components/link/index.stories.js +8 -10
- package/dist/esm/components/link/index.stories.js.map +1 -1
- package/dist/esm/components/modal/bottomModal/index.js +12 -11
- package/dist/esm/components/modal/bottomModal/index.js.map +1 -1
- package/dist/esm/components/modal/bottomOrRegularModal/index.js +4 -7
- package/dist/esm/components/modal/bottomOrRegularModal/index.js.map +1 -1
- package/dist/esm/components/modal/genericModal/index.js +22 -1787
- package/dist/esm/components/modal/genericModal/index.js.map +1 -1
- package/dist/esm/components/modal/index.stories.js +65 -122
- package/dist/esm/components/modal/index.stories.js.map +1 -1
- package/dist/esm/components/modal/regularModal/index.js +12 -12
- package/dist/esm/components/modal/regularModal/index.js.map +1 -1
- package/dist/esm/components/multiDropzone/UploadFileCell/index.js +14 -14
- package/dist/esm/components/multiDropzone/UploadFileCell/index.js.map +1 -1
- package/dist/esm/components/multiDropzone/index.js +1484 -1053
- package/dist/esm/components/multiDropzone/index.js.map +1 -1
- package/dist/esm/components/multiDropzone/index.stories.js +31 -278
- package/dist/esm/components/multiDropzone/index.stories.js.map +1 -1
- package/dist/esm/components/multiDropzone/index.test.js +12 -14
- package/dist/esm/components/multiDropzone/index.test.js.map +1 -1
- package/dist/esm/components/segmentedControl/index.js +6 -6
- package/dist/esm/components/segmentedControl/index.js.map +1 -1
- package/dist/esm/components/segmentedControl/index.stories.js +25 -28
- package/dist/esm/components/segmentedControl/index.stories.js.map +1 -1
- package/dist/esm/components/segmentedControl/index.test.js +4 -5
- package/dist/esm/components/segmentedControl/index.test.js.map +1 -1
- package/dist/esm/components/signaturePad/index.js +9 -9
- package/dist/esm/components/signaturePad/index.js.map +1 -1
- package/dist/esm/components/signaturePad/index.stories.js +12 -13
- package/dist/esm/components/signaturePad/index.stories.js.map +1 -1
- package/dist/esm/components/spinner/index.js +2 -3
- package/dist/esm/components/spinner/index.js.map +1 -1
- package/dist/esm/components/spinner/index.stories.js +9 -11
- package/dist/esm/components/spinner/index.stories.js.map +1 -1
- package/dist/esm/components/spinner/index.test.js +4 -5
- package/dist/esm/components/spinner/index.test.js.map +1 -1
- package/dist/esm/components/table/Table.js +39 -52
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.stories.js +49 -95
- package/dist/esm/components/table/Table.stories.js.map +1 -1
- package/dist/esm/components/table/Table.test.js +20 -35
- package/dist/esm/components/table/Table.test.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.js +19 -19
- package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.stories.js +13 -16
- package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.stories.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/BaseCell/MiniProgressBar/MiniProgressBar.js +3 -4
- package/dist/esm/components/table/components/TableCell/BaseCell/MiniProgressBar/MiniProgressBar.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/BaseCell/MiniProgressBar/MiniProgressBar.stories.js +8 -10
- package/dist/esm/components/table/components/TableCell/BaseCell/MiniProgressBar/MiniProgressBar.stories.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js +7 -8
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.stories.js +9 -11
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.stories.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/CTACell/CTACell.js +7 -18
- package/dist/esm/components/table/components/TableCell/CTACell/CTACell.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/CTACell/CTACell.stories.js +10 -14
- package/dist/esm/components/table/components/TableCell/CTACell/CTACell.stories.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/TableCell.js +17 -24
- package/dist/esm/components/table/components/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/TableCell.test.js +9 -16
- package/dist/esm/components/table/components/TableCell/TableCell.test.js.map +1 -1
- package/dist/esm/components/table/components/TableContents/Collapsible.js +5 -46
- package/dist/esm/components/table/components/TableContents/Collapsible.js.map +1 -1
- package/dist/esm/components/table/components/TableContents/TableContents.js +20 -35
- package/dist/esm/components/table/components/TableContents/TableContents.js.map +1 -1
- package/dist/esm/components/table/components/TableContents/TableContents.test.js +34 -19
- package/dist/esm/components/table/components/TableContents/TableContents.test.js.map +1 -1
- package/dist/esm/components/table/components/TableControls/TableControls.js +7 -9
- package/dist/esm/components/table/components/TableControls/TableControls.js.map +1 -1
- package/dist/esm/components/table/components/TableControls/TableControls.test.js +5 -6
- package/dist/esm/components/table/components/TableControls/TableControls.test.js.map +1 -1
- package/dist/esm/components/table/components/TableSection/TableSection.js +10 -17
- package/dist/esm/components/table/components/TableSection/TableSection.js.map +1 -1
- package/dist/esm/components/table/components/TableSection/TableSection.test.js +10 -18
- package/dist/esm/components/table/components/TableSection/TableSection.test.js.map +1 -1
- package/dist/esm/components/table/utils/useScrollSync/useScrollSync.test.js +13 -12
- package/dist/esm/components/table/utils/useScrollSync/useScrollSync.test.js.map +1 -1
- package/dist/esm/components/table/utils/useTableNavigation/useTableNavigation.test.js +10 -10
- package/dist/esm/components/table/utils/useTableNavigation/useTableNavigation.test.js.map +1 -1
- package/dist/esm/components/toast/index.js +6 -7
- package/dist/esm/components/toast/index.js.map +1 -1
- package/dist/esm/components/toast/index.stories.js +29 -37
- package/dist/esm/components/toast/index.stories.js.map +1 -1
- package/dist/esm/components/toast/index.test.js +6 -8
- package/dist/esm/components/toast/index.test.js.map +1 -1
- package/dist/esm/{config-PagIydiG.js → config-4b5ffe4f.js} +5 -6
- package/dist/esm/config-4b5ffe4f.js.map +1 -0
- package/dist/esm/customRender-d03c10b6.js +26463 -0
- package/dist/esm/customRender-d03c10b6.js.map +1 -0
- package/dist/esm/{feather-logo-C_EfYEK5.js → feather-logo-a3f07990.js} +1 -1
- package/dist/esm/{feather-logo-C_EfYEK5.js.map → feather-logo-a3f07990.js.map} +1 -1
- package/dist/esm/{index-C4hs4X-e.js → index-29e6f39e.js} +2 -2
- package/dist/esm/index-29e6f39e.js.map +1 -0
- package/dist/esm/index-3aa7e697.js +224 -0
- package/dist/esm/index-3aa7e697.js.map +1 -0
- package/dist/esm/index-5e72c3d4.js +382 -0
- package/dist/esm/{index-BClARCFl.js.map → index-5e72c3d4.js.map} +1 -1
- package/dist/esm/{index-CNcEE5dn.js → index-69a46657.js} +1 -1
- package/dist/esm/index-69a46657.js.map +1 -0
- package/dist/esm/index-6ea95111.js +62 -0
- package/dist/esm/{index-DLQEsiym.js.map → index-6ea95111.js.map} +1 -1
- package/dist/esm/index-6f567b0b.js +7856 -0
- package/dist/esm/index-6f567b0b.js.map +1 -0
- package/dist/esm/{index-sVpmwnLl.js → index-7506ae25.js} +47 -99
- package/dist/esm/{index-sVpmwnLl.js.map → index-7506ae25.js.map} +1 -1
- package/dist/esm/{index-DYcCCrfR.js → index-a0ef2ab4.js} +5 -5
- package/dist/esm/{index-DYcCCrfR.js.map → index-a0ef2ab4.js.map} +1 -1
- package/dist/esm/index-c9a8ee2a.js +234 -0
- package/dist/esm/{index-CVgMNqD7.js.map → index-c9a8ee2a.js.map} +1 -1
- package/dist/esm/index-caeac7cd.js +1529 -0
- package/dist/esm/{index-CqsS0Elu.js.map → index-caeac7cd.js.map} +1 -1
- package/dist/esm/index-dd80248b.js +91 -0
- package/dist/esm/index-dd80248b.js.map +1 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +22 -94
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/components/accordion/index.d.ts +1 -2
- package/dist/esm/lib/components/accordion/index.stories.d.ts +3 -7
- package/dist/esm/lib/components/autocompleteAddress/index.d.ts +2 -3
- package/dist/esm/lib/components/autocompleteAddress/index.stories.d.ts +6 -12
- package/dist/esm/lib/components/autocompleteAddress/util/index.d.ts +1 -1
- package/dist/esm/lib/components/badge/index.d.ts +3 -4
- package/dist/esm/lib/components/badge/index.stories.d.ts +3 -9
- package/dist/esm/lib/components/button/index.d.ts +9 -13
- package/dist/esm/lib/components/button/index.stories.d.ts +63 -0
- package/dist/esm/lib/components/cards/card/index.d.ts +2 -6
- package/dist/esm/lib/components/cards/card/index.stories.d.ts +6 -16
- package/dist/esm/lib/components/cards/cardButton/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/cards/infoCard/index.d.ts +7 -9
- package/dist/esm/lib/components/cards/infoCard/index.stories.d.ts +18 -24
- package/dist/esm/lib/components/chip/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/comparisonTable/components/AccordionItem/AccordionItem.d.ts +4 -1
- package/dist/esm/lib/components/comparisonTable/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/dateSelector/index.d.ts +1 -1
- package/dist/esm/lib/components/dateSelector/index.stories.d.ts +3 -5
- package/dist/esm/lib/components/downloadButton/index.stories.d.ts +3 -5
- package/dist/esm/lib/components/icon/icons/index.d.ts +0 -26
- package/dist/esm/lib/components/icon/index.stories.d.ts +4 -4
- package/dist/esm/lib/components/informationBox/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/input/autoSuggestInput/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/input/autoSuggestMultiSelect/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/input/checkbox/index.d.ts +1 -2
- package/dist/esm/lib/components/input/checkbox/index.stories.d.ts +8 -22
- package/dist/esm/lib/components/input/currency/input.stories.d.ts +2 -3
- package/dist/esm/lib/components/input/input.stories.d.ts +2 -3
- package/dist/esm/lib/components/input/radio/index.d.ts +1 -3
- package/dist/esm/lib/components/input/radio/index.stories.d.ts +10 -32
- package/dist/esm/lib/components/input/stories/config.d.ts +0 -1
- package/dist/esm/lib/components/input/toggle/index.stories.d.ts +7 -17
- package/dist/esm/lib/components/link/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/modal/bottomModal/index.d.ts +1 -1
- package/dist/esm/lib/components/modal/genericModal/index.d.ts +15 -17
- package/dist/esm/lib/components/modal/hooks/useOnClose.d.ts +1 -1
- package/dist/esm/lib/components/modal/index.d.ts +1 -6
- package/dist/esm/lib/components/modal/index.stories.d.ts +9 -49
- package/dist/esm/lib/components/modal/regularModal/index.d.ts +1 -1
- package/dist/esm/lib/components/multiDropzone/index.stories.d.ts +2 -11
- package/dist/esm/lib/components/multiDropzone/types.d.ts +2 -3
- package/dist/esm/lib/components/multiDropzone/utils/index.d.ts +2 -9
- package/dist/esm/lib/components/segmentedControl/index.stories.d.ts +3 -5
- package/dist/esm/lib/components/signaturePad/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/spinner/index.stories.d.ts +2 -2
- package/dist/esm/lib/components/table/Table.d.ts +3 -10
- package/dist/esm/lib/components/table/Table.stories.d.ts +4 -15
- package/dist/esm/lib/components/table/components/TableCell/BaseCell/BaseCell.d.ts +3 -5
- package/dist/esm/lib/components/table/components/TableCell/BaseCell/BaseCell.stories.d.ts +3 -3
- package/dist/esm/lib/components/table/components/TableCell/BaseCell/MiniProgressBar/MiniProgressBar.stories.d.ts +2 -2
- package/dist/esm/lib/components/table/components/TableCell/ButtonCell/ButtonCell.d.ts +2 -4
- package/dist/esm/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.d.ts +3 -3
- package/dist/esm/lib/components/table/components/TableCell/CTACell/CTACell.d.ts +2 -6
- package/dist/esm/lib/components/table/components/TableCell/CTACell/CTACell.stories.d.ts +3 -3
- package/dist/esm/lib/components/table/components/TableCell/TableCell.d.ts +1 -3
- package/dist/esm/lib/components/table/components/TableContents/Collapsible.d.ts +2 -1
- package/dist/esm/lib/components/table/components/TableContents/TableContents.d.ts +1 -4
- package/dist/esm/lib/components/table/components/TableSection/TableSection.d.ts +3 -4
- package/dist/esm/lib/components/table/types.d.ts +4 -13
- package/dist/esm/lib/components/table/utils/useTableNavigation/useTableNavigation.d.ts +0 -1
- package/dist/esm/lib/components/toast/index.stories.d.ts +4 -8
- package/dist/esm/lib/index.d.ts +4 -16
- package/dist/esm/lib/models/styles.d.ts +2 -2
- package/dist/esm/lib/util/calendarDate/index.d.ts +1 -1
- package/dist/esm/{mapStyle-C69a9tQ6.js → mapStyle-1288a869.js} +1 -1
- package/dist/esm/{mapStyle-C69a9tQ6.js.map → mapStyle-1288a869.js.map} +1 -1
- package/dist/esm/scss/private/base/demo.js +3 -3
- package/dist/esm/scss/private/base/demo.js.map +1 -1
- package/dist/esm/scss/public/demo.js +136 -156
- package/dist/esm/scss/public/demo.js.map +1 -1
- package/dist/esm/{style-inject.es-tgCJW-Cu.js → style-inject.es-1f59c1d0.js} +1 -1
- package/dist/esm/style-inject.es-1f59c1d0.js.map +1 -0
- package/dist/esm/{tslib.es6-CVlKGIvp.js → tslib.es6-a39f91fc.js} +3 -20
- package/dist/esm/{tslib.es6-CVlKGIvp.js.map → tslib.es6-a39f91fc.js.map} +1 -1
- package/dist/esm/{useScrollSync-C5UXYPIB.js → useScrollSync-b2d28bed.js} +1 -1
- package/dist/esm/{useScrollSync-C5UXYPIB.js.map → useScrollSync-b2d28bed.js.map} +1 -1
- package/dist/esm/{useTableNavigation-CrxoXTVd.js → useTableNavigation-2899712c.js} +4 -5
- package/dist/esm/useTableNavigation-2899712c.js.map +1 -0
- package/dist/esm/util/images/index.stories.js +12 -41
- package/dist/esm/util/images/index.stories.js.map +1 -1
- package/dist/esm/util/testUtils/customRender.js +3 -4
- package/dist/esm/util/testUtils/customRender.js.map +1 -1
- package/dist/font-weight.scss +1 -1
- package/dist/grid.scss +1 -1
- package/dist/index.css +481 -512
- package/dist/index.css.map +1 -1
- package/dist/lib/scss/index.scss +4 -5
- package/dist/lib/scss/private/base/_grid.scss +2 -3
- package/dist/lib/scss/private/base/_typography.scss +57 -25
- package/dist/lib/scss/private/base/flex/_flex.scss +2 -3
- package/dist/lib/scss/private/base/style.module.scss +3 -3
- package/dist/lib/scss/private/components/_badge.scss +3 -3
- package/dist/lib/scss/private/components/_buttons.scss +86 -128
- package/dist/lib/scss/private/components/_cards.scss +6 -8
- package/dist/lib/scss/private/components/_input.scss +35 -59
- package/dist/lib/scss/private/components/_notices.scss +4 -4
- package/dist/lib/scss/private/components/_spinner.scss +2 -2
- package/dist/lib/scss/public/colors/_index.scss +2 -2
- package/dist/lib/scss/public/colors/default.scss +91 -80
- package/dist/lib/scss/public/demo.tsx +139 -165
- package/dist/lib/scss/public/font/_index.scss +2 -2
- package/dist/lib/scss/public/font-weight.scss +1 -1
- package/dist/lib/scss/public/grid.stories.mdx.broken +1 -1
- package/dist/lib/scss/public/shadows.scss +5 -10
- package/dist/lib/scss/third-party/_google_places.scss +3 -3
- package/dist/lib/scss/third-party/_index.scss +1 -1
- package/dist/lib/scss/utils/_index.scss +2 -4
- package/dist/shadows.scss +1 -1
- package/package.json +1 -1
- package/src/index.tsx +1 -0
- package/src/lib/components/comparisonTable/components/AccordionItem/AccordionItem.tsx +42 -5
- package/src/lib/components/comparisonTable/hooks/useComparisonTable.ts +0 -3
- package/src/lib/components/comparisonTable/index.stories.tsx +15 -1
- package/src/lib/components/comparisonTable/index.tsx +21 -3
- package/src/lib/components/dateSelector/components/Calendar.tsx +38 -7
- package/src/lib/components/dateSelector/components/CalendarCaption.tsx +175 -0
- package/src/lib/components/dateSelector/components/calendarCaption.module.scss +168 -0
- package/src/lib/components/dateSelector/components/datepicker.scss +33 -77
- package/src/lib/components/dateSelector/index.stories.tsx +8 -2
- package/src/lib/components/dateSelector/index.tsx +3 -0
- package/src/lib/components/icon/assets/chevron-left.svg +1 -1
- package/src/lib/components/icon/assets/chevron-right.svg +1 -1
- package/src/lib/components/table/Table.stories.tsx +60 -1
- package/src/lib/components/table/Table.tsx +34 -21
- package/src/lib/components/table/components/TableContents/Collapsible.tsx +3 -1
- package/src/lib/components/table/components/TableContents/TableContents.tsx +31 -3
- package/src/lib/index.tsx +2 -1
- package/dist/cjs/lib/components/icon/icons/AccidentCar.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/BikeBicycle.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Blog.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Bone.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Car.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/CarTraffic.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/ChainBikeBroken.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/CoinsMoney.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/DeathFuneral.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/DentalTreatmentTooth.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Files.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Fire.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Glass.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/HatGraduation.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Id.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/PaintCosmetic.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/PawPet.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/PigMoneySavings.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/PlaneFlight.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Prohibit.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Receipt.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Signature.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Stamp.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/ToothFillingCracked.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/TrailerParts.d.ts +0 -4
- package/dist/cjs/lib/components/icon/icons/Translation.d.ts +0 -4
- package/dist/cjs/lib/components/logo/LogoBlack.d.ts +0 -3
- package/dist/cjs/lib/components/logo/LogoColor.d.ts +0 -3
- package/dist/cjs/lib/components/logo/LogoInverted.d.ts +0 -368
- package/dist/cjs/lib/components/logo/LogoInvertedColor.d.ts +0 -368
- package/dist/cjs/lib/components/logo/LogoOrangeBox.d.ts +0 -3
- package/dist/cjs/lib/components/logo/LogoPositiveBlack.d.ts +0 -368
- package/dist/cjs/lib/components/logo/LogoPositiveColor.d.ts +0 -368
- package/dist/cjs/lib/components/logo/LogoWhite.d.ts +0 -3
- package/dist/cjs/lib/components/logo/LogoWrapper/LogoWrapper.d.ts +0 -9
- package/dist/cjs/lib/components/logo/logo.stories.d.ts +0 -10
- package/dist/cjs/lib/components/modal/fullScreenModal/index.d.ts +0 -3
- package/dist/cjs/lib/components/table/components/IconRenderer/IconRenderer.d.ts +0 -7
- package/dist/cjs/lib/components/table/components/TableCell/CardCell/CardCell.d.ts +0 -10
- package/dist/cjs/lib/components/table/components/TableCell/CardCell/CardCell.stories.d.ts +0 -17
- package/dist/cjs/lib/hooks/useEscapeKey.d.ts +0 -1
- package/dist/cjs/lib/hooks/useFocusWithin.d.ts +0 -1
- package/dist/cjs/lib/scss/public/borders.stories.d.ts +0 -13
- package/dist/cjs/mapStyle-Cf8tRlj8.js.map +0 -1
- package/dist/esm/Calendar-DnUl9SJx.js +0 -2189
- package/dist/esm/Calendar-DnUl9SJx.js.map +0 -1
- package/dist/esm/TableSection-CEhD4eoy.js.map +0 -1
- package/dist/esm/_commonjsHelpers-BFTU3MAI.js +0 -8
- package/dist/esm/_commonjsHelpers-BFTU3MAI.js.map +0 -1
- package/dist/esm/components/icon/icons/AccidentCar.js +0 -14
- package/dist/esm/components/icon/icons/AccidentCar.js.map +0 -1
- package/dist/esm/components/icon/icons/BikeBicycle.js +0 -14
- package/dist/esm/components/icon/icons/BikeBicycle.js.map +0 -1
- package/dist/esm/components/icon/icons/Blog.js +0 -14
- package/dist/esm/components/icon/icons/Blog.js.map +0 -1
- package/dist/esm/components/icon/icons/Bone.js +0 -14
- package/dist/esm/components/icon/icons/Bone.js.map +0 -1
- package/dist/esm/components/icon/icons/Car.js +0 -14
- package/dist/esm/components/icon/icons/Car.js.map +0 -1
- package/dist/esm/components/icon/icons/CarTraffic.js +0 -14
- package/dist/esm/components/icon/icons/CarTraffic.js.map +0 -1
- package/dist/esm/components/icon/icons/ChainBikeBroken.js +0 -14
- package/dist/esm/components/icon/icons/ChainBikeBroken.js.map +0 -1
- package/dist/esm/components/icon/icons/CoinsMoney.js +0 -14
- package/dist/esm/components/icon/icons/CoinsMoney.js.map +0 -1
- package/dist/esm/components/icon/icons/DeathFuneral.js +0 -14
- package/dist/esm/components/icon/icons/DeathFuneral.js.map +0 -1
- package/dist/esm/components/icon/icons/DentalTreatmentTooth.js +0 -14
- package/dist/esm/components/icon/icons/DentalTreatmentTooth.js.map +0 -1
- package/dist/esm/components/icon/icons/Files.js +0 -14
- package/dist/esm/components/icon/icons/Files.js.map +0 -1
- package/dist/esm/components/icon/icons/Fire.js +0 -14
- package/dist/esm/components/icon/icons/Fire.js.map +0 -1
- package/dist/esm/components/icon/icons/Glass.js +0 -14
- package/dist/esm/components/icon/icons/Glass.js.map +0 -1
- package/dist/esm/components/icon/icons/HatGraduation.js +0 -14
- package/dist/esm/components/icon/icons/HatGraduation.js.map +0 -1
- package/dist/esm/components/icon/icons/Id.js +0 -14
- package/dist/esm/components/icon/icons/Id.js.map +0 -1
- package/dist/esm/components/icon/icons/PaintCosmetic.js +0 -14
- package/dist/esm/components/icon/icons/PaintCosmetic.js.map +0 -1
- package/dist/esm/components/icon/icons/PawPet.js +0 -14
- package/dist/esm/components/icon/icons/PawPet.js.map +0 -1
- package/dist/esm/components/icon/icons/PigMoneySavings.js +0 -14
- package/dist/esm/components/icon/icons/PigMoneySavings.js.map +0 -1
- package/dist/esm/components/icon/icons/PlaneFlight.js +0 -14
- package/dist/esm/components/icon/icons/PlaneFlight.js.map +0 -1
- package/dist/esm/components/icon/icons/Prohibit.js +0 -14
- package/dist/esm/components/icon/icons/Prohibit.js.map +0 -1
- package/dist/esm/components/icon/icons/Receipt.js +0 -14
- package/dist/esm/components/icon/icons/Receipt.js.map +0 -1
- package/dist/esm/components/icon/icons/Signature.js +0 -14
- package/dist/esm/components/icon/icons/Signature.js.map +0 -1
- package/dist/esm/components/icon/icons/Stamp.js +0 -14
- package/dist/esm/components/icon/icons/Stamp.js.map +0 -1
- package/dist/esm/components/icon/icons/ToothFillingCracked.js +0 -14
- package/dist/esm/components/icon/icons/ToothFillingCracked.js.map +0 -1
- package/dist/esm/components/icon/icons/TrailerParts.js +0 -14
- package/dist/esm/components/icon/icons/TrailerParts.js.map +0 -1
- package/dist/esm/components/icon/icons/Translation.js +0 -14
- package/dist/esm/components/icon/icons/Translation.js.map +0 -1
- package/dist/esm/components/logo/LogoBlack.js +0 -14
- package/dist/esm/components/logo/LogoBlack.js.map +0 -1
- package/dist/esm/components/logo/LogoColor.js +0 -14
- package/dist/esm/components/logo/LogoColor.js.map +0 -1
- package/dist/esm/components/logo/LogoInverted.js +0 -14
- package/dist/esm/components/logo/LogoInverted.js.map +0 -1
- package/dist/esm/components/logo/LogoInvertedColor.js +0 -14
- package/dist/esm/components/logo/LogoInvertedColor.js.map +0 -1
- package/dist/esm/components/logo/LogoOrangeBox.js +0 -14
- package/dist/esm/components/logo/LogoOrangeBox.js.map +0 -1
- package/dist/esm/components/logo/LogoPositiveBlack.js +0 -14
- package/dist/esm/components/logo/LogoPositiveBlack.js.map +0 -1
- package/dist/esm/components/logo/LogoPositiveColor.js +0 -14
- package/dist/esm/components/logo/LogoPositiveColor.js.map +0 -1
- package/dist/esm/components/logo/LogoWhite.js +0 -14
- package/dist/esm/components/logo/LogoWhite.js.map +0 -1
- package/dist/esm/components/logo/LogoWrapper/LogoWrapper.js +0 -17
- package/dist/esm/components/logo/LogoWrapper/LogoWrapper.js.map +0 -1
- package/dist/esm/components/logo/logo.stories.js +0 -28
- package/dist/esm/components/logo/logo.stories.js.map +0 -1
- package/dist/esm/components/modal/fullScreenModal/index.js +0 -30
- package/dist/esm/components/modal/fullScreenModal/index.js.map +0 -1
- package/dist/esm/components/table/components/IconRenderer/IconRenderer.js +0 -12
- package/dist/esm/components/table/components/IconRenderer/IconRenderer.js.map +0 -1
- package/dist/esm/components/table/components/TableCell/CardCell/CardCell.js +0 -19
- package/dist/esm/components/table/components/TableCell/CardCell/CardCell.js.map +0 -1
- package/dist/esm/components/table/components/TableCell/CardCell/CardCell.stories.js +0 -34
- package/dist/esm/components/table/components/TableCell/CardCell/CardCell.stories.js.map +0 -1
- package/dist/esm/config-PagIydiG.js.map +0 -1
- package/dist/esm/customRender-DzdqZxUd.js +0 -24363
- package/dist/esm/customRender-DzdqZxUd.js.map +0 -1
- package/dist/esm/index-BClARCFl.js +0 -393
- package/dist/esm/index-BCxawEMQ.js +0 -3947
- package/dist/esm/index-BCxawEMQ.js.map +0 -1
- package/dist/esm/index-BYyiyH6K.js +0 -4
- package/dist/esm/index-BYyiyH6K.js.map +0 -1
- package/dist/esm/index-BraF21Ae.js +0 -2222
- package/dist/esm/index-BraF21Ae.js.map +0 -1
- package/dist/esm/index-C4IAMlRE.js +0 -32
- package/dist/esm/index-C4IAMlRE.js.map +0 -1
- package/dist/esm/index-C4hs4X-e.js.map +0 -1
- package/dist/esm/index-CNcEE5dn.js.map +0 -1
- package/dist/esm/index-CVgMNqD7.js +0 -279
- package/dist/esm/index-CqsS0Elu.js +0 -1539
- package/dist/esm/index-DLQEsiym.js +0 -72
- package/dist/esm/index-DZVEBgCf.js +0 -488
- package/dist/esm/index-DZVEBgCf.js.map +0 -1
- package/dist/esm/index-D_8pWbzR.js +0 -185
- package/dist/esm/index-D_8pWbzR.js.map +0 -1
- package/dist/esm/index-DuaJiEiT.js +0 -1062
- package/dist/esm/index-DuaJiEiT.js.map +0 -1
- package/dist/esm/index-hWqCLhoS.js +0 -100
- package/dist/esm/index-hWqCLhoS.js.map +0 -1
- package/dist/esm/lib/components/icon/icons/AccidentCar.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/BikeBicycle.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Blog.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Bone.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Car.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/CarTraffic.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/ChainBikeBroken.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/CoinsMoney.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/DeathFuneral.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/DentalTreatmentTooth.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Files.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Fire.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Glass.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/HatGraduation.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Id.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/PaintCosmetic.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/PawPet.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/PigMoneySavings.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/PlaneFlight.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Prohibit.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Receipt.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Signature.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Stamp.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/ToothFillingCracked.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/TrailerParts.d.ts +0 -4
- package/dist/esm/lib/components/icon/icons/Translation.d.ts +0 -4
- package/dist/esm/lib/components/logo/LogoBlack.d.ts +0 -3
- package/dist/esm/lib/components/logo/LogoColor.d.ts +0 -3
- package/dist/esm/lib/components/logo/LogoInverted.d.ts +0 -368
- package/dist/esm/lib/components/logo/LogoInvertedColor.d.ts +0 -368
- package/dist/esm/lib/components/logo/LogoOrangeBox.d.ts +0 -3
- package/dist/esm/lib/components/logo/LogoPositiveBlack.d.ts +0 -368
- package/dist/esm/lib/components/logo/LogoPositiveColor.d.ts +0 -368
- package/dist/esm/lib/components/logo/LogoWhite.d.ts +0 -3
- package/dist/esm/lib/components/logo/LogoWrapper/LogoWrapper.d.ts +0 -9
- package/dist/esm/lib/components/logo/logo.stories.d.ts +0 -10
- package/dist/esm/lib/components/modal/fullScreenModal/index.d.ts +0 -3
- package/dist/esm/lib/components/table/components/IconRenderer/IconRenderer.d.ts +0 -7
- package/dist/esm/lib/components/table/components/TableCell/CardCell/CardCell.d.ts +0 -10
- package/dist/esm/lib/components/table/components/TableCell/CardCell/CardCell.stories.d.ts +0 -17
- package/dist/esm/lib/hooks/useEscapeKey.d.ts +0 -1
- package/dist/esm/lib/hooks/useFocusWithin.d.ts +0 -1
- package/dist/esm/lib/scss/public/borders.stories.d.ts +0 -13
- package/dist/esm/scss/public/borders.stories.js +0 -86
- package/dist/esm/scss/public/borders.stories.js.map +0 -1
- package/dist/esm/style-inject.es-tgCJW-Cu.js.map +0 -1
- package/dist/esm/useMediaQuery-BlEUymPA.js.map +0 -1
- package/dist/esm/useTableNavigation-CrxoXTVd.js.map +0 -1
- package/dist/lib/scss/private/borders/_index.scss +0 -1
- package/dist/lib/scss/private/borders/default.scss +0 -61
- package/dist/lib/scss/public/borders.stories.tsx +0 -125
|
@@ -1,3947 +0,0 @@
|
|
|
1
|
-
import { g as getDefaultExportFromCjs, c as commonjsGlobal } from './_commonjsHelpers-BFTU3MAI.js';
|
|
2
|
-
import { l as libExports } from './customRender-DzdqZxUd.js';
|
|
3
|
-
|
|
4
|
-
var minIndent;
|
|
5
|
-
var hasRequiredMinIndent;
|
|
6
|
-
|
|
7
|
-
function requireMinIndent () {
|
|
8
|
-
if (hasRequiredMinIndent) return minIndent;
|
|
9
|
-
hasRequiredMinIndent = 1;
|
|
10
|
-
minIndent = string => {
|
|
11
|
-
const match = string.match(/^[ \t]*(?=\S)/gm);
|
|
12
|
-
|
|
13
|
-
if (!match) {
|
|
14
|
-
return 0;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return match.reduce((r, a) => Math.min(r, a.length), Infinity);
|
|
18
|
-
};
|
|
19
|
-
return minIndent;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
var stripIndent;
|
|
23
|
-
var hasRequiredStripIndent;
|
|
24
|
-
|
|
25
|
-
function requireStripIndent () {
|
|
26
|
-
if (hasRequiredStripIndent) return stripIndent;
|
|
27
|
-
hasRequiredStripIndent = 1;
|
|
28
|
-
const minIndent = requireMinIndent();
|
|
29
|
-
|
|
30
|
-
stripIndent = string => {
|
|
31
|
-
const indent = minIndent(string);
|
|
32
|
-
|
|
33
|
-
if (indent === 0) {
|
|
34
|
-
return string;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const regex = new RegExp(`^[ \\t]{${indent}}`, 'gm');
|
|
38
|
-
|
|
39
|
-
return string.replace(regex, '');
|
|
40
|
-
};
|
|
41
|
-
return stripIndent;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
var indentString;
|
|
45
|
-
var hasRequiredIndentString;
|
|
46
|
-
|
|
47
|
-
function requireIndentString () {
|
|
48
|
-
if (hasRequiredIndentString) return indentString;
|
|
49
|
-
hasRequiredIndentString = 1;
|
|
50
|
-
|
|
51
|
-
indentString = (string, count = 1, options) => {
|
|
52
|
-
options = {
|
|
53
|
-
indent: ' ',
|
|
54
|
-
includeEmptyLines: false,
|
|
55
|
-
...options
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
if (typeof string !== 'string') {
|
|
59
|
-
throw new TypeError(
|
|
60
|
-
`Expected \`input\` to be a \`string\`, got \`${typeof string}\``
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (typeof count !== 'number') {
|
|
65
|
-
throw new TypeError(
|
|
66
|
-
`Expected \`count\` to be a \`number\`, got \`${typeof count}\``
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (typeof options.indent !== 'string') {
|
|
71
|
-
throw new TypeError(
|
|
72
|
-
`Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\``
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (count === 0) {
|
|
77
|
-
return string;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
|
|
81
|
-
|
|
82
|
-
return string.replace(regex, options.indent.repeat(count));
|
|
83
|
-
};
|
|
84
|
-
return indentString;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
var redent$1;
|
|
88
|
-
var hasRequiredRedent;
|
|
89
|
-
|
|
90
|
-
function requireRedent () {
|
|
91
|
-
if (hasRequiredRedent) return redent$1;
|
|
92
|
-
hasRequiredRedent = 1;
|
|
93
|
-
const stripIndent = requireStripIndent();
|
|
94
|
-
const indentString = requireIndentString();
|
|
95
|
-
|
|
96
|
-
redent$1 = (string, count = 0, options) => indentString(stripIndent(string), count, options);
|
|
97
|
-
return redent$1;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
var redentExports = requireRedent();
|
|
101
|
-
var redent = /*@__PURE__*/getDefaultExportFromCjs(redentExports);
|
|
102
|
-
|
|
103
|
-
function $parcel$defineInteropFlag(a) {
|
|
104
|
-
Object.defineProperty(a, '__esModule', {value: true, configurable: true});
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function $parcel$export(e, n, v, s) {
|
|
108
|
-
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
109
|
-
}
|
|
110
|
-
var $009ddb00d3ec72b8$exports = {};
|
|
111
|
-
|
|
112
|
-
$parcel$defineInteropFlag($009ddb00d3ec72b8$exports);
|
|
113
|
-
|
|
114
|
-
$parcel$export($009ddb00d3ec72b8$exports, "default", () => $009ddb00d3ec72b8$export$2e2bcd8739ae039);
|
|
115
|
-
class $009ddb00d3ec72b8$export$2e2bcd8739ae039 extends Error {
|
|
116
|
-
constructor(filename, msg, lineno, column, css){
|
|
117
|
-
super(filename + ":" + lineno + ":" + column + ": " + msg);
|
|
118
|
-
this.reason = msg;
|
|
119
|
-
this.filename = filename;
|
|
120
|
-
this.line = lineno;
|
|
121
|
-
this.column = column;
|
|
122
|
-
this.source = css;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
var $0865a9fb4cc365fe$exports = {};
|
|
128
|
-
|
|
129
|
-
$parcel$defineInteropFlag($0865a9fb4cc365fe$exports);
|
|
130
|
-
|
|
131
|
-
$parcel$export($0865a9fb4cc365fe$exports, "default", () => $0865a9fb4cc365fe$export$2e2bcd8739ae039);
|
|
132
|
-
/**
|
|
133
|
-
* Store position information for a node
|
|
134
|
-
*/ class $0865a9fb4cc365fe$export$2e2bcd8739ae039 {
|
|
135
|
-
constructor(start, end, source){
|
|
136
|
-
this.start = start;
|
|
137
|
-
this.end = end;
|
|
138
|
-
this.source = source;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
var $b2e137848b48cf4f$exports = {};
|
|
144
|
-
|
|
145
|
-
$parcel$export($b2e137848b48cf4f$exports, "CssTypes", () => $b2e137848b48cf4f$export$9be5dd6e61d5d73a);
|
|
146
|
-
var $b2e137848b48cf4f$export$9be5dd6e61d5d73a;
|
|
147
|
-
(function(CssTypes) {
|
|
148
|
-
CssTypes["stylesheet"] = "stylesheet";
|
|
149
|
-
CssTypes["rule"] = "rule";
|
|
150
|
-
CssTypes["declaration"] = "declaration";
|
|
151
|
-
CssTypes["comment"] = "comment";
|
|
152
|
-
CssTypes["container"] = "container";
|
|
153
|
-
CssTypes["charset"] = "charset";
|
|
154
|
-
CssTypes["document"] = "document";
|
|
155
|
-
CssTypes["customMedia"] = "custom-media";
|
|
156
|
-
CssTypes["fontFace"] = "font-face";
|
|
157
|
-
CssTypes["host"] = "host";
|
|
158
|
-
CssTypes["import"] = "import";
|
|
159
|
-
CssTypes["keyframes"] = "keyframes";
|
|
160
|
-
CssTypes["keyframe"] = "keyframe";
|
|
161
|
-
CssTypes["layer"] = "layer";
|
|
162
|
-
CssTypes["media"] = "media";
|
|
163
|
-
CssTypes["namespace"] = "namespace";
|
|
164
|
-
CssTypes["page"] = "page";
|
|
165
|
-
CssTypes["startingStyle"] = "starting-style";
|
|
166
|
-
CssTypes["supports"] = "supports";
|
|
167
|
-
})($b2e137848b48cf4f$export$9be5dd6e61d5d73a || ($b2e137848b48cf4f$export$9be5dd6e61d5d73a = {}));
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
// http://www.w3.org/TR/CSS21/grammar.html
|
|
171
|
-
// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027
|
|
172
|
-
// New rule => https://www.w3.org/TR/CSS22/syndata.html#comments
|
|
173
|
-
// [^] is equivalent to [.\n\r]
|
|
174
|
-
const $d708735ed1303b43$var$commentre = /\/\*[^]*?(?:\*\/|$)/g;
|
|
175
|
-
const $d708735ed1303b43$export$98e6a39c04603d36 = (css, options)=>{
|
|
176
|
-
options = options || {};
|
|
177
|
-
/**
|
|
178
|
-
* Positional.
|
|
179
|
-
*/ let lineno = 1;
|
|
180
|
-
let column = 1;
|
|
181
|
-
/**
|
|
182
|
-
* Update lineno and column based on `str`.
|
|
183
|
-
*/ function updatePosition(str) {
|
|
184
|
-
const lines = str.match(/\n/g);
|
|
185
|
-
if (lines) lineno += lines.length;
|
|
186
|
-
const i = str.lastIndexOf("\n");
|
|
187
|
-
column = ~i ? str.length - i : column + str.length;
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Mark position and patch `node.position`.
|
|
191
|
-
*/ function position() {
|
|
192
|
-
const start = {
|
|
193
|
-
line: lineno,
|
|
194
|
-
column: column
|
|
195
|
-
};
|
|
196
|
-
return function(node) {
|
|
197
|
-
node.position = new ($0865a9fb4cc365fe$export$2e2bcd8739ae039)(start, {
|
|
198
|
-
line: lineno,
|
|
199
|
-
column: column
|
|
200
|
-
}, options?.source || "");
|
|
201
|
-
whitespace();
|
|
202
|
-
return node;
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Error `msg`.
|
|
207
|
-
*/ const errorsList = [];
|
|
208
|
-
function error(msg) {
|
|
209
|
-
const err = new ($009ddb00d3ec72b8$export$2e2bcd8739ae039)(options?.source || "", msg, lineno, column, css);
|
|
210
|
-
if (options?.silent) errorsList.push(err);
|
|
211
|
-
else throw err;
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Parse stylesheet.
|
|
215
|
-
*/ function stylesheet() {
|
|
216
|
-
const rulesList = rules();
|
|
217
|
-
const result = {
|
|
218
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).stylesheet,
|
|
219
|
-
stylesheet: {
|
|
220
|
-
source: options?.source,
|
|
221
|
-
rules: rulesList,
|
|
222
|
-
parsingErrors: errorsList
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
return result;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Opening brace.
|
|
229
|
-
*/ function open() {
|
|
230
|
-
return match(/^{\s*/);
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Closing brace.
|
|
234
|
-
*/ function close() {
|
|
235
|
-
return match(/^}/);
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Parse ruleset.
|
|
239
|
-
*/ function rules() {
|
|
240
|
-
let node;
|
|
241
|
-
const rules = [];
|
|
242
|
-
whitespace();
|
|
243
|
-
comments(rules);
|
|
244
|
-
while(css.length && css.charAt(0) !== "}" && (node = atrule() || rule()))if (node) {
|
|
245
|
-
rules.push(node);
|
|
246
|
-
comments(rules);
|
|
247
|
-
}
|
|
248
|
-
return rules;
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Match `re` and return captures.
|
|
252
|
-
*/ function match(re) {
|
|
253
|
-
const m = re.exec(css);
|
|
254
|
-
if (!m) return;
|
|
255
|
-
const str = m[0];
|
|
256
|
-
updatePosition(str);
|
|
257
|
-
css = css.slice(str.length);
|
|
258
|
-
return m;
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Parse whitespace.
|
|
262
|
-
*/ function whitespace() {
|
|
263
|
-
match(/^\s*/);
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Parse comments;
|
|
267
|
-
*/ function comments(rules) {
|
|
268
|
-
let c;
|
|
269
|
-
rules = rules || [];
|
|
270
|
-
while(c = comment())if (c) rules.push(c);
|
|
271
|
-
return rules;
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Parse comment.
|
|
275
|
-
*/ function comment() {
|
|
276
|
-
const pos = position();
|
|
277
|
-
if ("/" !== css.charAt(0) || "*" !== css.charAt(1)) return;
|
|
278
|
-
const m = match(/^\/\*[^]*?\*\//);
|
|
279
|
-
if (!m) return error("End of comment missing");
|
|
280
|
-
return pos({
|
|
281
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).comment,
|
|
282
|
-
comment: m[0].slice(2, -2)
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
function findClosingParenthese(str, start, depth) {
|
|
286
|
-
let ptr = start + 1;
|
|
287
|
-
let found = false;
|
|
288
|
-
let closeParentheses = str.indexOf(")", ptr);
|
|
289
|
-
while(!found && closeParentheses !== -1){
|
|
290
|
-
const nextParentheses = str.indexOf("(", ptr);
|
|
291
|
-
if (nextParentheses !== -1 && nextParentheses < closeParentheses) {
|
|
292
|
-
const nextSearch = findClosingParenthese(str, nextParentheses + 1);
|
|
293
|
-
ptr = nextSearch + 1;
|
|
294
|
-
closeParentheses = str.indexOf(")", ptr);
|
|
295
|
-
} else found = true;
|
|
296
|
-
}
|
|
297
|
-
if (found && closeParentheses !== -1) return closeParentheses;
|
|
298
|
-
else return -1;
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Parse selector.
|
|
302
|
-
*/ function selector() {
|
|
303
|
-
const m = match(/^([^{]+)/);
|
|
304
|
-
if (!m) return;
|
|
305
|
-
// remove comment in selector;
|
|
306
|
-
let res = $d708735ed1303b43$var$trim(m[0]).replace($d708735ed1303b43$var$commentre, "");
|
|
307
|
-
// Optimisation: If there is no ',' no need to split or post-process (this is less costly)
|
|
308
|
-
if (res.indexOf(",") === -1) return [
|
|
309
|
-
res
|
|
310
|
-
];
|
|
311
|
-
// Replace all the , in the parentheses by \u200C
|
|
312
|
-
let ptr = 0;
|
|
313
|
-
let startParentheses = res.indexOf("(", ptr);
|
|
314
|
-
while(startParentheses !== -1){
|
|
315
|
-
const closeParentheses = findClosingParenthese(res, startParentheses);
|
|
316
|
-
if (closeParentheses === -1) break;
|
|
317
|
-
ptr = closeParentheses + 1;
|
|
318
|
-
res = res.substring(0, startParentheses) + res.substring(startParentheses, closeParentheses).replace(/,/g, "\u200C") + res.substring(closeParentheses);
|
|
319
|
-
startParentheses = res.indexOf("(", ptr);
|
|
320
|
-
}
|
|
321
|
-
// Replace all the , in ' and " by \u200C
|
|
322
|
-
res = res/**
|
|
323
|
-
* replace ',' by \u200C for data selector (div[data-lang="fr,de,us"])
|
|
324
|
-
*
|
|
325
|
-
* Examples:
|
|
326
|
-
* div[data-lang="fr,\"de,us"]
|
|
327
|
-
* div[data-lang='fr,\'de,us']
|
|
328
|
-
*
|
|
329
|
-
* Regex logic:
|
|
330
|
-
* ("|')(?:\\\1|.)*?\1 => Handle the " and '
|
|
331
|
-
*
|
|
332
|
-
* Optimization 1:
|
|
333
|
-
* No greedy capture (see docs about the difference between .* and .*?)
|
|
334
|
-
*
|
|
335
|
-
* Optimization 2:
|
|
336
|
-
* ("|')(?:\\\1|.)*?\1 this use reference to capture group, it work faster.
|
|
337
|
-
*/ .replace(/("|')(?:\\\1|.)*?\1/g, (m)=>m.replace(/,/g, "\u200C"));
|
|
338
|
-
// Split all the left , and replace all the \u200C by ,
|
|
339
|
-
return res// Split the selector by ','
|
|
340
|
-
.split(",")// Replace back \u200C by ','
|
|
341
|
-
.map((s)=>{
|
|
342
|
-
return $d708735ed1303b43$var$trim(s.replace(/\u200C/g, ","));
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Parse declaration.
|
|
347
|
-
*/ function declaration() {
|
|
348
|
-
const pos = position();
|
|
349
|
-
// prop
|
|
350
|
-
const propMatch = match(/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/);
|
|
351
|
-
if (!propMatch) return;
|
|
352
|
-
const propValue = $d708735ed1303b43$var$trim(propMatch[0]);
|
|
353
|
-
// :
|
|
354
|
-
if (!match(/^:\s*/)) return error("property missing ':'");
|
|
355
|
-
// val
|
|
356
|
-
const val = match(/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/);
|
|
357
|
-
const ret = pos({
|
|
358
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).declaration,
|
|
359
|
-
property: propValue.replace($d708735ed1303b43$var$commentre, ""),
|
|
360
|
-
value: val ? $d708735ed1303b43$var$trim(val[0]).replace($d708735ed1303b43$var$commentre, "") : ""
|
|
361
|
-
});
|
|
362
|
-
// ;
|
|
363
|
-
match(/^[;\s]*/);
|
|
364
|
-
return ret;
|
|
365
|
-
}
|
|
366
|
-
/**
|
|
367
|
-
* Parse declarations.
|
|
368
|
-
*/ function declarations() {
|
|
369
|
-
const decls = [];
|
|
370
|
-
if (!open()) return error("missing '{'");
|
|
371
|
-
comments(decls);
|
|
372
|
-
// declarations
|
|
373
|
-
let decl;
|
|
374
|
-
while(decl = declaration())if (decl) {
|
|
375
|
-
decls.push(decl);
|
|
376
|
-
comments(decls);
|
|
377
|
-
}
|
|
378
|
-
if (!close()) return error("missing '}'");
|
|
379
|
-
return decls;
|
|
380
|
-
}
|
|
381
|
-
/**
|
|
382
|
-
* Parse keyframe.
|
|
383
|
-
*/ function keyframe() {
|
|
384
|
-
let m;
|
|
385
|
-
const vals = [];
|
|
386
|
-
const pos = position();
|
|
387
|
-
while(m = match(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/)){
|
|
388
|
-
vals.push(m[1]);
|
|
389
|
-
match(/^,\s*/);
|
|
390
|
-
}
|
|
391
|
-
if (!vals.length) return;
|
|
392
|
-
return pos({
|
|
393
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).keyframe,
|
|
394
|
-
values: vals,
|
|
395
|
-
declarations: declarations() || []
|
|
396
|
-
});
|
|
397
|
-
}
|
|
398
|
-
/**
|
|
399
|
-
* Parse keyframes.
|
|
400
|
-
*/ function atkeyframes() {
|
|
401
|
-
const pos = position();
|
|
402
|
-
const m1 = match(/^@([-\w]+)?keyframes\s*/);
|
|
403
|
-
if (!m1) return;
|
|
404
|
-
const vendor = m1[1];
|
|
405
|
-
// identifier
|
|
406
|
-
const m2 = match(/^([-\w]+)\s*/);
|
|
407
|
-
if (!m2) return error("@keyframes missing name");
|
|
408
|
-
const name = m2[1];
|
|
409
|
-
if (!open()) return error("@keyframes missing '{'");
|
|
410
|
-
let frame;
|
|
411
|
-
let frames = comments();
|
|
412
|
-
while(frame = keyframe()){
|
|
413
|
-
frames.push(frame);
|
|
414
|
-
frames = frames.concat(comments());
|
|
415
|
-
}
|
|
416
|
-
if (!close()) return error("@keyframes missing '}'");
|
|
417
|
-
return pos({
|
|
418
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).keyframes,
|
|
419
|
-
name: name,
|
|
420
|
-
vendor: vendor,
|
|
421
|
-
keyframes: frames
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
/**
|
|
425
|
-
* Parse supports.
|
|
426
|
-
*/ function atsupports() {
|
|
427
|
-
const pos = position();
|
|
428
|
-
const m = match(/^@supports *([^{]+)/);
|
|
429
|
-
if (!m) return;
|
|
430
|
-
const supports = $d708735ed1303b43$var$trim(m[1]);
|
|
431
|
-
if (!open()) return error("@supports missing '{'");
|
|
432
|
-
const style = comments().concat(rules());
|
|
433
|
-
if (!close()) return error("@supports missing '}'");
|
|
434
|
-
return pos({
|
|
435
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).supports,
|
|
436
|
-
supports: supports,
|
|
437
|
-
rules: style
|
|
438
|
-
});
|
|
439
|
-
}
|
|
440
|
-
/**
|
|
441
|
-
* Parse host.
|
|
442
|
-
*/ function athost() {
|
|
443
|
-
const pos = position();
|
|
444
|
-
const m = match(/^@host\s*/);
|
|
445
|
-
if (!m) return;
|
|
446
|
-
if (!open()) return error("@host missing '{'");
|
|
447
|
-
const style = comments().concat(rules());
|
|
448
|
-
if (!close()) return error("@host missing '}'");
|
|
449
|
-
return pos({
|
|
450
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).host,
|
|
451
|
-
rules: style
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
/**
|
|
455
|
-
* Parse container.
|
|
456
|
-
*/ function atcontainer() {
|
|
457
|
-
const pos = position();
|
|
458
|
-
const m = match(/^@container *([^{]+)/);
|
|
459
|
-
if (!m) return;
|
|
460
|
-
const container = $d708735ed1303b43$var$trim(m[1]);
|
|
461
|
-
if (!open()) return error("@container missing '{'");
|
|
462
|
-
const style = comments().concat(rules());
|
|
463
|
-
if (!close()) return error("@container missing '}'");
|
|
464
|
-
return pos({
|
|
465
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).container,
|
|
466
|
-
container: container,
|
|
467
|
-
rules: style
|
|
468
|
-
});
|
|
469
|
-
}
|
|
470
|
-
/**
|
|
471
|
-
* Parse container.
|
|
472
|
-
*/ function atlayer() {
|
|
473
|
-
const pos = position();
|
|
474
|
-
const m = match(/^@layer *([^{;@]+)/);
|
|
475
|
-
if (!m) return;
|
|
476
|
-
const layer = $d708735ed1303b43$var$trim(m[1]);
|
|
477
|
-
if (!open()) {
|
|
478
|
-
match(/^[;\s]*/);
|
|
479
|
-
return pos({
|
|
480
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).layer,
|
|
481
|
-
layer: layer
|
|
482
|
-
});
|
|
483
|
-
}
|
|
484
|
-
const style = comments().concat(rules());
|
|
485
|
-
if (!close()) return error("@layer missing '}'");
|
|
486
|
-
return pos({
|
|
487
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).layer,
|
|
488
|
-
layer: layer,
|
|
489
|
-
rules: style
|
|
490
|
-
});
|
|
491
|
-
}
|
|
492
|
-
/**
|
|
493
|
-
* Parse media.
|
|
494
|
-
*/ function atmedia() {
|
|
495
|
-
const pos = position();
|
|
496
|
-
const m = match(/^@media *([^{]+)/);
|
|
497
|
-
if (!m) return;
|
|
498
|
-
const media = $d708735ed1303b43$var$trim(m[1]);
|
|
499
|
-
if (!open()) return error("@media missing '{'");
|
|
500
|
-
const style = comments().concat(rules());
|
|
501
|
-
if (!close()) return error("@media missing '}'");
|
|
502
|
-
return pos({
|
|
503
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).media,
|
|
504
|
-
media: media,
|
|
505
|
-
rules: style
|
|
506
|
-
});
|
|
507
|
-
}
|
|
508
|
-
/**
|
|
509
|
-
* Parse custom-media.
|
|
510
|
-
*/ function atcustommedia() {
|
|
511
|
-
const pos = position();
|
|
512
|
-
const m = match(/^@custom-media\s+(--\S+)\s*([^{;\s][^{;]*);/);
|
|
513
|
-
if (!m) return;
|
|
514
|
-
return pos({
|
|
515
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).customMedia,
|
|
516
|
-
name: $d708735ed1303b43$var$trim(m[1]),
|
|
517
|
-
media: $d708735ed1303b43$var$trim(m[2])
|
|
518
|
-
});
|
|
519
|
-
}
|
|
520
|
-
/**
|
|
521
|
-
* Parse paged media.
|
|
522
|
-
*/ function atpage() {
|
|
523
|
-
const pos = position();
|
|
524
|
-
const m = match(/^@page */);
|
|
525
|
-
if (!m) return;
|
|
526
|
-
const sel = selector() || [];
|
|
527
|
-
if (!open()) return error("@page missing '{'");
|
|
528
|
-
let decls = comments();
|
|
529
|
-
// declarations
|
|
530
|
-
let decl;
|
|
531
|
-
while(decl = declaration()){
|
|
532
|
-
decls.push(decl);
|
|
533
|
-
decls = decls.concat(comments());
|
|
534
|
-
}
|
|
535
|
-
if (!close()) return error("@page missing '}'");
|
|
536
|
-
return pos({
|
|
537
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).page,
|
|
538
|
-
selectors: sel,
|
|
539
|
-
declarations: decls
|
|
540
|
-
});
|
|
541
|
-
}
|
|
542
|
-
/**
|
|
543
|
-
* Parse document.
|
|
544
|
-
*/ function atdocument() {
|
|
545
|
-
const pos = position();
|
|
546
|
-
const m = match(/^@([-\w]+)?document *([^{]+)/);
|
|
547
|
-
if (!m) return;
|
|
548
|
-
const vendor = $d708735ed1303b43$var$trim(m[1]);
|
|
549
|
-
const doc = $d708735ed1303b43$var$trim(m[2]);
|
|
550
|
-
if (!open()) return error("@document missing '{'");
|
|
551
|
-
const style = comments().concat(rules());
|
|
552
|
-
if (!close()) return error("@document missing '}'");
|
|
553
|
-
return pos({
|
|
554
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).document,
|
|
555
|
-
document: doc,
|
|
556
|
-
vendor: vendor,
|
|
557
|
-
rules: style
|
|
558
|
-
});
|
|
559
|
-
}
|
|
560
|
-
/**
|
|
561
|
-
* Parse font-face.
|
|
562
|
-
*/ function atfontface() {
|
|
563
|
-
const pos = position();
|
|
564
|
-
const m = match(/^@font-face\s*/);
|
|
565
|
-
if (!m) return;
|
|
566
|
-
if (!open()) return error("@font-face missing '{'");
|
|
567
|
-
let decls = comments();
|
|
568
|
-
// declarations
|
|
569
|
-
let decl;
|
|
570
|
-
while(decl = declaration()){
|
|
571
|
-
decls.push(decl);
|
|
572
|
-
decls = decls.concat(comments());
|
|
573
|
-
}
|
|
574
|
-
if (!close()) return error("@font-face missing '}'");
|
|
575
|
-
return pos({
|
|
576
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).fontFace,
|
|
577
|
-
declarations: decls
|
|
578
|
-
});
|
|
579
|
-
}
|
|
580
|
-
/**
|
|
581
|
-
* Parse starting style.
|
|
582
|
-
*/ function atstartingstyle() {
|
|
583
|
-
const pos = position();
|
|
584
|
-
const m = match(/^@starting-style\s*/);
|
|
585
|
-
if (!m) return;
|
|
586
|
-
if (!open()) return error("@starting-style missing '{'");
|
|
587
|
-
const style = comments().concat(rules());
|
|
588
|
-
if (!close()) return error("@starting-style missing '}'");
|
|
589
|
-
return pos({
|
|
590
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).startingStyle,
|
|
591
|
-
rules: style
|
|
592
|
-
});
|
|
593
|
-
}
|
|
594
|
-
/**
|
|
595
|
-
* Parse import
|
|
596
|
-
*/ const atimport = _compileAtrule("import");
|
|
597
|
-
/**
|
|
598
|
-
* Parse charset
|
|
599
|
-
*/ const atcharset = _compileAtrule("charset");
|
|
600
|
-
/**
|
|
601
|
-
* Parse namespace
|
|
602
|
-
*/ const atnamespace = _compileAtrule("namespace");
|
|
603
|
-
/**
|
|
604
|
-
* Parse non-block at-rules
|
|
605
|
-
*/ function _compileAtrule(name) {
|
|
606
|
-
const re = new RegExp("^@" + name + "\\s*((?::?[^;'\"]|\"(?:\\\\\"|[^\"])*?\"|'(?:\\\\'|[^'])*?')+)(?:;|$)");
|
|
607
|
-
// ^@import\s*([^;"']|("|')(?:\\\2|.)*?\2)+(;|$)
|
|
608
|
-
return function() {
|
|
609
|
-
const pos = position();
|
|
610
|
-
const m = match(re);
|
|
611
|
-
if (!m) return;
|
|
612
|
-
const ret = {
|
|
613
|
-
type: name
|
|
614
|
-
};
|
|
615
|
-
ret[name] = m[1].trim();
|
|
616
|
-
return pos(ret);
|
|
617
|
-
};
|
|
618
|
-
}
|
|
619
|
-
/**
|
|
620
|
-
* Parse at rule.
|
|
621
|
-
*/ function atrule() {
|
|
622
|
-
if (css[0] !== "@") return;
|
|
623
|
-
return atkeyframes() || atmedia() || atcustommedia() || atsupports() || atimport() || atcharset() || atnamespace() || atdocument() || atpage() || athost() || atfontface() || atcontainer() || atstartingstyle() || atlayer();
|
|
624
|
-
}
|
|
625
|
-
/**
|
|
626
|
-
* Parse rule.
|
|
627
|
-
*/ function rule() {
|
|
628
|
-
const pos = position();
|
|
629
|
-
const sel = selector();
|
|
630
|
-
if (!sel) return error("selector missing");
|
|
631
|
-
comments();
|
|
632
|
-
return pos({
|
|
633
|
-
type: ($b2e137848b48cf4f$export$9be5dd6e61d5d73a).rule,
|
|
634
|
-
selectors: sel,
|
|
635
|
-
declarations: declarations() || []
|
|
636
|
-
});
|
|
637
|
-
}
|
|
638
|
-
return $d708735ed1303b43$var$addParent(stylesheet());
|
|
639
|
-
};
|
|
640
|
-
/**
|
|
641
|
-
* Trim `str`.
|
|
642
|
-
*/ function $d708735ed1303b43$var$trim(str) {
|
|
643
|
-
return str ? str.trim() : "";
|
|
644
|
-
}
|
|
645
|
-
/**
|
|
646
|
-
* Adds non-enumerable parent node reference to each node.
|
|
647
|
-
*/ function $d708735ed1303b43$var$addParent(obj, parent) {
|
|
648
|
-
const isNode = obj && typeof obj.type === "string";
|
|
649
|
-
const childParent = isNode ? obj : parent;
|
|
650
|
-
for(const k in obj){
|
|
651
|
-
const value = obj[k];
|
|
652
|
-
if (Array.isArray(value)) value.forEach((v)=>{
|
|
653
|
-
$d708735ed1303b43$var$addParent(v, childParent);
|
|
654
|
-
});
|
|
655
|
-
else if (value && typeof value === "object") $d708735ed1303b43$var$addParent(value, childParent);
|
|
656
|
-
}
|
|
657
|
-
if (isNode) Object.defineProperty(obj, "parent", {
|
|
658
|
-
configurable: true,
|
|
659
|
-
writable: true,
|
|
660
|
-
enumerable: false,
|
|
661
|
-
value: parent || null
|
|
662
|
-
});
|
|
663
|
-
return obj;
|
|
664
|
-
}
|
|
665
|
-
var $d708735ed1303b43$export$2e2bcd8739ae039 = $d708735ed1303b43$export$98e6a39c04603d36;
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
const $149c1bd638913645$export$98e6a39c04603d36 = ($d708735ed1303b43$export$2e2bcd8739ae039);
|
|
672
|
-
|
|
673
|
-
/**
|
|
674
|
-
* @source {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Polyfill}
|
|
675
|
-
* but without thisArg (too hard to type, no need to `this`)
|
|
676
|
-
*/
|
|
677
|
-
var toStr = Object.prototype.toString;
|
|
678
|
-
function isCallable(fn) {
|
|
679
|
-
return typeof fn === "function" || toStr.call(fn) === "[object Function]";
|
|
680
|
-
}
|
|
681
|
-
function toInteger(value) {
|
|
682
|
-
var number = Number(value);
|
|
683
|
-
if (isNaN(number)) {
|
|
684
|
-
return 0;
|
|
685
|
-
}
|
|
686
|
-
if (number === 0 || !isFinite(number)) {
|
|
687
|
-
return number;
|
|
688
|
-
}
|
|
689
|
-
return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
|
|
690
|
-
}
|
|
691
|
-
var maxSafeInteger = Math.pow(2, 53) - 1;
|
|
692
|
-
function toLength(value) {
|
|
693
|
-
var len = toInteger(value);
|
|
694
|
-
return Math.min(Math.max(len, 0), maxSafeInteger);
|
|
695
|
-
}
|
|
696
|
-
/**
|
|
697
|
-
* Creates an array from an iterable object.
|
|
698
|
-
* @param iterable An iterable object to convert to an array.
|
|
699
|
-
*/
|
|
700
|
-
|
|
701
|
-
/**
|
|
702
|
-
* Creates an array from an iterable object.
|
|
703
|
-
* @param iterable An iterable object to convert to an array.
|
|
704
|
-
* @param mapfn A mapping function to call on every element of the array.
|
|
705
|
-
* @param thisArg Value of 'this' used to invoke the mapfn.
|
|
706
|
-
*/
|
|
707
|
-
function arrayFrom(arrayLike, mapFn) {
|
|
708
|
-
// 1. Let C be the this value.
|
|
709
|
-
// edit(@eps1lon): we're not calling it as Array.from
|
|
710
|
-
var C = Array;
|
|
711
|
-
|
|
712
|
-
// 2. Let items be ToObject(arrayLike).
|
|
713
|
-
var items = Object(arrayLike);
|
|
714
|
-
|
|
715
|
-
// 3. ReturnIfAbrupt(items).
|
|
716
|
-
if (arrayLike == null) {
|
|
717
|
-
throw new TypeError("Array.from requires an array-like object - not null or undefined");
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
// 10. Let lenValue be Get(items, "length").
|
|
721
|
-
// 11. Let len be ToLength(lenValue).
|
|
722
|
-
var len = toLength(items.length);
|
|
723
|
-
|
|
724
|
-
// 13. If IsConstructor(C) is true, then
|
|
725
|
-
// 13. a. Let A be the result of calling the [[Construct]] internal method
|
|
726
|
-
// of C with an argument list containing the single item len.
|
|
727
|
-
// 14. a. Else, Let A be ArrayCreate(len).
|
|
728
|
-
var A = isCallable(C) ? Object(new C(len)) : new Array(len);
|
|
729
|
-
|
|
730
|
-
// 16. Let k be 0.
|
|
731
|
-
var k = 0;
|
|
732
|
-
// 17. Repeat, while k < len… (also steps a - h)
|
|
733
|
-
var kValue;
|
|
734
|
-
while (k < len) {
|
|
735
|
-
kValue = items[k];
|
|
736
|
-
{
|
|
737
|
-
A[k] = kValue;
|
|
738
|
-
}
|
|
739
|
-
k += 1;
|
|
740
|
-
}
|
|
741
|
-
// 18. Let putStatus be Put(A, "length", len, true).
|
|
742
|
-
A.length = len;
|
|
743
|
-
// 20. Return A.
|
|
744
|
-
return A;
|
|
745
|
-
}
|
|
746
|
-
|
|
747
|
-
function _typeof$1(o) { "@babel/helpers - typeof"; return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof$1(o); }
|
|
748
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
749
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey$1(descriptor.key), descriptor); } }
|
|
750
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
751
|
-
function _defineProperty$1(obj, key, value) { key = _toPropertyKey$1(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
752
|
-
function _toPropertyKey$1(arg) { var key = _toPrimitive$1(arg, "string"); return _typeof$1(key) === "symbol" ? key : String(key); }
|
|
753
|
-
function _toPrimitive$1(input, hint) { if (_typeof$1(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint); if (_typeof$1(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
754
|
-
// for environments without Set we fallback to arrays with unique members
|
|
755
|
-
var SetLike = /*#__PURE__*/function () {
|
|
756
|
-
function SetLike() {
|
|
757
|
-
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
758
|
-
_classCallCheck(this, SetLike);
|
|
759
|
-
_defineProperty$1(this, "items", void 0);
|
|
760
|
-
this.items = items;
|
|
761
|
-
}
|
|
762
|
-
_createClass(SetLike, [{
|
|
763
|
-
key: "add",
|
|
764
|
-
value: function add(value) {
|
|
765
|
-
if (this.has(value) === false) {
|
|
766
|
-
this.items.push(value);
|
|
767
|
-
}
|
|
768
|
-
return this;
|
|
769
|
-
}
|
|
770
|
-
}, {
|
|
771
|
-
key: "clear",
|
|
772
|
-
value: function clear() {
|
|
773
|
-
this.items = [];
|
|
774
|
-
}
|
|
775
|
-
}, {
|
|
776
|
-
key: "delete",
|
|
777
|
-
value: function _delete(value) {
|
|
778
|
-
var previousLength = this.items.length;
|
|
779
|
-
this.items = this.items.filter(function (item) {
|
|
780
|
-
return item !== value;
|
|
781
|
-
});
|
|
782
|
-
return previousLength !== this.items.length;
|
|
783
|
-
}
|
|
784
|
-
}, {
|
|
785
|
-
key: "forEach",
|
|
786
|
-
value: function forEach(callbackfn) {
|
|
787
|
-
var _this = this;
|
|
788
|
-
this.items.forEach(function (item) {
|
|
789
|
-
callbackfn(item, item, _this);
|
|
790
|
-
});
|
|
791
|
-
}
|
|
792
|
-
}, {
|
|
793
|
-
key: "has",
|
|
794
|
-
value: function has(value) {
|
|
795
|
-
return this.items.indexOf(value) !== -1;
|
|
796
|
-
}
|
|
797
|
-
}, {
|
|
798
|
-
key: "size",
|
|
799
|
-
get: function get() {
|
|
800
|
-
return this.items.length;
|
|
801
|
-
}
|
|
802
|
-
}]);
|
|
803
|
-
return SetLike;
|
|
804
|
-
}();
|
|
805
|
-
var SetLike$1 = typeof Set === "undefined" ? Set : SetLike;
|
|
806
|
-
|
|
807
|
-
// https://w3c.github.io/html-aria/#document-conformance-requirements-for-use-of-aria-attributes-in-html
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
/**
|
|
811
|
-
* Safe Element.localName for all supported environments
|
|
812
|
-
* @param element
|
|
813
|
-
*/
|
|
814
|
-
function getLocalName(element) {
|
|
815
|
-
var _element$localName;
|
|
816
|
-
return (// eslint-disable-next-line no-restricted-properties -- actual guard for environments without localName
|
|
817
|
-
(_element$localName = element.localName) !== null && _element$localName !== void 0 ? _element$localName :
|
|
818
|
-
// eslint-disable-next-line no-restricted-properties -- required for the fallback
|
|
819
|
-
element.tagName.toLowerCase()
|
|
820
|
-
);
|
|
821
|
-
}
|
|
822
|
-
var localNameToRoleMappings = {
|
|
823
|
-
article: "article",
|
|
824
|
-
aside: "complementary",
|
|
825
|
-
button: "button",
|
|
826
|
-
datalist: "listbox",
|
|
827
|
-
dd: "definition",
|
|
828
|
-
details: "group",
|
|
829
|
-
dialog: "dialog",
|
|
830
|
-
dt: "term",
|
|
831
|
-
fieldset: "group",
|
|
832
|
-
figure: "figure",
|
|
833
|
-
// WARNING: Only with an accessible name
|
|
834
|
-
form: "form",
|
|
835
|
-
footer: "contentinfo",
|
|
836
|
-
h1: "heading",
|
|
837
|
-
h2: "heading",
|
|
838
|
-
h3: "heading",
|
|
839
|
-
h4: "heading",
|
|
840
|
-
h5: "heading",
|
|
841
|
-
h6: "heading",
|
|
842
|
-
header: "banner",
|
|
843
|
-
hr: "separator",
|
|
844
|
-
html: "document",
|
|
845
|
-
legend: "legend",
|
|
846
|
-
li: "listitem",
|
|
847
|
-
math: "math",
|
|
848
|
-
main: "main",
|
|
849
|
-
menu: "list",
|
|
850
|
-
nav: "navigation",
|
|
851
|
-
ol: "list",
|
|
852
|
-
optgroup: "group",
|
|
853
|
-
// WARNING: Only in certain context
|
|
854
|
-
option: "option",
|
|
855
|
-
output: "status",
|
|
856
|
-
progress: "progressbar",
|
|
857
|
-
// WARNING: Only with an accessible name
|
|
858
|
-
section: "region",
|
|
859
|
-
summary: "button",
|
|
860
|
-
table: "table",
|
|
861
|
-
tbody: "rowgroup",
|
|
862
|
-
textarea: "textbox",
|
|
863
|
-
tfoot: "rowgroup",
|
|
864
|
-
// WARNING: Only in certain context
|
|
865
|
-
td: "cell",
|
|
866
|
-
th: "columnheader",
|
|
867
|
-
thead: "rowgroup",
|
|
868
|
-
tr: "row",
|
|
869
|
-
ul: "list"
|
|
870
|
-
};
|
|
871
|
-
var prohibitedAttributes = {
|
|
872
|
-
caption: new Set(["aria-label", "aria-labelledby"]),
|
|
873
|
-
code: new Set(["aria-label", "aria-labelledby"]),
|
|
874
|
-
deletion: new Set(["aria-label", "aria-labelledby"]),
|
|
875
|
-
emphasis: new Set(["aria-label", "aria-labelledby"]),
|
|
876
|
-
generic: new Set(["aria-label", "aria-labelledby", "aria-roledescription"]),
|
|
877
|
-
insertion: new Set(["aria-label", "aria-labelledby"]),
|
|
878
|
-
none: new Set(["aria-label", "aria-labelledby"]),
|
|
879
|
-
paragraph: new Set(["aria-label", "aria-labelledby"]),
|
|
880
|
-
presentation: new Set(["aria-label", "aria-labelledby"]),
|
|
881
|
-
strong: new Set(["aria-label", "aria-labelledby"]),
|
|
882
|
-
subscript: new Set(["aria-label", "aria-labelledby"]),
|
|
883
|
-
superscript: new Set(["aria-label", "aria-labelledby"])
|
|
884
|
-
};
|
|
885
|
-
|
|
886
|
-
/**
|
|
887
|
-
*
|
|
888
|
-
* @param element
|
|
889
|
-
* @param role The role used for this element. This is specified to control whether you want to use the implicit or explicit role.
|
|
890
|
-
*/
|
|
891
|
-
function hasGlobalAriaAttributes(element, role) {
|
|
892
|
-
// https://rawgit.com/w3c/aria/stable/#global_states
|
|
893
|
-
// commented attributes are deprecated
|
|
894
|
-
return ["aria-atomic", "aria-busy", "aria-controls", "aria-current", "aria-description", "aria-describedby", "aria-details",
|
|
895
|
-
// "disabled",
|
|
896
|
-
"aria-dropeffect",
|
|
897
|
-
// "errormessage",
|
|
898
|
-
"aria-flowto", "aria-grabbed",
|
|
899
|
-
// "haspopup",
|
|
900
|
-
"aria-hidden",
|
|
901
|
-
// "invalid",
|
|
902
|
-
"aria-keyshortcuts", "aria-label", "aria-labelledby", "aria-live", "aria-owns", "aria-relevant", "aria-roledescription"].some(function (attributeName) {
|
|
903
|
-
var _prohibitedAttributes;
|
|
904
|
-
return element.hasAttribute(attributeName) && !((_prohibitedAttributes = prohibitedAttributes[role]) !== null && _prohibitedAttributes !== void 0 && _prohibitedAttributes.has(attributeName));
|
|
905
|
-
});
|
|
906
|
-
}
|
|
907
|
-
function ignorePresentationalRole(element, implicitRole) {
|
|
908
|
-
// https://rawgit.com/w3c/aria/stable/#conflict_resolution_presentation_none
|
|
909
|
-
return hasGlobalAriaAttributes(element, implicitRole);
|
|
910
|
-
}
|
|
911
|
-
function getRole(element) {
|
|
912
|
-
var explicitRole = getExplicitRole(element);
|
|
913
|
-
if (explicitRole === null || presentationRoles.indexOf(explicitRole) !== -1) {
|
|
914
|
-
var implicitRole = getImplicitRole(element);
|
|
915
|
-
if (presentationRoles.indexOf(explicitRole || "") === -1 || ignorePresentationalRole(element, implicitRole || "")) {
|
|
916
|
-
return implicitRole;
|
|
917
|
-
}
|
|
918
|
-
}
|
|
919
|
-
return explicitRole;
|
|
920
|
-
}
|
|
921
|
-
function getImplicitRole(element) {
|
|
922
|
-
var mappedByTag = localNameToRoleMappings[getLocalName(element)];
|
|
923
|
-
if (mappedByTag !== undefined) {
|
|
924
|
-
return mappedByTag;
|
|
925
|
-
}
|
|
926
|
-
switch (getLocalName(element)) {
|
|
927
|
-
case "a":
|
|
928
|
-
case "area":
|
|
929
|
-
case "link":
|
|
930
|
-
if (element.hasAttribute("href")) {
|
|
931
|
-
return "link";
|
|
932
|
-
}
|
|
933
|
-
break;
|
|
934
|
-
case "img":
|
|
935
|
-
if (element.getAttribute("alt") === "" && !ignorePresentationalRole(element, "img")) {
|
|
936
|
-
return "presentation";
|
|
937
|
-
}
|
|
938
|
-
return "img";
|
|
939
|
-
case "input":
|
|
940
|
-
{
|
|
941
|
-
var _ref = element,
|
|
942
|
-
type = _ref.type;
|
|
943
|
-
switch (type) {
|
|
944
|
-
case "button":
|
|
945
|
-
case "image":
|
|
946
|
-
case "reset":
|
|
947
|
-
case "submit":
|
|
948
|
-
return "button";
|
|
949
|
-
case "checkbox":
|
|
950
|
-
case "radio":
|
|
951
|
-
return type;
|
|
952
|
-
case "range":
|
|
953
|
-
return "slider";
|
|
954
|
-
case "email":
|
|
955
|
-
case "tel":
|
|
956
|
-
case "text":
|
|
957
|
-
case "url":
|
|
958
|
-
if (element.hasAttribute("list")) {
|
|
959
|
-
return "combobox";
|
|
960
|
-
}
|
|
961
|
-
return "textbox";
|
|
962
|
-
case "search":
|
|
963
|
-
if (element.hasAttribute("list")) {
|
|
964
|
-
return "combobox";
|
|
965
|
-
}
|
|
966
|
-
return "searchbox";
|
|
967
|
-
case "number":
|
|
968
|
-
return "spinbutton";
|
|
969
|
-
default:
|
|
970
|
-
return null;
|
|
971
|
-
}
|
|
972
|
-
}
|
|
973
|
-
case "select":
|
|
974
|
-
if (element.hasAttribute("multiple") || element.size > 1) {
|
|
975
|
-
return "listbox";
|
|
976
|
-
}
|
|
977
|
-
return "combobox";
|
|
978
|
-
}
|
|
979
|
-
return null;
|
|
980
|
-
}
|
|
981
|
-
function getExplicitRole(element) {
|
|
982
|
-
var role = element.getAttribute("role");
|
|
983
|
-
if (role !== null) {
|
|
984
|
-
var explicitRole = role.trim().split(" ")[0];
|
|
985
|
-
// String.prototype.split(sep, limit) will always return an array with at least one member
|
|
986
|
-
// as long as limit is either undefined or > 0
|
|
987
|
-
if (explicitRole.length > 0) {
|
|
988
|
-
return explicitRole;
|
|
989
|
-
}
|
|
990
|
-
}
|
|
991
|
-
return null;
|
|
992
|
-
}
|
|
993
|
-
|
|
994
|
-
var presentationRoles = ["presentation", "none"];
|
|
995
|
-
function isElement(node) {
|
|
996
|
-
return node !== null && node.nodeType === node.ELEMENT_NODE;
|
|
997
|
-
}
|
|
998
|
-
function isHTMLTableCaptionElement(node) {
|
|
999
|
-
return isElement(node) && getLocalName(node) === "caption";
|
|
1000
|
-
}
|
|
1001
|
-
function isHTMLInputElement(node) {
|
|
1002
|
-
return isElement(node) && getLocalName(node) === "input";
|
|
1003
|
-
}
|
|
1004
|
-
function isHTMLOptGroupElement(node) {
|
|
1005
|
-
return isElement(node) && getLocalName(node) === "optgroup";
|
|
1006
|
-
}
|
|
1007
|
-
function isHTMLSelectElement(node) {
|
|
1008
|
-
return isElement(node) && getLocalName(node) === "select";
|
|
1009
|
-
}
|
|
1010
|
-
function isHTMLTableElement(node) {
|
|
1011
|
-
return isElement(node) && getLocalName(node) === "table";
|
|
1012
|
-
}
|
|
1013
|
-
function isHTMLTextAreaElement(node) {
|
|
1014
|
-
return isElement(node) && getLocalName(node) === "textarea";
|
|
1015
|
-
}
|
|
1016
|
-
function safeWindow(node) {
|
|
1017
|
-
var _ref = node.ownerDocument === null ? node : node.ownerDocument,
|
|
1018
|
-
defaultView = _ref.defaultView;
|
|
1019
|
-
if (defaultView === null) {
|
|
1020
|
-
throw new TypeError("no window available");
|
|
1021
|
-
}
|
|
1022
|
-
return defaultView;
|
|
1023
|
-
}
|
|
1024
|
-
function isHTMLFieldSetElement(node) {
|
|
1025
|
-
return isElement(node) && getLocalName(node) === "fieldset";
|
|
1026
|
-
}
|
|
1027
|
-
function isHTMLLegendElement(node) {
|
|
1028
|
-
return isElement(node) && getLocalName(node) === "legend";
|
|
1029
|
-
}
|
|
1030
|
-
function isHTMLSlotElement(node) {
|
|
1031
|
-
return isElement(node) && getLocalName(node) === "slot";
|
|
1032
|
-
}
|
|
1033
|
-
function isSVGElement(node) {
|
|
1034
|
-
return isElement(node) && node.ownerSVGElement !== undefined;
|
|
1035
|
-
}
|
|
1036
|
-
function isSVGSVGElement(node) {
|
|
1037
|
-
return isElement(node) && getLocalName(node) === "svg";
|
|
1038
|
-
}
|
|
1039
|
-
function isSVGTitleElement(node) {
|
|
1040
|
-
return isSVGElement(node) && getLocalName(node) === "title";
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
|
-
/**
|
|
1044
|
-
*
|
|
1045
|
-
* @param {Node} node -
|
|
1046
|
-
* @param {string} attributeName -
|
|
1047
|
-
* @returns {Element[]} -
|
|
1048
|
-
*/
|
|
1049
|
-
function queryIdRefs(node, attributeName) {
|
|
1050
|
-
if (isElement(node) && node.hasAttribute(attributeName)) {
|
|
1051
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute check
|
|
1052
|
-
var ids = node.getAttribute(attributeName).split(" ");
|
|
1053
|
-
|
|
1054
|
-
// Browsers that don't support shadow DOM won't have getRootNode
|
|
1055
|
-
var root = node.getRootNode ? node.getRootNode() : node.ownerDocument;
|
|
1056
|
-
return ids.map(function (id) {
|
|
1057
|
-
return root.getElementById(id);
|
|
1058
|
-
}).filter(function (element) {
|
|
1059
|
-
return element !== null;
|
|
1060
|
-
}
|
|
1061
|
-
// TODO: why does this not narrow?
|
|
1062
|
-
);
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
return [];
|
|
1066
|
-
}
|
|
1067
|
-
function hasAnyConcreteRoles(node, roles) {
|
|
1068
|
-
if (isElement(node)) {
|
|
1069
|
-
return roles.indexOf(getRole(node)) !== -1;
|
|
1070
|
-
}
|
|
1071
|
-
return false;
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
/**
|
|
1075
|
-
* implements https://w3c.github.io/accname/
|
|
1076
|
-
*/
|
|
1077
|
-
|
|
1078
|
-
/**
|
|
1079
|
-
* 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.
|
|
1080
|
-
*/
|
|
1081
|
-
|
|
1082
|
-
/**
|
|
1083
|
-
* interface for an options-bag where `window.getComputedStyle` can be mocked
|
|
1084
|
-
*/
|
|
1085
|
-
|
|
1086
|
-
/**
|
|
1087
|
-
*
|
|
1088
|
-
* @param {string} string -
|
|
1089
|
-
* @returns {FlatString} -
|
|
1090
|
-
*/
|
|
1091
|
-
function asFlatString(s) {
|
|
1092
|
-
return s.trim().replace(/\s\s+/g, " ");
|
|
1093
|
-
}
|
|
1094
|
-
|
|
1095
|
-
/**
|
|
1096
|
-
*
|
|
1097
|
-
* @param node -
|
|
1098
|
-
* @param options - These are not optional to prevent accidentally calling it without options in `computeAccessibleName`
|
|
1099
|
-
* @returns {boolean} -
|
|
1100
|
-
*/
|
|
1101
|
-
function isHidden(node, getComputedStyleImplementation) {
|
|
1102
|
-
if (!isElement(node)) {
|
|
1103
|
-
return false;
|
|
1104
|
-
}
|
|
1105
|
-
if (node.hasAttribute("hidden") || node.getAttribute("aria-hidden") === "true") {
|
|
1106
|
-
return true;
|
|
1107
|
-
}
|
|
1108
|
-
var style = getComputedStyleImplementation(node);
|
|
1109
|
-
return style.getPropertyValue("display") === "none" || style.getPropertyValue("visibility") === "hidden";
|
|
1110
|
-
}
|
|
1111
|
-
|
|
1112
|
-
/**
|
|
1113
|
-
* @param {Node} node -
|
|
1114
|
-
* @returns {boolean} - As defined in step 2E of https://w3c.github.io/accname/#mapping_additional_nd_te
|
|
1115
|
-
*/
|
|
1116
|
-
function isControl(node) {
|
|
1117
|
-
return hasAnyConcreteRoles(node, ["button", "combobox", "listbox", "textbox"]) || hasAbstractRole(node, "range");
|
|
1118
|
-
}
|
|
1119
|
-
function hasAbstractRole(node, role) {
|
|
1120
|
-
if (!isElement(node)) {
|
|
1121
|
-
return false;
|
|
1122
|
-
}
|
|
1123
|
-
switch (role) {
|
|
1124
|
-
case "range":
|
|
1125
|
-
return hasAnyConcreteRoles(node, ["meter", "progressbar", "scrollbar", "slider", "spinbutton"]);
|
|
1126
|
-
default:
|
|
1127
|
-
throw new TypeError("No knowledge about abstract role '".concat(role, "'. This is likely a bug :("));
|
|
1128
|
-
}
|
|
1129
|
-
}
|
|
1130
|
-
|
|
1131
|
-
/**
|
|
1132
|
-
* element.querySelectorAll but also considers owned tree
|
|
1133
|
-
* @param element
|
|
1134
|
-
* @param selectors
|
|
1135
|
-
*/
|
|
1136
|
-
function querySelectorAllSubtree(element, selectors) {
|
|
1137
|
-
var elements = arrayFrom(element.querySelectorAll(selectors));
|
|
1138
|
-
queryIdRefs(element, "aria-owns").forEach(function (root) {
|
|
1139
|
-
// babel transpiles this assuming an iterator
|
|
1140
|
-
elements.push.apply(elements, arrayFrom(root.querySelectorAll(selectors)));
|
|
1141
|
-
});
|
|
1142
|
-
return elements;
|
|
1143
|
-
}
|
|
1144
|
-
function querySelectedOptions(listbox) {
|
|
1145
|
-
if (isHTMLSelectElement(listbox)) {
|
|
1146
|
-
// IE11 polyfill
|
|
1147
|
-
return listbox.selectedOptions || querySelectorAllSubtree(listbox, "[selected]");
|
|
1148
|
-
}
|
|
1149
|
-
return querySelectorAllSubtree(listbox, '[aria-selected="true"]');
|
|
1150
|
-
}
|
|
1151
|
-
function isMarkedPresentational(node) {
|
|
1152
|
-
return hasAnyConcreteRoles(node, presentationRoles);
|
|
1153
|
-
}
|
|
1154
|
-
|
|
1155
|
-
/**
|
|
1156
|
-
* Elements specifically listed in html-aam
|
|
1157
|
-
*
|
|
1158
|
-
* We don't need this for `label` or `legend` elements.
|
|
1159
|
-
* Their implicit roles already allow "naming from content".
|
|
1160
|
-
*
|
|
1161
|
-
* sources:
|
|
1162
|
-
*
|
|
1163
|
-
* - https://w3c.github.io/html-aam/#table-element
|
|
1164
|
-
*/
|
|
1165
|
-
function isNativeHostLanguageTextAlternativeElement(node) {
|
|
1166
|
-
return isHTMLTableCaptionElement(node);
|
|
1167
|
-
}
|
|
1168
|
-
|
|
1169
|
-
/**
|
|
1170
|
-
* https://w3c.github.io/aria/#namefromcontent
|
|
1171
|
-
*/
|
|
1172
|
-
function allowsNameFromContent(node) {
|
|
1173
|
-
return hasAnyConcreteRoles(node, ["button", "cell", "checkbox", "columnheader", "gridcell", "heading", "label", "legend", "link", "menuitem", "menuitemcheckbox", "menuitemradio", "option", "radio", "row", "rowheader", "switch", "tab", "tooltip", "treeitem"]);
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1176
|
-
/**
|
|
1177
|
-
* TODO https://github.com/eps1lon/dom-accessibility-api/issues/100
|
|
1178
|
-
*/
|
|
1179
|
-
function isDescendantOfNativeHostLanguageTextAlternativeElement(
|
|
1180
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars -- not implemented yet
|
|
1181
|
-
node) {
|
|
1182
|
-
return false;
|
|
1183
|
-
}
|
|
1184
|
-
function getValueOfTextbox(element) {
|
|
1185
|
-
if (isHTMLInputElement(element) || isHTMLTextAreaElement(element)) {
|
|
1186
|
-
return element.value;
|
|
1187
|
-
}
|
|
1188
|
-
// https://github.com/eps1lon/dom-accessibility-api/issues/4
|
|
1189
|
-
return element.textContent || "";
|
|
1190
|
-
}
|
|
1191
|
-
function getTextualContent(declaration) {
|
|
1192
|
-
var content = declaration.getPropertyValue("content");
|
|
1193
|
-
if (/^["'].*["']$/.test(content)) {
|
|
1194
|
-
return content.slice(1, -1);
|
|
1195
|
-
}
|
|
1196
|
-
return "";
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
|
-
/**
|
|
1200
|
-
* https://html.spec.whatwg.org/multipage/forms.html#category-label
|
|
1201
|
-
* TODO: form-associated custom elements
|
|
1202
|
-
* @param element
|
|
1203
|
-
*/
|
|
1204
|
-
function isLabelableElement(element) {
|
|
1205
|
-
var localName = getLocalName(element);
|
|
1206
|
-
return localName === "button" || localName === "input" && element.getAttribute("type") !== "hidden" || localName === "meter" || localName === "output" || localName === "progress" || localName === "select" || localName === "textarea";
|
|
1207
|
-
}
|
|
1208
|
-
|
|
1209
|
-
/**
|
|
1210
|
-
* > [...], then the first such descendant in tree order is the label element's labeled control.
|
|
1211
|
-
* -- https://html.spec.whatwg.org/multipage/forms.html#labeled-control
|
|
1212
|
-
* @param element
|
|
1213
|
-
*/
|
|
1214
|
-
function findLabelableElement(element) {
|
|
1215
|
-
if (isLabelableElement(element)) {
|
|
1216
|
-
return element;
|
|
1217
|
-
}
|
|
1218
|
-
var labelableElement = null;
|
|
1219
|
-
element.childNodes.forEach(function (childNode) {
|
|
1220
|
-
if (labelableElement === null && isElement(childNode)) {
|
|
1221
|
-
var descendantLabelableElement = findLabelableElement(childNode);
|
|
1222
|
-
if (descendantLabelableElement !== null) {
|
|
1223
|
-
labelableElement = descendantLabelableElement;
|
|
1224
|
-
}
|
|
1225
|
-
}
|
|
1226
|
-
});
|
|
1227
|
-
return labelableElement;
|
|
1228
|
-
}
|
|
1229
|
-
|
|
1230
|
-
/**
|
|
1231
|
-
* Polyfill of HTMLLabelElement.control
|
|
1232
|
-
* https://html.spec.whatwg.org/multipage/forms.html#labeled-control
|
|
1233
|
-
* @param label
|
|
1234
|
-
*/
|
|
1235
|
-
function getControlOfLabel(label) {
|
|
1236
|
-
if (label.control !== undefined) {
|
|
1237
|
-
return label.control;
|
|
1238
|
-
}
|
|
1239
|
-
var htmlFor = label.getAttribute("for");
|
|
1240
|
-
if (htmlFor !== null) {
|
|
1241
|
-
return label.ownerDocument.getElementById(htmlFor);
|
|
1242
|
-
}
|
|
1243
|
-
return findLabelableElement(label);
|
|
1244
|
-
}
|
|
1245
|
-
|
|
1246
|
-
/**
|
|
1247
|
-
* Polyfill of HTMLInputElement.labels
|
|
1248
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/labels
|
|
1249
|
-
* @param element
|
|
1250
|
-
*/
|
|
1251
|
-
function getLabels(element) {
|
|
1252
|
-
var labelsProperty = element.labels;
|
|
1253
|
-
if (labelsProperty === null) {
|
|
1254
|
-
return labelsProperty;
|
|
1255
|
-
}
|
|
1256
|
-
if (labelsProperty !== undefined) {
|
|
1257
|
-
return arrayFrom(labelsProperty);
|
|
1258
|
-
}
|
|
1259
|
-
|
|
1260
|
-
// polyfill
|
|
1261
|
-
if (!isLabelableElement(element)) {
|
|
1262
|
-
return null;
|
|
1263
|
-
}
|
|
1264
|
-
var document = element.ownerDocument;
|
|
1265
|
-
return arrayFrom(document.querySelectorAll("label")).filter(function (label) {
|
|
1266
|
-
return getControlOfLabel(label) === element;
|
|
1267
|
-
});
|
|
1268
|
-
}
|
|
1269
|
-
|
|
1270
|
-
/**
|
|
1271
|
-
* Gets the contents of a slot used for computing the accname
|
|
1272
|
-
* @param slot
|
|
1273
|
-
*/
|
|
1274
|
-
function getSlotContents(slot) {
|
|
1275
|
-
// Computing the accessible name for elements containing slots is not
|
|
1276
|
-
// currently defined in the spec. This implementation reflects the
|
|
1277
|
-
// behavior of NVDA 2020.2/Firefox 81 and iOS VoiceOver/Safari 13.6.
|
|
1278
|
-
var assignedNodes = slot.assignedNodes();
|
|
1279
|
-
if (assignedNodes.length === 0) {
|
|
1280
|
-
// if no nodes are assigned to the slot, it displays the default content
|
|
1281
|
-
return arrayFrom(slot.childNodes);
|
|
1282
|
-
}
|
|
1283
|
-
return assignedNodes;
|
|
1284
|
-
}
|
|
1285
|
-
|
|
1286
|
-
/**
|
|
1287
|
-
* implements https://w3c.github.io/accname/#mapping_additional_nd_te
|
|
1288
|
-
* @param root
|
|
1289
|
-
* @param options
|
|
1290
|
-
* @returns
|
|
1291
|
-
*/
|
|
1292
|
-
function computeTextAlternative(root) {
|
|
1293
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1294
|
-
var consultedNodes = new SetLike$1();
|
|
1295
|
-
var window = safeWindow(root);
|
|
1296
|
-
var _options$compute = options.compute,
|
|
1297
|
-
compute = _options$compute === void 0 ? "name" : _options$compute,
|
|
1298
|
-
_options$computedStyl = options.computedStyleSupportsPseudoElements,
|
|
1299
|
-
computedStyleSupportsPseudoElements = _options$computedStyl === void 0 ? options.getComputedStyle !== undefined : _options$computedStyl,
|
|
1300
|
-
_options$getComputedS = options.getComputedStyle,
|
|
1301
|
-
getComputedStyle = _options$getComputedS === void 0 ? window.getComputedStyle.bind(window) : _options$getComputedS,
|
|
1302
|
-
_options$hidden = options.hidden,
|
|
1303
|
-
hidden = _options$hidden === void 0 ? false : _options$hidden;
|
|
1304
|
-
|
|
1305
|
-
// 2F.i
|
|
1306
|
-
function computeMiscTextAlternative(node, context) {
|
|
1307
|
-
var accumulatedText = "";
|
|
1308
|
-
if (isElement(node) && computedStyleSupportsPseudoElements) {
|
|
1309
|
-
var pseudoBefore = getComputedStyle(node, "::before");
|
|
1310
|
-
var beforeContent = getTextualContent(pseudoBefore);
|
|
1311
|
-
accumulatedText = "".concat(beforeContent, " ").concat(accumulatedText);
|
|
1312
|
-
}
|
|
1313
|
-
|
|
1314
|
-
// FIXME: Including aria-owns is not defined in the spec
|
|
1315
|
-
// But it is required in the web-platform-test
|
|
1316
|
-
var childNodes = isHTMLSlotElement(node) ? getSlotContents(node) : arrayFrom(node.childNodes).concat(queryIdRefs(node, "aria-owns"));
|
|
1317
|
-
childNodes.forEach(function (child) {
|
|
1318
|
-
var result = computeTextAlternative(child, {
|
|
1319
|
-
isEmbeddedInLabel: context.isEmbeddedInLabel,
|
|
1320
|
-
isReferenced: false,
|
|
1321
|
-
recursion: true
|
|
1322
|
-
});
|
|
1323
|
-
// TODO: Unclear why display affects delimiter
|
|
1324
|
-
// see https://github.com/w3c/accname/issues/3
|
|
1325
|
-
var display = isElement(child) ? getComputedStyle(child).getPropertyValue("display") : "inline";
|
|
1326
|
-
var separator = display !== "inline" ? " " : "";
|
|
1327
|
-
// trailing separator for wpt tests
|
|
1328
|
-
accumulatedText += "".concat(separator).concat(result).concat(separator);
|
|
1329
|
-
});
|
|
1330
|
-
if (isElement(node) && computedStyleSupportsPseudoElements) {
|
|
1331
|
-
var pseudoAfter = getComputedStyle(node, "::after");
|
|
1332
|
-
var afterContent = getTextualContent(pseudoAfter);
|
|
1333
|
-
accumulatedText = "".concat(accumulatedText, " ").concat(afterContent);
|
|
1334
|
-
}
|
|
1335
|
-
return accumulatedText.trim();
|
|
1336
|
-
}
|
|
1337
|
-
|
|
1338
|
-
/**
|
|
1339
|
-
*
|
|
1340
|
-
* @param element
|
|
1341
|
-
* @param attributeName
|
|
1342
|
-
* @returns A string non-empty string or `null`
|
|
1343
|
-
*/
|
|
1344
|
-
function useAttribute(element, attributeName) {
|
|
1345
|
-
var attribute = element.getAttributeNode(attributeName);
|
|
1346
|
-
if (attribute !== null && !consultedNodes.has(attribute) && attribute.value.trim() !== "") {
|
|
1347
|
-
consultedNodes.add(attribute);
|
|
1348
|
-
return attribute.value;
|
|
1349
|
-
}
|
|
1350
|
-
return null;
|
|
1351
|
-
}
|
|
1352
|
-
function computeTooltipAttributeValue(node) {
|
|
1353
|
-
if (!isElement(node)) {
|
|
1354
|
-
return null;
|
|
1355
|
-
}
|
|
1356
|
-
return useAttribute(node, "title");
|
|
1357
|
-
}
|
|
1358
|
-
function computeElementTextAlternative(node) {
|
|
1359
|
-
if (!isElement(node)) {
|
|
1360
|
-
return null;
|
|
1361
|
-
}
|
|
1362
|
-
|
|
1363
|
-
// https://w3c.github.io/html-aam/#fieldset-and-legend-elements
|
|
1364
|
-
if (isHTMLFieldSetElement(node)) {
|
|
1365
|
-
consultedNodes.add(node);
|
|
1366
|
-
var children = arrayFrom(node.childNodes);
|
|
1367
|
-
for (var i = 0; i < children.length; i += 1) {
|
|
1368
|
-
var child = children[i];
|
|
1369
|
-
if (isHTMLLegendElement(child)) {
|
|
1370
|
-
return computeTextAlternative(child, {
|
|
1371
|
-
isEmbeddedInLabel: false,
|
|
1372
|
-
isReferenced: false,
|
|
1373
|
-
recursion: false
|
|
1374
|
-
});
|
|
1375
|
-
}
|
|
1376
|
-
}
|
|
1377
|
-
} else if (isHTMLTableElement(node)) {
|
|
1378
|
-
// https://w3c.github.io/html-aam/#table-element
|
|
1379
|
-
consultedNodes.add(node);
|
|
1380
|
-
var _children = arrayFrom(node.childNodes);
|
|
1381
|
-
for (var _i = 0; _i < _children.length; _i += 1) {
|
|
1382
|
-
var _child = _children[_i];
|
|
1383
|
-
if (isHTMLTableCaptionElement(_child)) {
|
|
1384
|
-
return computeTextAlternative(_child, {
|
|
1385
|
-
isEmbeddedInLabel: false,
|
|
1386
|
-
isReferenced: false,
|
|
1387
|
-
recursion: false
|
|
1388
|
-
});
|
|
1389
|
-
}
|
|
1390
|
-
}
|
|
1391
|
-
} else if (isSVGSVGElement(node)) {
|
|
1392
|
-
// https://www.w3.org/TR/svg-aam-1.0/
|
|
1393
|
-
consultedNodes.add(node);
|
|
1394
|
-
var _children2 = arrayFrom(node.childNodes);
|
|
1395
|
-
for (var _i2 = 0; _i2 < _children2.length; _i2 += 1) {
|
|
1396
|
-
var _child2 = _children2[_i2];
|
|
1397
|
-
if (isSVGTitleElement(_child2)) {
|
|
1398
|
-
return _child2.textContent;
|
|
1399
|
-
}
|
|
1400
|
-
}
|
|
1401
|
-
return null;
|
|
1402
|
-
} else if (getLocalName(node) === "img" || getLocalName(node) === "area") {
|
|
1403
|
-
// https://w3c.github.io/html-aam/#area-element
|
|
1404
|
-
// https://w3c.github.io/html-aam/#img-element
|
|
1405
|
-
var nameFromAlt = useAttribute(node, "alt");
|
|
1406
|
-
if (nameFromAlt !== null) {
|
|
1407
|
-
return nameFromAlt;
|
|
1408
|
-
}
|
|
1409
|
-
} else if (isHTMLOptGroupElement(node)) {
|
|
1410
|
-
var nameFromLabel = useAttribute(node, "label");
|
|
1411
|
-
if (nameFromLabel !== null) {
|
|
1412
|
-
return nameFromLabel;
|
|
1413
|
-
}
|
|
1414
|
-
}
|
|
1415
|
-
if (isHTMLInputElement(node) && (node.type === "button" || node.type === "submit" || node.type === "reset")) {
|
|
1416
|
-
// 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
|
|
1417
|
-
var nameFromValue = useAttribute(node, "value");
|
|
1418
|
-
if (nameFromValue !== null) {
|
|
1419
|
-
return nameFromValue;
|
|
1420
|
-
}
|
|
1421
|
-
|
|
1422
|
-
// TODO: l10n
|
|
1423
|
-
if (node.type === "submit") {
|
|
1424
|
-
return "Submit";
|
|
1425
|
-
}
|
|
1426
|
-
// TODO: l10n
|
|
1427
|
-
if (node.type === "reset") {
|
|
1428
|
-
return "Reset";
|
|
1429
|
-
}
|
|
1430
|
-
}
|
|
1431
|
-
var labels = getLabels(node);
|
|
1432
|
-
if (labels !== null && labels.length !== 0) {
|
|
1433
|
-
consultedNodes.add(node);
|
|
1434
|
-
return arrayFrom(labels).map(function (element) {
|
|
1435
|
-
return computeTextAlternative(element, {
|
|
1436
|
-
isEmbeddedInLabel: true,
|
|
1437
|
-
isReferenced: false,
|
|
1438
|
-
recursion: true
|
|
1439
|
-
});
|
|
1440
|
-
}).filter(function (label) {
|
|
1441
|
-
return label.length > 0;
|
|
1442
|
-
}).join(" ");
|
|
1443
|
-
}
|
|
1444
|
-
|
|
1445
|
-
// https://w3c.github.io/html-aam/#input-type-image-accessible-name-computation
|
|
1446
|
-
// TODO: wpt test consider label elements but html-aam does not mention them
|
|
1447
|
-
// We follow existing implementations over spec
|
|
1448
|
-
if (isHTMLInputElement(node) && node.type === "image") {
|
|
1449
|
-
var _nameFromAlt = useAttribute(node, "alt");
|
|
1450
|
-
if (_nameFromAlt !== null) {
|
|
1451
|
-
return _nameFromAlt;
|
|
1452
|
-
}
|
|
1453
|
-
var nameFromTitle = useAttribute(node, "title");
|
|
1454
|
-
if (nameFromTitle !== null) {
|
|
1455
|
-
return nameFromTitle;
|
|
1456
|
-
}
|
|
1457
|
-
|
|
1458
|
-
// TODO: l10n
|
|
1459
|
-
return "Submit Query";
|
|
1460
|
-
}
|
|
1461
|
-
if (hasAnyConcreteRoles(node, ["button"])) {
|
|
1462
|
-
// https://www.w3.org/TR/html-aam-1.0/#button-element
|
|
1463
|
-
var nameFromSubTree = computeMiscTextAlternative(node, {
|
|
1464
|
-
isEmbeddedInLabel: false});
|
|
1465
|
-
if (nameFromSubTree !== "") {
|
|
1466
|
-
return nameFromSubTree;
|
|
1467
|
-
}
|
|
1468
|
-
}
|
|
1469
|
-
return null;
|
|
1470
|
-
}
|
|
1471
|
-
function computeTextAlternative(current, context) {
|
|
1472
|
-
if (consultedNodes.has(current)) {
|
|
1473
|
-
return "";
|
|
1474
|
-
}
|
|
1475
|
-
|
|
1476
|
-
// 2A
|
|
1477
|
-
if (!hidden && isHidden(current, getComputedStyle) && !context.isReferenced) {
|
|
1478
|
-
consultedNodes.add(current);
|
|
1479
|
-
return "";
|
|
1480
|
-
}
|
|
1481
|
-
|
|
1482
|
-
// 2B
|
|
1483
|
-
var labelAttributeNode = isElement(current) ? current.getAttributeNode("aria-labelledby") : null;
|
|
1484
|
-
// TODO: Do we generally need to block query IdRefs of attributes we have already consulted?
|
|
1485
|
-
var labelElements = labelAttributeNode !== null && !consultedNodes.has(labelAttributeNode) ? queryIdRefs(current, "aria-labelledby") : [];
|
|
1486
|
-
if (compute === "name" && !context.isReferenced && labelElements.length > 0) {
|
|
1487
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- Can't be null here otherwise labelElements would be empty
|
|
1488
|
-
consultedNodes.add(labelAttributeNode);
|
|
1489
|
-
return labelElements.map(function (element) {
|
|
1490
|
-
// TODO: Chrome will consider repeated values i.e. use a node multiple times while we'll bail out in computeTextAlternative.
|
|
1491
|
-
return computeTextAlternative(element, {
|
|
1492
|
-
isEmbeddedInLabel: context.isEmbeddedInLabel,
|
|
1493
|
-
isReferenced: true,
|
|
1494
|
-
// this isn't recursion as specified, otherwise we would skip
|
|
1495
|
-
// `aria-label` in
|
|
1496
|
-
// <input id="myself" aria-label="foo" aria-labelledby="myself"
|
|
1497
|
-
recursion: false
|
|
1498
|
-
});
|
|
1499
|
-
}).join(" ");
|
|
1500
|
-
}
|
|
1501
|
-
|
|
1502
|
-
// 2C
|
|
1503
|
-
// Changed from the spec in anticipation of https://github.com/w3c/accname/issues/64
|
|
1504
|
-
// spec says we should only consider skipping if we have a non-empty label
|
|
1505
|
-
var skipToStep2E = context.recursion && isControl(current) && compute === "name";
|
|
1506
|
-
if (!skipToStep2E) {
|
|
1507
|
-
var ariaLabel = (isElement(current) && current.getAttribute("aria-label") || "").trim();
|
|
1508
|
-
if (ariaLabel !== "" && compute === "name") {
|
|
1509
|
-
consultedNodes.add(current);
|
|
1510
|
-
return ariaLabel;
|
|
1511
|
-
}
|
|
1512
|
-
|
|
1513
|
-
// 2D
|
|
1514
|
-
if (!isMarkedPresentational(current)) {
|
|
1515
|
-
var elementTextAlternative = computeElementTextAlternative(current);
|
|
1516
|
-
if (elementTextAlternative !== null) {
|
|
1517
|
-
consultedNodes.add(current);
|
|
1518
|
-
return elementTextAlternative;
|
|
1519
|
-
}
|
|
1520
|
-
}
|
|
1521
|
-
}
|
|
1522
|
-
|
|
1523
|
-
// special casing, cheating to make tests pass
|
|
1524
|
-
// https://github.com/w3c/accname/issues/67
|
|
1525
|
-
if (hasAnyConcreteRoles(current, ["menu"])) {
|
|
1526
|
-
consultedNodes.add(current);
|
|
1527
|
-
return "";
|
|
1528
|
-
}
|
|
1529
|
-
|
|
1530
|
-
// 2E
|
|
1531
|
-
if (skipToStep2E || context.isEmbeddedInLabel || context.isReferenced) {
|
|
1532
|
-
if (hasAnyConcreteRoles(current, ["combobox", "listbox"])) {
|
|
1533
|
-
consultedNodes.add(current);
|
|
1534
|
-
var selectedOptions = querySelectedOptions(current);
|
|
1535
|
-
if (selectedOptions.length === 0) {
|
|
1536
|
-
// defined per test `name_heading_combobox`
|
|
1537
|
-
return isHTMLInputElement(current) ? current.value : "";
|
|
1538
|
-
}
|
|
1539
|
-
return arrayFrom(selectedOptions).map(function (selectedOption) {
|
|
1540
|
-
return computeTextAlternative(selectedOption, {
|
|
1541
|
-
isEmbeddedInLabel: context.isEmbeddedInLabel,
|
|
1542
|
-
isReferenced: false,
|
|
1543
|
-
recursion: true
|
|
1544
|
-
});
|
|
1545
|
-
}).join(" ");
|
|
1546
|
-
}
|
|
1547
|
-
if (hasAbstractRole(current, "range")) {
|
|
1548
|
-
consultedNodes.add(current);
|
|
1549
|
-
if (current.hasAttribute("aria-valuetext")) {
|
|
1550
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard
|
|
1551
|
-
return current.getAttribute("aria-valuetext");
|
|
1552
|
-
}
|
|
1553
|
-
if (current.hasAttribute("aria-valuenow")) {
|
|
1554
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- safe due to hasAttribute guard
|
|
1555
|
-
return current.getAttribute("aria-valuenow");
|
|
1556
|
-
}
|
|
1557
|
-
// Otherwise, use the value as specified by a host language attribute.
|
|
1558
|
-
return current.getAttribute("value") || "";
|
|
1559
|
-
}
|
|
1560
|
-
if (hasAnyConcreteRoles(current, ["textbox"])) {
|
|
1561
|
-
consultedNodes.add(current);
|
|
1562
|
-
return getValueOfTextbox(current);
|
|
1563
|
-
}
|
|
1564
|
-
}
|
|
1565
|
-
|
|
1566
|
-
// 2F: https://w3c.github.io/accname/#step2F
|
|
1567
|
-
if (allowsNameFromContent(current) || isElement(current) && context.isReferenced || isNativeHostLanguageTextAlternativeElement(current) || isDescendantOfNativeHostLanguageTextAlternativeElement()) {
|
|
1568
|
-
var accumulatedText2F = computeMiscTextAlternative(current, {
|
|
1569
|
-
isEmbeddedInLabel: context.isEmbeddedInLabel});
|
|
1570
|
-
if (accumulatedText2F !== "") {
|
|
1571
|
-
consultedNodes.add(current);
|
|
1572
|
-
return accumulatedText2F;
|
|
1573
|
-
}
|
|
1574
|
-
}
|
|
1575
|
-
if (current.nodeType === current.TEXT_NODE) {
|
|
1576
|
-
consultedNodes.add(current);
|
|
1577
|
-
return current.textContent || "";
|
|
1578
|
-
}
|
|
1579
|
-
if (context.recursion) {
|
|
1580
|
-
consultedNodes.add(current);
|
|
1581
|
-
return computeMiscTextAlternative(current, {
|
|
1582
|
-
isEmbeddedInLabel: context.isEmbeddedInLabel});
|
|
1583
|
-
}
|
|
1584
|
-
var tooltipAttributeValue = computeTooltipAttributeValue(current);
|
|
1585
|
-
if (tooltipAttributeValue !== null) {
|
|
1586
|
-
consultedNodes.add(current);
|
|
1587
|
-
return tooltipAttributeValue;
|
|
1588
|
-
}
|
|
1589
|
-
|
|
1590
|
-
// TODO should this be reachable?
|
|
1591
|
-
consultedNodes.add(current);
|
|
1592
|
-
return "";
|
|
1593
|
-
}
|
|
1594
|
-
return asFlatString(computeTextAlternative(root, {
|
|
1595
|
-
isEmbeddedInLabel: false,
|
|
1596
|
-
// by spec computeAccessibleDescription starts with the referenced elements as roots
|
|
1597
|
-
isReferenced: compute === "description",
|
|
1598
|
-
recursion: false
|
|
1599
|
-
}));
|
|
1600
|
-
}
|
|
1601
|
-
|
|
1602
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
1603
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1604
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1605
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
1606
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
1607
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
1608
|
-
|
|
1609
|
-
/**
|
|
1610
|
-
* @param root
|
|
1611
|
-
* @param options
|
|
1612
|
-
* @returns
|
|
1613
|
-
*/
|
|
1614
|
-
function computeAccessibleDescription(root) {
|
|
1615
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1616
|
-
var description = queryIdRefs(root, "aria-describedby").map(function (element) {
|
|
1617
|
-
return computeTextAlternative(element, _objectSpread(_objectSpread({}, options), {}, {
|
|
1618
|
-
compute: "description"
|
|
1619
|
-
}));
|
|
1620
|
-
}).join(" ");
|
|
1621
|
-
|
|
1622
|
-
// TODO: Technically we need to make sure that node wasn't used for the accessible name
|
|
1623
|
-
// This causes `description_1.0_combobox-focusable-manual` to fail
|
|
1624
|
-
|
|
1625
|
-
// https://w3c.github.io/aria/#aria-description
|
|
1626
|
-
// mentions that aria-description should only be calculated if aria-describedby didn't provide
|
|
1627
|
-
// a description
|
|
1628
|
-
if (description === "") {
|
|
1629
|
-
var ariaDescription = root.getAttribute("aria-description");
|
|
1630
|
-
description = ariaDescription === null ? "" : ariaDescription;
|
|
1631
|
-
}
|
|
1632
|
-
|
|
1633
|
-
// https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation
|
|
1634
|
-
// says for so many elements to use the `title` that we assume all elements are considered
|
|
1635
|
-
if (description === "") {
|
|
1636
|
-
var title = root.getAttribute("title");
|
|
1637
|
-
description = title === null ? "" : title;
|
|
1638
|
-
}
|
|
1639
|
-
return description;
|
|
1640
|
-
}
|
|
1641
|
-
|
|
1642
|
-
/**
|
|
1643
|
-
* https://w3c.github.io/aria/#namefromprohibited
|
|
1644
|
-
*/
|
|
1645
|
-
function prohibitsNaming(node) {
|
|
1646
|
-
return hasAnyConcreteRoles(node, ["caption", "code", "deletion", "emphasis", "generic", "insertion", "none", "paragraph", "presentation", "strong", "subscript", "superscript"]);
|
|
1647
|
-
}
|
|
1648
|
-
|
|
1649
|
-
/**
|
|
1650
|
-
* implements https://w3c.github.io/accname/#mapping_additional_nd_name
|
|
1651
|
-
* @param root
|
|
1652
|
-
* @param options
|
|
1653
|
-
* @returns
|
|
1654
|
-
*/
|
|
1655
|
-
function computeAccessibleName(root) {
|
|
1656
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1657
|
-
if (prohibitsNaming(root)) {
|
|
1658
|
-
return "";
|
|
1659
|
-
}
|
|
1660
|
-
return computeTextAlternative(root, options);
|
|
1661
|
-
}
|
|
1662
|
-
|
|
1663
|
-
var picocolors = {exports: {}};
|
|
1664
|
-
|
|
1665
|
-
var hasRequiredPicocolors;
|
|
1666
|
-
|
|
1667
|
-
function requirePicocolors () {
|
|
1668
|
-
if (hasRequiredPicocolors) return picocolors.exports;
|
|
1669
|
-
hasRequiredPicocolors = 1;
|
|
1670
|
-
let p = process || {}, argv = p.argv || [], env = p.env || {};
|
|
1671
|
-
let isColorSupported =
|
|
1672
|
-
!(!!env.NO_COLOR || argv.includes("--no-color")) &&
|
|
1673
|
-
(!!env.FORCE_COLOR || argv.includes("--color") || p.platform === "win32" || ((p.stdout || {}).isTTY && env.TERM !== "dumb") || !!env.CI);
|
|
1674
|
-
|
|
1675
|
-
let formatter = (open, close, replace = open) =>
|
|
1676
|
-
input => {
|
|
1677
|
-
let string = "" + input, index = string.indexOf(close, open.length);
|
|
1678
|
-
return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close
|
|
1679
|
-
};
|
|
1680
|
-
|
|
1681
|
-
let replaceClose = (string, close, replace, index) => {
|
|
1682
|
-
let result = "", cursor = 0;
|
|
1683
|
-
do {
|
|
1684
|
-
result += string.substring(cursor, index) + replace;
|
|
1685
|
-
cursor = index + close.length;
|
|
1686
|
-
index = string.indexOf(close, cursor);
|
|
1687
|
-
} while (~index)
|
|
1688
|
-
return result + string.substring(cursor)
|
|
1689
|
-
};
|
|
1690
|
-
|
|
1691
|
-
let createColors = (enabled = isColorSupported) => {
|
|
1692
|
-
let f = enabled ? formatter : () => String;
|
|
1693
|
-
return {
|
|
1694
|
-
isColorSupported: enabled,
|
|
1695
|
-
reset: f("\x1b[0m", "\x1b[0m"),
|
|
1696
|
-
bold: f("\x1b[1m", "\x1b[22m", "\x1b[22m\x1b[1m"),
|
|
1697
|
-
dim: f("\x1b[2m", "\x1b[22m", "\x1b[22m\x1b[2m"),
|
|
1698
|
-
italic: f("\x1b[3m", "\x1b[23m"),
|
|
1699
|
-
underline: f("\x1b[4m", "\x1b[24m"),
|
|
1700
|
-
inverse: f("\x1b[7m", "\x1b[27m"),
|
|
1701
|
-
hidden: f("\x1b[8m", "\x1b[28m"),
|
|
1702
|
-
strikethrough: f("\x1b[9m", "\x1b[29m"),
|
|
1703
|
-
|
|
1704
|
-
black: f("\x1b[30m", "\x1b[39m"),
|
|
1705
|
-
red: f("\x1b[31m", "\x1b[39m"),
|
|
1706
|
-
green: f("\x1b[32m", "\x1b[39m"),
|
|
1707
|
-
yellow: f("\x1b[33m", "\x1b[39m"),
|
|
1708
|
-
blue: f("\x1b[34m", "\x1b[39m"),
|
|
1709
|
-
magenta: f("\x1b[35m", "\x1b[39m"),
|
|
1710
|
-
cyan: f("\x1b[36m", "\x1b[39m"),
|
|
1711
|
-
white: f("\x1b[37m", "\x1b[39m"),
|
|
1712
|
-
gray: f("\x1b[90m", "\x1b[39m"),
|
|
1713
|
-
|
|
1714
|
-
bgBlack: f("\x1b[40m", "\x1b[49m"),
|
|
1715
|
-
bgRed: f("\x1b[41m", "\x1b[49m"),
|
|
1716
|
-
bgGreen: f("\x1b[42m", "\x1b[49m"),
|
|
1717
|
-
bgYellow: f("\x1b[43m", "\x1b[49m"),
|
|
1718
|
-
bgBlue: f("\x1b[44m", "\x1b[49m"),
|
|
1719
|
-
bgMagenta: f("\x1b[45m", "\x1b[49m"),
|
|
1720
|
-
bgCyan: f("\x1b[46m", "\x1b[49m"),
|
|
1721
|
-
bgWhite: f("\x1b[47m", "\x1b[49m"),
|
|
1722
|
-
|
|
1723
|
-
blackBright: f("\x1b[90m", "\x1b[39m"),
|
|
1724
|
-
redBright: f("\x1b[91m", "\x1b[39m"),
|
|
1725
|
-
greenBright: f("\x1b[92m", "\x1b[39m"),
|
|
1726
|
-
yellowBright: f("\x1b[93m", "\x1b[39m"),
|
|
1727
|
-
blueBright: f("\x1b[94m", "\x1b[39m"),
|
|
1728
|
-
magentaBright: f("\x1b[95m", "\x1b[39m"),
|
|
1729
|
-
cyanBright: f("\x1b[96m", "\x1b[39m"),
|
|
1730
|
-
whiteBright: f("\x1b[97m", "\x1b[39m"),
|
|
1731
|
-
|
|
1732
|
-
bgBlackBright: f("\x1b[100m", "\x1b[49m"),
|
|
1733
|
-
bgRedBright: f("\x1b[101m", "\x1b[49m"),
|
|
1734
|
-
bgGreenBright: f("\x1b[102m", "\x1b[49m"),
|
|
1735
|
-
bgYellowBright: f("\x1b[103m", "\x1b[49m"),
|
|
1736
|
-
bgBlueBright: f("\x1b[104m", "\x1b[49m"),
|
|
1737
|
-
bgMagentaBright: f("\x1b[105m", "\x1b[49m"),
|
|
1738
|
-
bgCyanBright: f("\x1b[106m", "\x1b[49m"),
|
|
1739
|
-
bgWhiteBright: f("\x1b[107m", "\x1b[49m"),
|
|
1740
|
-
}
|
|
1741
|
-
};
|
|
1742
|
-
|
|
1743
|
-
picocolors.exports = createColors();
|
|
1744
|
-
picocolors.exports.createColors = createColors;
|
|
1745
|
-
return picocolors.exports;
|
|
1746
|
-
}
|
|
1747
|
-
|
|
1748
|
-
var picocolorsExports = /*@__PURE__*/ requirePicocolors();
|
|
1749
|
-
var pico = /*@__PURE__*/getDefaultExportFromCjs(picocolorsExports);
|
|
1750
|
-
|
|
1751
|
-
var css_escape$1 = {exports: {}};
|
|
1752
|
-
|
|
1753
|
-
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */
|
|
1754
|
-
var css_escape = css_escape$1.exports;
|
|
1755
|
-
|
|
1756
|
-
var hasRequiredCss_escape;
|
|
1757
|
-
|
|
1758
|
-
function requireCss_escape () {
|
|
1759
|
-
if (hasRequiredCss_escape) return css_escape$1.exports;
|
|
1760
|
-
hasRequiredCss_escape = 1;
|
|
1761
|
-
(function (module, exports$1) {
|
|
1762
|
-
(function(root, factory) {
|
|
1763
|
-
// https://github.com/umdjs/umd/blob/master/returnExports.js
|
|
1764
|
-
{
|
|
1765
|
-
// For Node.js.
|
|
1766
|
-
module.exports = factory(root);
|
|
1767
|
-
}
|
|
1768
|
-
}(typeof commonjsGlobal != 'undefined' ? commonjsGlobal : css_escape, function(root) {
|
|
1769
|
-
|
|
1770
|
-
if (root.CSS && root.CSS.escape) {
|
|
1771
|
-
return root.CSS.escape;
|
|
1772
|
-
}
|
|
1773
|
-
|
|
1774
|
-
// https://drafts.csswg.org/cssom/#serialize-an-identifier
|
|
1775
|
-
var cssEscape = function(value) {
|
|
1776
|
-
if (arguments.length == 0) {
|
|
1777
|
-
throw new TypeError('`CSS.escape` requires an argument.');
|
|
1778
|
-
}
|
|
1779
|
-
var string = String(value);
|
|
1780
|
-
var length = string.length;
|
|
1781
|
-
var index = -1;
|
|
1782
|
-
var codeUnit;
|
|
1783
|
-
var result = '';
|
|
1784
|
-
var firstCodeUnit = string.charCodeAt(0);
|
|
1785
|
-
while (++index < length) {
|
|
1786
|
-
codeUnit = string.charCodeAt(index);
|
|
1787
|
-
// Note: there’s no need to special-case astral symbols, surrogate
|
|
1788
|
-
// pairs, or lone surrogates.
|
|
1789
|
-
|
|
1790
|
-
// If the character is NULL (U+0000), then the REPLACEMENT CHARACTER
|
|
1791
|
-
// (U+FFFD).
|
|
1792
|
-
if (codeUnit == 0x0000) {
|
|
1793
|
-
result += '\uFFFD';
|
|
1794
|
-
continue;
|
|
1795
|
-
}
|
|
1796
|
-
|
|
1797
|
-
if (
|
|
1798
|
-
// If the character is in the range [\1-\1F] (U+0001 to U+001F) or is
|
|
1799
|
-
// U+007F, […]
|
|
1800
|
-
(codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||
|
|
1801
|
-
// If the character is the first character and is in the range [0-9]
|
|
1802
|
-
// (U+0030 to U+0039), […]
|
|
1803
|
-
(index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||
|
|
1804
|
-
// If the character is the second character and is in the range [0-9]
|
|
1805
|
-
// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]
|
|
1806
|
-
(
|
|
1807
|
-
index == 1 &&
|
|
1808
|
-
codeUnit >= 0x0030 && codeUnit <= 0x0039 &&
|
|
1809
|
-
firstCodeUnit == 0x002D
|
|
1810
|
-
)
|
|
1811
|
-
) {
|
|
1812
|
-
// https://drafts.csswg.org/cssom/#escape-a-character-as-code-point
|
|
1813
|
-
result += '\\' + codeUnit.toString(16) + ' ';
|
|
1814
|
-
continue;
|
|
1815
|
-
}
|
|
1816
|
-
|
|
1817
|
-
if (
|
|
1818
|
-
// If the character is the first character and is a `-` (U+002D), and
|
|
1819
|
-
// there is no second character, […]
|
|
1820
|
-
index == 0 &&
|
|
1821
|
-
length == 1 &&
|
|
1822
|
-
codeUnit == 0x002D
|
|
1823
|
-
) {
|
|
1824
|
-
result += '\\' + string.charAt(index);
|
|
1825
|
-
continue;
|
|
1826
|
-
}
|
|
1827
|
-
|
|
1828
|
-
// If the character is not handled by one of the above rules and is
|
|
1829
|
-
// greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or
|
|
1830
|
-
// is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to
|
|
1831
|
-
// U+005A), or [a-z] (U+0061 to U+007A), […]
|
|
1832
|
-
if (
|
|
1833
|
-
codeUnit >= 0x0080 ||
|
|
1834
|
-
codeUnit == 0x002D ||
|
|
1835
|
-
codeUnit == 0x005F ||
|
|
1836
|
-
codeUnit >= 0x0030 && codeUnit <= 0x0039 ||
|
|
1837
|
-
codeUnit >= 0x0041 && codeUnit <= 0x005A ||
|
|
1838
|
-
codeUnit >= 0x0061 && codeUnit <= 0x007A
|
|
1839
|
-
) {
|
|
1840
|
-
// the character itself
|
|
1841
|
-
result += string.charAt(index);
|
|
1842
|
-
continue;
|
|
1843
|
-
}
|
|
1844
|
-
|
|
1845
|
-
// Otherwise, the escaped character.
|
|
1846
|
-
// https://drafts.csswg.org/cssom/#escape-a-character
|
|
1847
|
-
result += '\\' + string.charAt(index);
|
|
1848
|
-
|
|
1849
|
-
}
|
|
1850
|
-
return result;
|
|
1851
|
-
};
|
|
1852
|
-
|
|
1853
|
-
if (!root.CSS) {
|
|
1854
|
-
root.CSS = {};
|
|
1855
|
-
}
|
|
1856
|
-
|
|
1857
|
-
root.CSS.escape = cssEscape;
|
|
1858
|
-
return cssEscape;
|
|
1859
|
-
|
|
1860
|
-
}));
|
|
1861
|
-
} (css_escape$1));
|
|
1862
|
-
return css_escape$1.exports;
|
|
1863
|
-
}
|
|
1864
|
-
|
|
1865
|
-
var css_escapeExports = requireCss_escape();
|
|
1866
|
-
var escape = /*@__PURE__*/getDefaultExportFromCjs(css_escapeExports);
|
|
1867
|
-
|
|
1868
|
-
class GenericTypeError extends Error {
|
|
1869
|
-
constructor(expectedString, received, matcherFn, context) {
|
|
1870
|
-
super();
|
|
1871
|
-
|
|
1872
|
-
/* istanbul ignore next */
|
|
1873
|
-
if (Error.captureStackTrace) {
|
|
1874
|
-
Error.captureStackTrace(this, matcherFn);
|
|
1875
|
-
}
|
|
1876
|
-
let withType = '';
|
|
1877
|
-
try {
|
|
1878
|
-
withType = context.utils.printWithType(
|
|
1879
|
-
'Received',
|
|
1880
|
-
received,
|
|
1881
|
-
context.utils.printReceived,
|
|
1882
|
-
);
|
|
1883
|
-
} catch (e) {
|
|
1884
|
-
// Can throw for Document:
|
|
1885
|
-
// https://github.com/jsdom/jsdom/issues/2304
|
|
1886
|
-
}
|
|
1887
|
-
this.message = [
|
|
1888
|
-
context.utils.matcherHint(
|
|
1889
|
-
`${context.isNot ? '.not' : ''}.${matcherFn.name}`,
|
|
1890
|
-
'received',
|
|
1891
|
-
'',
|
|
1892
|
-
),
|
|
1893
|
-
'',
|
|
1894
|
-
// eslint-disable-next-line new-cap
|
|
1895
|
-
`${context.utils.RECEIVED_COLOR(
|
|
1896
|
-
'received',
|
|
1897
|
-
)} value must ${expectedString}.`,
|
|
1898
|
-
withType,
|
|
1899
|
-
].join('\n');
|
|
1900
|
-
}
|
|
1901
|
-
}
|
|
1902
|
-
|
|
1903
|
-
class HtmlElementTypeError extends GenericTypeError {
|
|
1904
|
-
constructor(...args) {
|
|
1905
|
-
super('be an HTMLElement or an SVGElement', ...args);
|
|
1906
|
-
}
|
|
1907
|
-
}
|
|
1908
|
-
|
|
1909
|
-
class NodeTypeError extends GenericTypeError {
|
|
1910
|
-
constructor(...args) {
|
|
1911
|
-
super('be a Node', ...args);
|
|
1912
|
-
}
|
|
1913
|
-
}
|
|
1914
|
-
|
|
1915
|
-
function checkHasWindow(htmlElement, ErrorClass, ...args) {
|
|
1916
|
-
if (
|
|
1917
|
-
!htmlElement ||
|
|
1918
|
-
!htmlElement.ownerDocument ||
|
|
1919
|
-
!htmlElement.ownerDocument.defaultView
|
|
1920
|
-
) {
|
|
1921
|
-
throw new ErrorClass(htmlElement, ...args)
|
|
1922
|
-
}
|
|
1923
|
-
}
|
|
1924
|
-
|
|
1925
|
-
function checkNode(node, ...args) {
|
|
1926
|
-
checkHasWindow(node, NodeTypeError, ...args);
|
|
1927
|
-
const window = node.ownerDocument.defaultView;
|
|
1928
|
-
|
|
1929
|
-
if (!(node instanceof window.Node)) {
|
|
1930
|
-
throw new NodeTypeError(node, ...args)
|
|
1931
|
-
}
|
|
1932
|
-
}
|
|
1933
|
-
|
|
1934
|
-
function checkHtmlElement(htmlElement, ...args) {
|
|
1935
|
-
checkHasWindow(htmlElement, HtmlElementTypeError, ...args);
|
|
1936
|
-
const window = htmlElement.ownerDocument.defaultView;
|
|
1937
|
-
|
|
1938
|
-
if (
|
|
1939
|
-
!(htmlElement instanceof window.HTMLElement) &&
|
|
1940
|
-
!(htmlElement instanceof window.SVGElement)
|
|
1941
|
-
) {
|
|
1942
|
-
throw new HtmlElementTypeError(htmlElement, ...args)
|
|
1943
|
-
}
|
|
1944
|
-
}
|
|
1945
|
-
|
|
1946
|
-
class InvalidCSSError extends Error {
|
|
1947
|
-
constructor(received, matcherFn, context) {
|
|
1948
|
-
super();
|
|
1949
|
-
|
|
1950
|
-
/* istanbul ignore next */
|
|
1951
|
-
if (Error.captureStackTrace) {
|
|
1952
|
-
Error.captureStackTrace(this, matcherFn);
|
|
1953
|
-
}
|
|
1954
|
-
this.message = [
|
|
1955
|
-
received.message,
|
|
1956
|
-
'',
|
|
1957
|
-
// eslint-disable-next-line new-cap
|
|
1958
|
-
context.utils.RECEIVED_COLOR(`Failing css:`),
|
|
1959
|
-
// eslint-disable-next-line new-cap
|
|
1960
|
-
context.utils.RECEIVED_COLOR(`${received.css}`),
|
|
1961
|
-
].join('\n');
|
|
1962
|
-
}
|
|
1963
|
-
}
|
|
1964
|
-
|
|
1965
|
-
function parseCSS(css, ...args) {
|
|
1966
|
-
const ast = $149c1bd638913645$export$98e6a39c04603d36(`selector { ${css} }`, {silent: true}).stylesheet;
|
|
1967
|
-
|
|
1968
|
-
if (ast.parsingErrors && ast.parsingErrors.length > 0) {
|
|
1969
|
-
const {reason, line} = ast.parsingErrors[0];
|
|
1970
|
-
|
|
1971
|
-
throw new InvalidCSSError(
|
|
1972
|
-
{
|
|
1973
|
-
css,
|
|
1974
|
-
message: `Syntax error parsing expected css: ${reason} on line: ${line}`,
|
|
1975
|
-
},
|
|
1976
|
-
...args,
|
|
1977
|
-
)
|
|
1978
|
-
}
|
|
1979
|
-
|
|
1980
|
-
const parsedRules = ast.rules[0].declarations
|
|
1981
|
-
.filter(d => d.type === 'declaration')
|
|
1982
|
-
.reduce(
|
|
1983
|
-
(obj, {property, value}) => Object.assign(obj, {[property]: value}),
|
|
1984
|
-
{},
|
|
1985
|
-
);
|
|
1986
|
-
return parsedRules
|
|
1987
|
-
}
|
|
1988
|
-
|
|
1989
|
-
function display(context, value) {
|
|
1990
|
-
return typeof value === 'string' ? value : context.utils.stringify(value)
|
|
1991
|
-
}
|
|
1992
|
-
|
|
1993
|
-
function getMessage(
|
|
1994
|
-
context,
|
|
1995
|
-
matcher,
|
|
1996
|
-
expectedLabel,
|
|
1997
|
-
expectedValue,
|
|
1998
|
-
receivedLabel,
|
|
1999
|
-
receivedValue,
|
|
2000
|
-
) {
|
|
2001
|
-
return [
|
|
2002
|
-
`${matcher}\n`,
|
|
2003
|
-
// eslint-disable-next-line new-cap
|
|
2004
|
-
`${expectedLabel}:\n${context.utils.EXPECTED_COLOR(
|
|
2005
|
-
redent(display(context, expectedValue), 2),
|
|
2006
|
-
)}`,
|
|
2007
|
-
// eslint-disable-next-line new-cap
|
|
2008
|
-
`${receivedLabel}:\n${context.utils.RECEIVED_COLOR(
|
|
2009
|
-
redent(display(context, receivedValue), 2),
|
|
2010
|
-
)}`,
|
|
2011
|
-
].join('\n')
|
|
2012
|
-
}
|
|
2013
|
-
|
|
2014
|
-
function matches(textToMatch, matcher) {
|
|
2015
|
-
if (matcher instanceof RegExp) {
|
|
2016
|
-
return matcher.test(textToMatch)
|
|
2017
|
-
} else {
|
|
2018
|
-
return textToMatch.includes(String(matcher))
|
|
2019
|
-
}
|
|
2020
|
-
}
|
|
2021
|
-
|
|
2022
|
-
function deprecate(name, replacementText) {
|
|
2023
|
-
// Notify user that they are using deprecated functionality.
|
|
2024
|
-
// eslint-disable-next-line no-console
|
|
2025
|
-
console.warn(
|
|
2026
|
-
`Warning: ${name} has been deprecated and will be removed in future updates.`,
|
|
2027
|
-
replacementText,
|
|
2028
|
-
);
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
|
-
function normalize(text) {
|
|
2032
|
-
return text.replace(/\s+/g, ' ').trim()
|
|
2033
|
-
}
|
|
2034
|
-
|
|
2035
|
-
function getTag(element) {
|
|
2036
|
-
return element.tagName && element.tagName.toLowerCase()
|
|
2037
|
-
}
|
|
2038
|
-
|
|
2039
|
-
function getSelectValue({multiple, options}) {
|
|
2040
|
-
const selectedOptions = [...options].filter(option => option.selected);
|
|
2041
|
-
|
|
2042
|
-
if (multiple) {
|
|
2043
|
-
return [...selectedOptions].map(opt => opt.value)
|
|
2044
|
-
}
|
|
2045
|
-
/* istanbul ignore if */
|
|
2046
|
-
if (selectedOptions.length === 0) {
|
|
2047
|
-
return undefined // Couldn't make this happen, but just in case
|
|
2048
|
-
}
|
|
2049
|
-
return selectedOptions[0].value
|
|
2050
|
-
}
|
|
2051
|
-
|
|
2052
|
-
function getInputValue(inputElement) {
|
|
2053
|
-
switch (inputElement.type) {
|
|
2054
|
-
case 'number':
|
|
2055
|
-
return inputElement.value === '' ? null : Number(inputElement.value)
|
|
2056
|
-
case 'checkbox':
|
|
2057
|
-
return inputElement.checked
|
|
2058
|
-
default:
|
|
2059
|
-
return inputElement.value
|
|
2060
|
-
}
|
|
2061
|
-
}
|
|
2062
|
-
|
|
2063
|
-
const rolesSupportingValues = ['meter', 'progressbar', 'slider', 'spinbutton'];
|
|
2064
|
-
function getAccessibleValue(element) {
|
|
2065
|
-
if (!rolesSupportingValues.includes(element.getAttribute('role'))) {
|
|
2066
|
-
return undefined
|
|
2067
|
-
}
|
|
2068
|
-
return Number(element.getAttribute('aria-valuenow'))
|
|
2069
|
-
}
|
|
2070
|
-
|
|
2071
|
-
function getSingleElementValue(element) {
|
|
2072
|
-
/* istanbul ignore if */
|
|
2073
|
-
if (!element) {
|
|
2074
|
-
return undefined
|
|
2075
|
-
}
|
|
2076
|
-
|
|
2077
|
-
switch (element.tagName.toLowerCase()) {
|
|
2078
|
-
case 'input':
|
|
2079
|
-
return getInputValue(element)
|
|
2080
|
-
case 'select':
|
|
2081
|
-
return getSelectValue(element)
|
|
2082
|
-
default: {
|
|
2083
|
-
return element.value ?? getAccessibleValue(element)
|
|
2084
|
-
}
|
|
2085
|
-
}
|
|
2086
|
-
}
|
|
2087
|
-
|
|
2088
|
-
function toSentence(
|
|
2089
|
-
array,
|
|
2090
|
-
{wordConnector = ', ', lastWordConnector = ' and '} = {},
|
|
2091
|
-
) {
|
|
2092
|
-
return [array.slice(0, -1).join(wordConnector), array[array.length - 1]].join(
|
|
2093
|
-
array.length > 1 ? lastWordConnector : '',
|
|
2094
|
-
)
|
|
2095
|
-
}
|
|
2096
|
-
|
|
2097
|
-
function compareAsSet(val1, val2) {
|
|
2098
|
-
if (Array.isArray(val1) && Array.isArray(val2)) {
|
|
2099
|
-
return [...new Set(val1)].every(v => new Set(val2).has(v))
|
|
2100
|
-
}
|
|
2101
|
-
return val1 === val2
|
|
2102
|
-
}
|
|
2103
|
-
|
|
2104
|
-
function toBeInTheDOM(element, container) {
|
|
2105
|
-
deprecate(
|
|
2106
|
-
'toBeInTheDOM',
|
|
2107
|
-
'Please use toBeInTheDocument for searching the entire document and toContainElement for searching a specific container.',
|
|
2108
|
-
);
|
|
2109
|
-
|
|
2110
|
-
if (element) {
|
|
2111
|
-
checkHtmlElement(element, toBeInTheDOM, this);
|
|
2112
|
-
}
|
|
2113
|
-
|
|
2114
|
-
if (container) {
|
|
2115
|
-
checkHtmlElement(container, toBeInTheDOM, this);
|
|
2116
|
-
}
|
|
2117
|
-
|
|
2118
|
-
return {
|
|
2119
|
-
pass: container ? container.contains(element) : !!element,
|
|
2120
|
-
message: () => {
|
|
2121
|
-
return [
|
|
2122
|
-
this.utils.matcherHint(
|
|
2123
|
-
`${this.isNot ? '.not' : ''}.toBeInTheDOM`,
|
|
2124
|
-
'element',
|
|
2125
|
-
'',
|
|
2126
|
-
),
|
|
2127
|
-
'',
|
|
2128
|
-
'Received:',
|
|
2129
|
-
` ${this.utils.printReceived(
|
|
2130
|
-
element ? element.cloneNode(false) : element,
|
|
2131
|
-
)}`,
|
|
2132
|
-
].join('\n')
|
|
2133
|
-
},
|
|
2134
|
-
}
|
|
2135
|
-
}
|
|
2136
|
-
|
|
2137
|
-
function toBeInTheDocument(element) {
|
|
2138
|
-
if (element !== null || !this.isNot) {
|
|
2139
|
-
checkHtmlElement(element, toBeInTheDocument, this);
|
|
2140
|
-
}
|
|
2141
|
-
|
|
2142
|
-
const pass =
|
|
2143
|
-
element === null
|
|
2144
|
-
? false
|
|
2145
|
-
: element.ownerDocument === element.getRootNode({composed: true});
|
|
2146
|
-
|
|
2147
|
-
const errorFound = () => {
|
|
2148
|
-
return `expected document not to contain element, found ${this.utils.stringify(
|
|
2149
|
-
element.cloneNode(true),
|
|
2150
|
-
)} instead`
|
|
2151
|
-
};
|
|
2152
|
-
const errorNotFound = () => {
|
|
2153
|
-
return `element could not be found in the document`
|
|
2154
|
-
};
|
|
2155
|
-
|
|
2156
|
-
return {
|
|
2157
|
-
pass,
|
|
2158
|
-
message: () => {
|
|
2159
|
-
return [
|
|
2160
|
-
this.utils.matcherHint(
|
|
2161
|
-
`${this.isNot ? '.not' : ''}.toBeInTheDocument`,
|
|
2162
|
-
'element',
|
|
2163
|
-
'',
|
|
2164
|
-
),
|
|
2165
|
-
'',
|
|
2166
|
-
// eslint-disable-next-line new-cap
|
|
2167
|
-
this.utils.RECEIVED_COLOR(this.isNot ? errorFound() : errorNotFound()),
|
|
2168
|
-
].join('\n')
|
|
2169
|
-
},
|
|
2170
|
-
}
|
|
2171
|
-
}
|
|
2172
|
-
|
|
2173
|
-
function toBeEmpty(element) {
|
|
2174
|
-
deprecate(
|
|
2175
|
-
'toBeEmpty',
|
|
2176
|
-
'Please use instead toBeEmptyDOMElement for finding empty nodes in the DOM.',
|
|
2177
|
-
);
|
|
2178
|
-
checkHtmlElement(element, toBeEmpty, this);
|
|
2179
|
-
|
|
2180
|
-
return {
|
|
2181
|
-
pass: element.innerHTML === '',
|
|
2182
|
-
message: () => {
|
|
2183
|
-
return [
|
|
2184
|
-
this.utils.matcherHint(
|
|
2185
|
-
`${this.isNot ? '.not' : ''}.toBeEmpty`,
|
|
2186
|
-
'element',
|
|
2187
|
-
'',
|
|
2188
|
-
),
|
|
2189
|
-
'',
|
|
2190
|
-
'Received:',
|
|
2191
|
-
` ${this.utils.printReceived(element.innerHTML)}`,
|
|
2192
|
-
].join('\n')
|
|
2193
|
-
},
|
|
2194
|
-
}
|
|
2195
|
-
}
|
|
2196
|
-
|
|
2197
|
-
function toBeEmptyDOMElement(element) {
|
|
2198
|
-
checkHtmlElement(element, toBeEmptyDOMElement, this);
|
|
2199
|
-
|
|
2200
|
-
return {
|
|
2201
|
-
pass: isEmptyElement(element),
|
|
2202
|
-
message: () => {
|
|
2203
|
-
return [
|
|
2204
|
-
this.utils.matcherHint(
|
|
2205
|
-
`${this.isNot ? '.not' : ''}.toBeEmptyDOMElement`,
|
|
2206
|
-
'element',
|
|
2207
|
-
'',
|
|
2208
|
-
),
|
|
2209
|
-
'',
|
|
2210
|
-
'Received:',
|
|
2211
|
-
` ${this.utils.printReceived(element.innerHTML)}`,
|
|
2212
|
-
].join('\n')
|
|
2213
|
-
},
|
|
2214
|
-
}
|
|
2215
|
-
}
|
|
2216
|
-
|
|
2217
|
-
/**
|
|
2218
|
-
* Identifies if an element doesn't contain child nodes (excluding comments)
|
|
2219
|
-
* ℹ Node.COMMENT_NODE can't be used because of the following issue
|
|
2220
|
-
* https://github.com/jsdom/jsdom/issues/2220
|
|
2221
|
-
*
|
|
2222
|
-
* @param {*} element an HtmlElement or SVGElement
|
|
2223
|
-
* @return {*} true if the element only contains comments or none
|
|
2224
|
-
*/
|
|
2225
|
-
function isEmptyElement(element){
|
|
2226
|
-
const nonCommentChildNodes = [...element.childNodes].filter(node => node.nodeType !== 8);
|
|
2227
|
-
return nonCommentChildNodes.length === 0;
|
|
2228
|
-
}
|
|
2229
|
-
|
|
2230
|
-
function toContainElement(container, element) {
|
|
2231
|
-
checkHtmlElement(container, toContainElement, this);
|
|
2232
|
-
|
|
2233
|
-
if (element !== null) {
|
|
2234
|
-
checkHtmlElement(element, toContainElement, this);
|
|
2235
|
-
}
|
|
2236
|
-
|
|
2237
|
-
return {
|
|
2238
|
-
pass: container.contains(element),
|
|
2239
|
-
message: () => {
|
|
2240
|
-
return [
|
|
2241
|
-
this.utils.matcherHint(
|
|
2242
|
-
`${this.isNot ? '.not' : ''}.toContainElement`,
|
|
2243
|
-
'element',
|
|
2244
|
-
'element',
|
|
2245
|
-
),
|
|
2246
|
-
'',
|
|
2247
|
-
// eslint-disable-next-line new-cap
|
|
2248
|
-
this.utils.RECEIVED_COLOR(`${this.utils.stringify(
|
|
2249
|
-
container.cloneNode(false),
|
|
2250
|
-
)} ${
|
|
2251
|
-
this.isNot ? 'contains:' : 'does not contain:'
|
|
2252
|
-
} ${this.utils.stringify(element ? element.cloneNode(false) : element)}
|
|
2253
|
-
`),
|
|
2254
|
-
].join('\n')
|
|
2255
|
-
},
|
|
2256
|
-
}
|
|
2257
|
-
}
|
|
2258
|
-
|
|
2259
|
-
function getNormalizedHtml(container, htmlText) {
|
|
2260
|
-
const div = container.ownerDocument.createElement('div');
|
|
2261
|
-
div.innerHTML = htmlText;
|
|
2262
|
-
return div.innerHTML
|
|
2263
|
-
}
|
|
2264
|
-
|
|
2265
|
-
function toContainHTML(container, htmlText) {
|
|
2266
|
-
checkHtmlElement(container, toContainHTML, this);
|
|
2267
|
-
|
|
2268
|
-
if (typeof htmlText !== 'string') {
|
|
2269
|
-
throw new Error(`.toContainHTML() expects a string value, got ${htmlText}`)
|
|
2270
|
-
}
|
|
2271
|
-
|
|
2272
|
-
return {
|
|
2273
|
-
pass: container.outerHTML.includes(getNormalizedHtml(container, htmlText)),
|
|
2274
|
-
message: () => {
|
|
2275
|
-
return [
|
|
2276
|
-
this.utils.matcherHint(
|
|
2277
|
-
`${this.isNot ? '.not' : ''}.toContainHTML`,
|
|
2278
|
-
'element',
|
|
2279
|
-
'',
|
|
2280
|
-
),
|
|
2281
|
-
'Expected:',
|
|
2282
|
-
// eslint-disable-next-line new-cap
|
|
2283
|
-
` ${this.utils.EXPECTED_COLOR(htmlText)}`,
|
|
2284
|
-
'Received:',
|
|
2285
|
-
` ${this.utils.printReceived(container.cloneNode(true))}`,
|
|
2286
|
-
].join('\n')
|
|
2287
|
-
},
|
|
2288
|
-
}
|
|
2289
|
-
}
|
|
2290
|
-
|
|
2291
|
-
function toHaveTextContent(
|
|
2292
|
-
node,
|
|
2293
|
-
checkWith,
|
|
2294
|
-
options = {normalizeWhitespace: true},
|
|
2295
|
-
) {
|
|
2296
|
-
checkNode(node, toHaveTextContent, this);
|
|
2297
|
-
|
|
2298
|
-
const textContent = options.normalizeWhitespace
|
|
2299
|
-
? normalize(node.textContent)
|
|
2300
|
-
: node.textContent.replace(/\u00a0/g, ' '); // Replace with normal spaces
|
|
2301
|
-
|
|
2302
|
-
const checkingWithEmptyString = textContent !== '' && checkWith === '';
|
|
2303
|
-
|
|
2304
|
-
return {
|
|
2305
|
-
pass: !checkingWithEmptyString && matches(textContent, checkWith),
|
|
2306
|
-
message: () => {
|
|
2307
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2308
|
-
return getMessage(
|
|
2309
|
-
this,
|
|
2310
|
-
this.utils.matcherHint(
|
|
2311
|
-
`${this.isNot ? '.not' : ''}.toHaveTextContent`,
|
|
2312
|
-
'element',
|
|
2313
|
-
'',
|
|
2314
|
-
),
|
|
2315
|
-
checkingWithEmptyString
|
|
2316
|
-
? `Checking with empty string will always match, use .toBeEmptyDOMElement() instead`
|
|
2317
|
-
: `Expected element ${to} have text content`,
|
|
2318
|
-
checkWith,
|
|
2319
|
-
'Received',
|
|
2320
|
-
textContent,
|
|
2321
|
-
)
|
|
2322
|
-
},
|
|
2323
|
-
}
|
|
2324
|
-
}
|
|
2325
|
-
|
|
2326
|
-
function toHaveAccessibleDescription(
|
|
2327
|
-
htmlElement,
|
|
2328
|
-
expectedAccessibleDescription,
|
|
2329
|
-
) {
|
|
2330
|
-
checkHtmlElement(htmlElement, toHaveAccessibleDescription, this);
|
|
2331
|
-
const actualAccessibleDescription = computeAccessibleDescription(htmlElement);
|
|
2332
|
-
const missingExpectedValue = arguments.length === 1;
|
|
2333
|
-
|
|
2334
|
-
let pass = false;
|
|
2335
|
-
if (missingExpectedValue) {
|
|
2336
|
-
// When called without an expected value we only want to validate that the element has an
|
|
2337
|
-
// accessible description, whatever it may be.
|
|
2338
|
-
pass = actualAccessibleDescription !== '';
|
|
2339
|
-
} else {
|
|
2340
|
-
pass =
|
|
2341
|
-
expectedAccessibleDescription instanceof RegExp
|
|
2342
|
-
? expectedAccessibleDescription.test(actualAccessibleDescription)
|
|
2343
|
-
: this.equals(
|
|
2344
|
-
actualAccessibleDescription,
|
|
2345
|
-
expectedAccessibleDescription,
|
|
2346
|
-
);
|
|
2347
|
-
}
|
|
2348
|
-
|
|
2349
|
-
return {
|
|
2350
|
-
pass,
|
|
2351
|
-
|
|
2352
|
-
message: () => {
|
|
2353
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2354
|
-
return getMessage(
|
|
2355
|
-
this,
|
|
2356
|
-
this.utils.matcherHint(
|
|
2357
|
-
`${this.isNot ? '.not' : ''}.${toHaveAccessibleDescription.name}`,
|
|
2358
|
-
'element',
|
|
2359
|
-
'',
|
|
2360
|
-
),
|
|
2361
|
-
`Expected element ${to} have accessible description`,
|
|
2362
|
-
expectedAccessibleDescription,
|
|
2363
|
-
'Received',
|
|
2364
|
-
actualAccessibleDescription,
|
|
2365
|
-
)
|
|
2366
|
-
},
|
|
2367
|
-
}
|
|
2368
|
-
}
|
|
2369
|
-
|
|
2370
|
-
const ariaInvalidName = 'aria-invalid';
|
|
2371
|
-
const validStates = ['false'];
|
|
2372
|
-
|
|
2373
|
-
// See `aria-errormessage` spec at https://www.w3.org/TR/wai-aria-1.2/#aria-errormessage
|
|
2374
|
-
function toHaveAccessibleErrorMessage(
|
|
2375
|
-
htmlElement,
|
|
2376
|
-
expectedAccessibleErrorMessage,
|
|
2377
|
-
) {
|
|
2378
|
-
checkHtmlElement(htmlElement, toHaveAccessibleErrorMessage, this);
|
|
2379
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2380
|
-
const method = this.isNot
|
|
2381
|
-
? '.not.toHaveAccessibleErrorMessage'
|
|
2382
|
-
: '.toHaveAccessibleErrorMessage';
|
|
2383
|
-
|
|
2384
|
-
// Enforce Valid Id
|
|
2385
|
-
const errormessageId = htmlElement.getAttribute('aria-errormessage');
|
|
2386
|
-
const errormessageIdInvalid = !!errormessageId && /\s+/.test(errormessageId);
|
|
2387
|
-
|
|
2388
|
-
if (errormessageIdInvalid) {
|
|
2389
|
-
return {
|
|
2390
|
-
pass: false,
|
|
2391
|
-
message: () => {
|
|
2392
|
-
return getMessage(
|
|
2393
|
-
this,
|
|
2394
|
-
this.utils.matcherHint(method, 'element'),
|
|
2395
|
-
"Expected element's `aria-errormessage` attribute to be empty or a single, valid ID",
|
|
2396
|
-
'',
|
|
2397
|
-
'Received',
|
|
2398
|
-
`aria-errormessage="${errormessageId}"`,
|
|
2399
|
-
)
|
|
2400
|
-
},
|
|
2401
|
-
}
|
|
2402
|
-
}
|
|
2403
|
-
|
|
2404
|
-
// See `aria-invalid` spec at https://www.w3.org/TR/wai-aria-1.2/#aria-invalid
|
|
2405
|
-
const ariaInvalidVal = htmlElement.getAttribute(ariaInvalidName);
|
|
2406
|
-
const fieldValid =
|
|
2407
|
-
!htmlElement.hasAttribute(ariaInvalidName) ||
|
|
2408
|
-
validStates.includes(ariaInvalidVal);
|
|
2409
|
-
|
|
2410
|
-
// Enforce Valid `aria-invalid` Attribute
|
|
2411
|
-
if (fieldValid) {
|
|
2412
|
-
return {
|
|
2413
|
-
pass: false,
|
|
2414
|
-
message: () => {
|
|
2415
|
-
return getMessage(
|
|
2416
|
-
this,
|
|
2417
|
-
this.utils.matcherHint(method, 'element'),
|
|
2418
|
-
'Expected element to be marked as invalid with attribute',
|
|
2419
|
-
`${ariaInvalidName}="${String(true)}"`,
|
|
2420
|
-
'Received',
|
|
2421
|
-
htmlElement.hasAttribute('aria-invalid')
|
|
2422
|
-
? `${ariaInvalidName}="${htmlElement.getAttribute(ariaInvalidName)}`
|
|
2423
|
-
: null,
|
|
2424
|
-
)
|
|
2425
|
-
},
|
|
2426
|
-
}
|
|
2427
|
-
}
|
|
2428
|
-
|
|
2429
|
-
const error = normalize(
|
|
2430
|
-
htmlElement.ownerDocument.getElementById(errormessageId)?.textContent ?? '',
|
|
2431
|
-
);
|
|
2432
|
-
|
|
2433
|
-
return {
|
|
2434
|
-
pass:
|
|
2435
|
-
expectedAccessibleErrorMessage === undefined
|
|
2436
|
-
? Boolean(error)
|
|
2437
|
-
: expectedAccessibleErrorMessage instanceof RegExp
|
|
2438
|
-
? expectedAccessibleErrorMessage.test(error)
|
|
2439
|
-
: this.equals(error, expectedAccessibleErrorMessage),
|
|
2440
|
-
|
|
2441
|
-
message: () => {
|
|
2442
|
-
return getMessage(
|
|
2443
|
-
this,
|
|
2444
|
-
this.utils.matcherHint(method, 'element'),
|
|
2445
|
-
`Expected element ${to} have accessible error message`,
|
|
2446
|
-
expectedAccessibleErrorMessage ?? '',
|
|
2447
|
-
'Received',
|
|
2448
|
-
error,
|
|
2449
|
-
)
|
|
2450
|
-
},
|
|
2451
|
-
}
|
|
2452
|
-
}
|
|
2453
|
-
|
|
2454
|
-
const elementRoleList = buildElementRoleList(libExports.elementRoles);
|
|
2455
|
-
|
|
2456
|
-
function toHaveRole(htmlElement, expectedRole) {
|
|
2457
|
-
checkHtmlElement(htmlElement, toHaveRole, this);
|
|
2458
|
-
|
|
2459
|
-
const actualRoles = getExplicitOrImplicitRoles(htmlElement);
|
|
2460
|
-
const pass = actualRoles.some(el => el === expectedRole);
|
|
2461
|
-
|
|
2462
|
-
return {
|
|
2463
|
-
pass,
|
|
2464
|
-
|
|
2465
|
-
message: () => {
|
|
2466
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2467
|
-
return getMessage(
|
|
2468
|
-
this,
|
|
2469
|
-
this.utils.matcherHint(
|
|
2470
|
-
`${this.isNot ? '.not' : ''}.${toHaveRole.name}`,
|
|
2471
|
-
'element',
|
|
2472
|
-
'',
|
|
2473
|
-
),
|
|
2474
|
-
`Expected element ${to} have role`,
|
|
2475
|
-
expectedRole,
|
|
2476
|
-
'Received',
|
|
2477
|
-
actualRoles.join(', '),
|
|
2478
|
-
)
|
|
2479
|
-
},
|
|
2480
|
-
}
|
|
2481
|
-
}
|
|
2482
|
-
|
|
2483
|
-
function getExplicitOrImplicitRoles(htmlElement) {
|
|
2484
|
-
const hasExplicitRole = htmlElement.hasAttribute('role');
|
|
2485
|
-
|
|
2486
|
-
if (hasExplicitRole) {
|
|
2487
|
-
const roleValue = htmlElement.getAttribute('role');
|
|
2488
|
-
|
|
2489
|
-
// Handle fallback roles, such as role="switch button"
|
|
2490
|
-
// testing-library gates this behind the `queryFallbacks` flag; it is
|
|
2491
|
-
// unclear why, but it makes sense to support this pattern out of the box
|
|
2492
|
-
// https://testing-library.com/docs/queries/byrole/#queryfallbacks
|
|
2493
|
-
return roleValue.split(' ').filter(Boolean)
|
|
2494
|
-
}
|
|
2495
|
-
|
|
2496
|
-
const implicitRoles = getImplicitAriaRoles(htmlElement);
|
|
2497
|
-
|
|
2498
|
-
return implicitRoles
|
|
2499
|
-
}
|
|
2500
|
-
|
|
2501
|
-
function getImplicitAriaRoles(currentNode) {
|
|
2502
|
-
for (const {match, roles} of elementRoleList) {
|
|
2503
|
-
if (match(currentNode)) {
|
|
2504
|
-
return [...roles]
|
|
2505
|
-
}
|
|
2506
|
-
}
|
|
2507
|
-
|
|
2508
|
-
/* istanbul ignore next */
|
|
2509
|
-
return [] // this does not get reached in practice, since elements have at least a 'generic' role
|
|
2510
|
-
}
|
|
2511
|
-
|
|
2512
|
-
/**
|
|
2513
|
-
* Transform the roles map (with required attributes and constraints) to a list
|
|
2514
|
-
* of roles. Each item in the list has functions to match an element against it.
|
|
2515
|
-
*
|
|
2516
|
-
* Essentially copied over from [dom-testing-library's
|
|
2517
|
-
* helpers](https://github.com/testing-library/dom-testing-library/blob/bd04cf95a1ed85a2238f7dfc1a77d5d16b4f59dc/src/role-helpers.js#L80)
|
|
2518
|
-
*
|
|
2519
|
-
* TODO: If we are truly just copying over stuff, would it make sense to move
|
|
2520
|
-
* this to a separate package?
|
|
2521
|
-
*
|
|
2522
|
-
* TODO: This technique relies on CSS selectors; are those consistently
|
|
2523
|
-
* available in all jest-dom environments? Why do other matchers in this package
|
|
2524
|
-
* not use them like this?
|
|
2525
|
-
*/
|
|
2526
|
-
function buildElementRoleList(elementRolesMap) {
|
|
2527
|
-
function makeElementSelector({name, attributes}) {
|
|
2528
|
-
return `${name}${attributes
|
|
2529
|
-
.map(({name: attributeName, value, constraints = []}) => {
|
|
2530
|
-
const shouldNotExist = constraints.indexOf('undefined') !== -1;
|
|
2531
|
-
if (shouldNotExist) {
|
|
2532
|
-
return `:not([${attributeName}])`
|
|
2533
|
-
} else if (value) {
|
|
2534
|
-
return `[${attributeName}="${value}"]`
|
|
2535
|
-
} else {
|
|
2536
|
-
return `[${attributeName}]`
|
|
2537
|
-
}
|
|
2538
|
-
})
|
|
2539
|
-
.join('')}`
|
|
2540
|
-
}
|
|
2541
|
-
|
|
2542
|
-
function getSelectorSpecificity({attributes = []}) {
|
|
2543
|
-
return attributes.length
|
|
2544
|
-
}
|
|
2545
|
-
|
|
2546
|
-
function bySelectorSpecificity(
|
|
2547
|
-
{specificity: leftSpecificity},
|
|
2548
|
-
{specificity: rightSpecificity},
|
|
2549
|
-
) {
|
|
2550
|
-
return rightSpecificity - leftSpecificity
|
|
2551
|
-
}
|
|
2552
|
-
|
|
2553
|
-
function match(element) {
|
|
2554
|
-
let {attributes = []} = element;
|
|
2555
|
-
|
|
2556
|
-
// https://github.com/testing-library/dom-testing-library/issues/814
|
|
2557
|
-
const typeTextIndex = attributes.findIndex(
|
|
2558
|
-
attribute =>
|
|
2559
|
-
attribute.value &&
|
|
2560
|
-
attribute.name === 'type' &&
|
|
2561
|
-
attribute.value === 'text',
|
|
2562
|
-
);
|
|
2563
|
-
|
|
2564
|
-
if (typeTextIndex >= 0) {
|
|
2565
|
-
// not using splice to not mutate the attributes array
|
|
2566
|
-
attributes = [
|
|
2567
|
-
...attributes.slice(0, typeTextIndex),
|
|
2568
|
-
...attributes.slice(typeTextIndex + 1),
|
|
2569
|
-
];
|
|
2570
|
-
}
|
|
2571
|
-
|
|
2572
|
-
const selector = makeElementSelector({...element, attributes});
|
|
2573
|
-
|
|
2574
|
-
return node => {
|
|
2575
|
-
if (typeTextIndex >= 0 && node.type !== 'text') {
|
|
2576
|
-
return false
|
|
2577
|
-
}
|
|
2578
|
-
|
|
2579
|
-
return node.matches(selector)
|
|
2580
|
-
}
|
|
2581
|
-
}
|
|
2582
|
-
|
|
2583
|
-
let result = [];
|
|
2584
|
-
|
|
2585
|
-
for (const [element, roles] of elementRolesMap.entries()) {
|
|
2586
|
-
result = [
|
|
2587
|
-
...result,
|
|
2588
|
-
{
|
|
2589
|
-
match: match(element),
|
|
2590
|
-
roles: Array.from(roles),
|
|
2591
|
-
specificity: getSelectorSpecificity(element),
|
|
2592
|
-
},
|
|
2593
|
-
];
|
|
2594
|
-
}
|
|
2595
|
-
|
|
2596
|
-
return result.sort(bySelectorSpecificity)
|
|
2597
|
-
}
|
|
2598
|
-
|
|
2599
|
-
function toHaveAccessibleName(htmlElement, expectedAccessibleName) {
|
|
2600
|
-
checkHtmlElement(htmlElement, toHaveAccessibleName, this);
|
|
2601
|
-
const actualAccessibleName = computeAccessibleName(htmlElement);
|
|
2602
|
-
const missingExpectedValue = arguments.length === 1;
|
|
2603
|
-
|
|
2604
|
-
let pass = false;
|
|
2605
|
-
if (missingExpectedValue) {
|
|
2606
|
-
// When called without an expected value we only want to validate that the element has an
|
|
2607
|
-
// accessible name, whatever it may be.
|
|
2608
|
-
pass = actualAccessibleName !== '';
|
|
2609
|
-
} else {
|
|
2610
|
-
pass =
|
|
2611
|
-
expectedAccessibleName instanceof RegExp
|
|
2612
|
-
? expectedAccessibleName.test(actualAccessibleName)
|
|
2613
|
-
: this.equals(actualAccessibleName, expectedAccessibleName);
|
|
2614
|
-
}
|
|
2615
|
-
|
|
2616
|
-
return {
|
|
2617
|
-
pass,
|
|
2618
|
-
|
|
2619
|
-
message: () => {
|
|
2620
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2621
|
-
return getMessage(
|
|
2622
|
-
this,
|
|
2623
|
-
this.utils.matcherHint(
|
|
2624
|
-
`${this.isNot ? '.not' : ''}.${toHaveAccessibleName.name}`,
|
|
2625
|
-
'element',
|
|
2626
|
-
'',
|
|
2627
|
-
),
|
|
2628
|
-
`Expected element ${to} have accessible name`,
|
|
2629
|
-
expectedAccessibleName,
|
|
2630
|
-
'Received',
|
|
2631
|
-
actualAccessibleName,
|
|
2632
|
-
)
|
|
2633
|
-
},
|
|
2634
|
-
}
|
|
2635
|
-
}
|
|
2636
|
-
|
|
2637
|
-
function printAttribute(stringify, name, value) {
|
|
2638
|
-
return value === undefined ? name : `${name}=${stringify(value)}`
|
|
2639
|
-
}
|
|
2640
|
-
|
|
2641
|
-
function getAttributeComment(stringify, name, value) {
|
|
2642
|
-
return value === undefined
|
|
2643
|
-
? `element.hasAttribute(${stringify(name)})`
|
|
2644
|
-
: `element.getAttribute(${stringify(name)}) === ${stringify(value)}`
|
|
2645
|
-
}
|
|
2646
|
-
|
|
2647
|
-
function toHaveAttribute(htmlElement, name, expectedValue) {
|
|
2648
|
-
checkHtmlElement(htmlElement, toHaveAttribute, this);
|
|
2649
|
-
const isExpectedValuePresent = expectedValue !== undefined;
|
|
2650
|
-
const hasAttribute = htmlElement.hasAttribute(name);
|
|
2651
|
-
const receivedValue = htmlElement.getAttribute(name);
|
|
2652
|
-
return {
|
|
2653
|
-
pass: isExpectedValuePresent
|
|
2654
|
-
? hasAttribute && this.equals(receivedValue, expectedValue)
|
|
2655
|
-
: hasAttribute,
|
|
2656
|
-
message: () => {
|
|
2657
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2658
|
-
const receivedAttribute = hasAttribute
|
|
2659
|
-
? printAttribute(this.utils.stringify, name, receivedValue)
|
|
2660
|
-
: null;
|
|
2661
|
-
const matcher = this.utils.matcherHint(
|
|
2662
|
-
`${this.isNot ? '.not' : ''}.toHaveAttribute`,
|
|
2663
|
-
'element',
|
|
2664
|
-
this.utils.printExpected(name),
|
|
2665
|
-
{
|
|
2666
|
-
secondArgument: isExpectedValuePresent
|
|
2667
|
-
? this.utils.printExpected(expectedValue)
|
|
2668
|
-
: undefined,
|
|
2669
|
-
comment: getAttributeComment(
|
|
2670
|
-
this.utils.stringify,
|
|
2671
|
-
name,
|
|
2672
|
-
expectedValue,
|
|
2673
|
-
),
|
|
2674
|
-
},
|
|
2675
|
-
);
|
|
2676
|
-
return getMessage(
|
|
2677
|
-
this,
|
|
2678
|
-
matcher,
|
|
2679
|
-
`Expected the element ${to} have attribute`,
|
|
2680
|
-
printAttribute(this.utils.stringify, name, expectedValue),
|
|
2681
|
-
'Received',
|
|
2682
|
-
receivedAttribute,
|
|
2683
|
-
)
|
|
2684
|
-
},
|
|
2685
|
-
}
|
|
2686
|
-
}
|
|
2687
|
-
|
|
2688
|
-
function getExpectedClassNamesAndOptions(params) {
|
|
2689
|
-
const lastParam = params.pop();
|
|
2690
|
-
let expectedClassNames, options;
|
|
2691
|
-
|
|
2692
|
-
if (typeof lastParam === 'object' && !(lastParam instanceof RegExp)) {
|
|
2693
|
-
expectedClassNames = params;
|
|
2694
|
-
options = lastParam;
|
|
2695
|
-
} else {
|
|
2696
|
-
expectedClassNames = params.concat(lastParam);
|
|
2697
|
-
options = {exact: false};
|
|
2698
|
-
}
|
|
2699
|
-
return {expectedClassNames, options}
|
|
2700
|
-
}
|
|
2701
|
-
|
|
2702
|
-
function splitClassNames(str) {
|
|
2703
|
-
if (!str) return []
|
|
2704
|
-
return str.split(/\s+/).filter(s => s.length > 0)
|
|
2705
|
-
}
|
|
2706
|
-
|
|
2707
|
-
function isSubset$1(subset, superset) {
|
|
2708
|
-
return subset.every(strOrRegexp =>
|
|
2709
|
-
typeof strOrRegexp === 'string'
|
|
2710
|
-
? superset.includes(strOrRegexp)
|
|
2711
|
-
: superset.some(className => strOrRegexp.test(className)),
|
|
2712
|
-
)
|
|
2713
|
-
}
|
|
2714
|
-
|
|
2715
|
-
function toHaveClass(htmlElement, ...params) {
|
|
2716
|
-
checkHtmlElement(htmlElement, toHaveClass, this);
|
|
2717
|
-
const {expectedClassNames, options} = getExpectedClassNamesAndOptions(params);
|
|
2718
|
-
|
|
2719
|
-
const received = splitClassNames(htmlElement.getAttribute('class'));
|
|
2720
|
-
const expected = expectedClassNames.reduce(
|
|
2721
|
-
(acc, className) =>
|
|
2722
|
-
acc.concat(
|
|
2723
|
-
typeof className === 'string' || !className
|
|
2724
|
-
? splitClassNames(className)
|
|
2725
|
-
: className,
|
|
2726
|
-
),
|
|
2727
|
-
[],
|
|
2728
|
-
);
|
|
2729
|
-
|
|
2730
|
-
const hasRegExp = expected.some(className => className instanceof RegExp);
|
|
2731
|
-
if (options.exact && hasRegExp) {
|
|
2732
|
-
throw new Error('Exact option does not support RegExp expected class names')
|
|
2733
|
-
}
|
|
2734
|
-
|
|
2735
|
-
if (options.exact) {
|
|
2736
|
-
return {
|
|
2737
|
-
pass: isSubset$1(expected, received) && expected.length === received.length,
|
|
2738
|
-
message: () => {
|
|
2739
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2740
|
-
return getMessage(
|
|
2741
|
-
this,
|
|
2742
|
-
this.utils.matcherHint(
|
|
2743
|
-
`${this.isNot ? '.not' : ''}.toHaveClass`,
|
|
2744
|
-
'element',
|
|
2745
|
-
this.utils.printExpected(expected.join(' ')),
|
|
2746
|
-
),
|
|
2747
|
-
`Expected the element ${to} have EXACTLY defined classes`,
|
|
2748
|
-
expected.join(' '),
|
|
2749
|
-
'Received',
|
|
2750
|
-
received.join(' '),
|
|
2751
|
-
)
|
|
2752
|
-
},
|
|
2753
|
-
}
|
|
2754
|
-
}
|
|
2755
|
-
|
|
2756
|
-
return expected.length > 0
|
|
2757
|
-
? {
|
|
2758
|
-
pass: isSubset$1(expected, received),
|
|
2759
|
-
message: () => {
|
|
2760
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2761
|
-
return getMessage(
|
|
2762
|
-
this,
|
|
2763
|
-
this.utils.matcherHint(
|
|
2764
|
-
`${this.isNot ? '.not' : ''}.toHaveClass`,
|
|
2765
|
-
'element',
|
|
2766
|
-
this.utils.printExpected(expected.join(' ')),
|
|
2767
|
-
),
|
|
2768
|
-
`Expected the element ${to} have class`,
|
|
2769
|
-
expected.join(' '),
|
|
2770
|
-
'Received',
|
|
2771
|
-
received.join(' '),
|
|
2772
|
-
)
|
|
2773
|
-
},
|
|
2774
|
-
}
|
|
2775
|
-
: {
|
|
2776
|
-
pass: this.isNot ? received.length > 0 : false,
|
|
2777
|
-
message: () =>
|
|
2778
|
-
this.isNot
|
|
2779
|
-
? getMessage(
|
|
2780
|
-
this,
|
|
2781
|
-
this.utils.matcherHint('.not.toHaveClass', 'element', ''),
|
|
2782
|
-
'Expected the element to have classes',
|
|
2783
|
-
'(none)',
|
|
2784
|
-
'Received',
|
|
2785
|
-
received.join(' '),
|
|
2786
|
-
)
|
|
2787
|
-
: [
|
|
2788
|
-
this.utils.matcherHint(`.toHaveClass`, 'element'),
|
|
2789
|
-
'At least one expected class must be provided.',
|
|
2790
|
-
].join('\n'),
|
|
2791
|
-
}
|
|
2792
|
-
}
|
|
2793
|
-
|
|
2794
|
-
function getStyleDeclaration(document, css) {
|
|
2795
|
-
const styles = {};
|
|
2796
|
-
|
|
2797
|
-
// The next block is necessary to normalize colors
|
|
2798
|
-
const copy = document.createElement('div');
|
|
2799
|
-
Object.keys(css).forEach(property => {
|
|
2800
|
-
copy.style[property] = css[property];
|
|
2801
|
-
styles[property] = copy.style[property];
|
|
2802
|
-
});
|
|
2803
|
-
|
|
2804
|
-
return styles
|
|
2805
|
-
}
|
|
2806
|
-
|
|
2807
|
-
function isSubset(styles, computedStyle) {
|
|
2808
|
-
return (
|
|
2809
|
-
!!Object.keys(styles).length &&
|
|
2810
|
-
Object.entries(styles).every(([prop, value]) => {
|
|
2811
|
-
const isCustomProperty = prop.startsWith('--');
|
|
2812
|
-
const spellingVariants = [prop];
|
|
2813
|
-
if (!isCustomProperty) spellingVariants.push(prop.toLowerCase());
|
|
2814
|
-
|
|
2815
|
-
return spellingVariants.some(
|
|
2816
|
-
name =>
|
|
2817
|
-
computedStyle[name] === value ||
|
|
2818
|
-
computedStyle.getPropertyValue(name) === value,
|
|
2819
|
-
)
|
|
2820
|
-
})
|
|
2821
|
-
)
|
|
2822
|
-
}
|
|
2823
|
-
|
|
2824
|
-
function printoutStyles(styles) {
|
|
2825
|
-
return Object.keys(styles)
|
|
2826
|
-
.sort()
|
|
2827
|
-
.map(prop => `${prop}: ${styles[prop]};`)
|
|
2828
|
-
.join('\n')
|
|
2829
|
-
}
|
|
2830
|
-
|
|
2831
|
-
// Highlights only style rules that were expected but were not found in the
|
|
2832
|
-
// received computed styles
|
|
2833
|
-
function expectedDiff(diffFn, expected, computedStyles) {
|
|
2834
|
-
const received = Array.from(computedStyles)
|
|
2835
|
-
.filter(prop => expected[prop] !== undefined)
|
|
2836
|
-
.reduce(
|
|
2837
|
-
(obj, prop) =>
|
|
2838
|
-
Object.assign(obj, {[prop]: computedStyles.getPropertyValue(prop)}),
|
|
2839
|
-
{},
|
|
2840
|
-
);
|
|
2841
|
-
const diffOutput = diffFn(printoutStyles(expected), printoutStyles(received));
|
|
2842
|
-
// Remove the "+ Received" annotation because this is a one-way diff
|
|
2843
|
-
return diffOutput.replace(`${pico.red('+ Received')}\n`, '')
|
|
2844
|
-
}
|
|
2845
|
-
|
|
2846
|
-
function toHaveStyle(htmlElement, css) {
|
|
2847
|
-
checkHtmlElement(htmlElement, toHaveStyle, this);
|
|
2848
|
-
const parsedCSS =
|
|
2849
|
-
typeof css === 'object' ? css : parseCSS(css, toHaveStyle, this);
|
|
2850
|
-
const {getComputedStyle} = htmlElement.ownerDocument.defaultView;
|
|
2851
|
-
|
|
2852
|
-
const expected = getStyleDeclaration(htmlElement.ownerDocument, parsedCSS);
|
|
2853
|
-
const received = getComputedStyle(htmlElement);
|
|
2854
|
-
|
|
2855
|
-
return {
|
|
2856
|
-
pass: isSubset(expected, received),
|
|
2857
|
-
message: () => {
|
|
2858
|
-
const matcher = `${this.isNot ? '.not' : ''}.toHaveStyle`;
|
|
2859
|
-
return [
|
|
2860
|
-
this.utils.matcherHint(matcher, 'element', ''),
|
|
2861
|
-
expectedDiff(this.utils.diff, expected, received),
|
|
2862
|
-
].join('\n\n')
|
|
2863
|
-
},
|
|
2864
|
-
}
|
|
2865
|
-
}
|
|
2866
|
-
|
|
2867
|
-
function toHaveFocus(element) {
|
|
2868
|
-
checkHtmlElement(element, toHaveFocus, this);
|
|
2869
|
-
|
|
2870
|
-
return {
|
|
2871
|
-
pass: element.ownerDocument.activeElement === element,
|
|
2872
|
-
message: () => {
|
|
2873
|
-
return [
|
|
2874
|
-
this.utils.matcherHint(
|
|
2875
|
-
`${this.isNot ? '.not' : ''}.toHaveFocus`,
|
|
2876
|
-
'element',
|
|
2877
|
-
'',
|
|
2878
|
-
),
|
|
2879
|
-
'',
|
|
2880
|
-
...(this.isNot
|
|
2881
|
-
? [
|
|
2882
|
-
'Received element is focused:',
|
|
2883
|
-
` ${this.utils.printReceived(element)}`,
|
|
2884
|
-
]
|
|
2885
|
-
: [
|
|
2886
|
-
'Expected element with focus:',
|
|
2887
|
-
` ${this.utils.printExpected(element)}`,
|
|
2888
|
-
'Received element with focus:',
|
|
2889
|
-
` ${this.utils.printReceived(
|
|
2890
|
-
element.ownerDocument.activeElement,
|
|
2891
|
-
)}`,
|
|
2892
|
-
]),
|
|
2893
|
-
].join('\n')
|
|
2894
|
-
},
|
|
2895
|
-
}
|
|
2896
|
-
}
|
|
2897
|
-
|
|
2898
|
-
// Returns the combined value of several elements that have the same name
|
|
2899
|
-
// e.g. radio buttons or groups of checkboxes
|
|
2900
|
-
function getMultiElementValue(elements) {
|
|
2901
|
-
const types = [...new Set(elements.map(element => element.type))];
|
|
2902
|
-
if (types.length !== 1) {
|
|
2903
|
-
throw new Error(
|
|
2904
|
-
'Multiple form elements with the same name must be of the same type',
|
|
2905
|
-
)
|
|
2906
|
-
}
|
|
2907
|
-
switch (types[0]) {
|
|
2908
|
-
case 'radio': {
|
|
2909
|
-
const theChosenOne = elements.find(radio => radio.checked);
|
|
2910
|
-
return theChosenOne ? theChosenOne.value : undefined
|
|
2911
|
-
}
|
|
2912
|
-
case 'checkbox':
|
|
2913
|
-
return elements
|
|
2914
|
-
.filter(checkbox => checkbox.checked)
|
|
2915
|
-
.map(checkbox => checkbox.value)
|
|
2916
|
-
default:
|
|
2917
|
-
// NOTE: Not even sure this is a valid use case, but just in case...
|
|
2918
|
-
return elements.map(element => element.value)
|
|
2919
|
-
}
|
|
2920
|
-
}
|
|
2921
|
-
|
|
2922
|
-
function getFormValue(container, name) {
|
|
2923
|
-
const elements = [...container.querySelectorAll(`[name="${escape(name)}"]`)];
|
|
2924
|
-
/* istanbul ignore if */
|
|
2925
|
-
if (elements.length === 0) {
|
|
2926
|
-
return undefined // shouldn't happen, but just in case
|
|
2927
|
-
}
|
|
2928
|
-
switch (elements.length) {
|
|
2929
|
-
case 1:
|
|
2930
|
-
return getSingleElementValue(elements[0])
|
|
2931
|
-
default:
|
|
2932
|
-
return getMultiElementValue(elements)
|
|
2933
|
-
}
|
|
2934
|
-
}
|
|
2935
|
-
|
|
2936
|
-
// Strips the `[]` suffix off a form value name
|
|
2937
|
-
function getPureName(name) {
|
|
2938
|
-
return /\[\]$/.test(name) ? name.slice(0, -2) : name
|
|
2939
|
-
}
|
|
2940
|
-
|
|
2941
|
-
function getAllFormValues(container) {
|
|
2942
|
-
const names = Array.from(container.elements).map(element => element.name);
|
|
2943
|
-
return names.reduce(
|
|
2944
|
-
(obj, name) => ({
|
|
2945
|
-
...obj,
|
|
2946
|
-
[getPureName(name)]: getFormValue(container, name),
|
|
2947
|
-
}),
|
|
2948
|
-
{},
|
|
2949
|
-
)
|
|
2950
|
-
}
|
|
2951
|
-
|
|
2952
|
-
function toHaveFormValues(formElement, expectedValues) {
|
|
2953
|
-
checkHtmlElement(formElement, toHaveFormValues, this);
|
|
2954
|
-
if (!formElement.elements) {
|
|
2955
|
-
// TODO: Change condition to use instanceof against the appropriate element classes instead
|
|
2956
|
-
throw new Error('toHaveFormValues must be called on a form or a fieldset')
|
|
2957
|
-
}
|
|
2958
|
-
const formValues = getAllFormValues(formElement);
|
|
2959
|
-
return {
|
|
2960
|
-
pass: Object.entries(expectedValues).every(([name, expectedValue]) =>
|
|
2961
|
-
compareAsSet(formValues[name], expectedValue),
|
|
2962
|
-
),
|
|
2963
|
-
message: () => {
|
|
2964
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
2965
|
-
const matcher = `${this.isNot ? '.not' : ''}.toHaveFormValues`;
|
|
2966
|
-
const commonKeyValues = Object.keys(formValues)
|
|
2967
|
-
.filter(key => expectedValues.hasOwnProperty(key))
|
|
2968
|
-
.reduce((obj, key) => ({...obj, [key]: formValues[key]}), {});
|
|
2969
|
-
return [
|
|
2970
|
-
this.utils.matcherHint(matcher, 'element', ''),
|
|
2971
|
-
`Expected the element ${to} have form values`,
|
|
2972
|
-
this.utils.diff(expectedValues, commonKeyValues),
|
|
2973
|
-
].join('\n\n')
|
|
2974
|
-
},
|
|
2975
|
-
}
|
|
2976
|
-
}
|
|
2977
|
-
|
|
2978
|
-
function isStyleVisible(element) {
|
|
2979
|
-
const {getComputedStyle} = element.ownerDocument.defaultView;
|
|
2980
|
-
|
|
2981
|
-
const {display, visibility, opacity} = getComputedStyle(element);
|
|
2982
|
-
return (
|
|
2983
|
-
display !== 'none' &&
|
|
2984
|
-
visibility !== 'hidden' &&
|
|
2985
|
-
visibility !== 'collapse' &&
|
|
2986
|
-
opacity !== '0' &&
|
|
2987
|
-
opacity !== 0
|
|
2988
|
-
)
|
|
2989
|
-
}
|
|
2990
|
-
|
|
2991
|
-
function isAttributeVisible(element, previousElement) {
|
|
2992
|
-
let detailsVisibility;
|
|
2993
|
-
|
|
2994
|
-
if (previousElement) {
|
|
2995
|
-
detailsVisibility =
|
|
2996
|
-
element.nodeName === 'DETAILS' && previousElement.nodeName !== 'SUMMARY'
|
|
2997
|
-
? element.hasAttribute('open')
|
|
2998
|
-
: true;
|
|
2999
|
-
} else {
|
|
3000
|
-
detailsVisibility =
|
|
3001
|
-
element.nodeName === 'DETAILS' ? element.hasAttribute('open') : true;
|
|
3002
|
-
}
|
|
3003
|
-
|
|
3004
|
-
return !element.hasAttribute('hidden') && detailsVisibility
|
|
3005
|
-
}
|
|
3006
|
-
|
|
3007
|
-
function isElementVisible(element, previousElement) {
|
|
3008
|
-
return (
|
|
3009
|
-
isStyleVisible(element) &&
|
|
3010
|
-
isAttributeVisible(element, previousElement) &&
|
|
3011
|
-
(!element.parentElement || isElementVisible(element.parentElement, element))
|
|
3012
|
-
)
|
|
3013
|
-
}
|
|
3014
|
-
|
|
3015
|
-
function toBeVisible(element) {
|
|
3016
|
-
checkHtmlElement(element, toBeVisible, this);
|
|
3017
|
-
const isInDocument =
|
|
3018
|
-
element.ownerDocument === element.getRootNode({composed: true});
|
|
3019
|
-
const isVisible = isInDocument && isElementVisible(element);
|
|
3020
|
-
return {
|
|
3021
|
-
pass: isVisible,
|
|
3022
|
-
message: () => {
|
|
3023
|
-
const is = isVisible ? 'is' : 'is not';
|
|
3024
|
-
return [
|
|
3025
|
-
this.utils.matcherHint(
|
|
3026
|
-
`${this.isNot ? '.not' : ''}.toBeVisible`,
|
|
3027
|
-
'element',
|
|
3028
|
-
'',
|
|
3029
|
-
),
|
|
3030
|
-
'',
|
|
3031
|
-
`Received element ${is} visible${
|
|
3032
|
-
isInDocument ? '' : ' (element is not in the document)'
|
|
3033
|
-
}:`,
|
|
3034
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3035
|
-
].join('\n')
|
|
3036
|
-
},
|
|
3037
|
-
}
|
|
3038
|
-
}
|
|
3039
|
-
|
|
3040
|
-
// form elements that support 'disabled'
|
|
3041
|
-
const FORM_TAGS$2 = [
|
|
3042
|
-
'fieldset',
|
|
3043
|
-
'input',
|
|
3044
|
-
'select',
|
|
3045
|
-
'optgroup',
|
|
3046
|
-
'option',
|
|
3047
|
-
'button',
|
|
3048
|
-
'textarea',
|
|
3049
|
-
];
|
|
3050
|
-
|
|
3051
|
-
/*
|
|
3052
|
-
* According to specification:
|
|
3053
|
-
* If <fieldset> is disabled, the form controls that are its descendants,
|
|
3054
|
-
* except descendants of its first optional <legend> element, are disabled
|
|
3055
|
-
*
|
|
3056
|
-
* https://html.spec.whatwg.org/multipage/form-elements.html#concept-fieldset-disabled
|
|
3057
|
-
*
|
|
3058
|
-
* This method tests whether element is first legend child of fieldset parent
|
|
3059
|
-
*/
|
|
3060
|
-
function isFirstLegendChildOfFieldset(element, parent) {
|
|
3061
|
-
return (
|
|
3062
|
-
getTag(element) === 'legend' &&
|
|
3063
|
-
getTag(parent) === 'fieldset' &&
|
|
3064
|
-
element.isSameNode(
|
|
3065
|
-
Array.from(parent.children).find(child => getTag(child) === 'legend'),
|
|
3066
|
-
)
|
|
3067
|
-
)
|
|
3068
|
-
}
|
|
3069
|
-
|
|
3070
|
-
function isElementDisabledByParent(element, parent) {
|
|
3071
|
-
return (
|
|
3072
|
-
isElementDisabled(parent) && !isFirstLegendChildOfFieldset(element, parent)
|
|
3073
|
-
)
|
|
3074
|
-
}
|
|
3075
|
-
|
|
3076
|
-
function isCustomElement(tag) {
|
|
3077
|
-
return tag.includes('-')
|
|
3078
|
-
}
|
|
3079
|
-
|
|
3080
|
-
/*
|
|
3081
|
-
* Only certain form elements and custom elements can actually be disabled:
|
|
3082
|
-
* https://html.spec.whatwg.org/multipage/semantics-other.html#disabled-elements
|
|
3083
|
-
*/
|
|
3084
|
-
function canElementBeDisabled(element) {
|
|
3085
|
-
const tag = getTag(element);
|
|
3086
|
-
return FORM_TAGS$2.includes(tag) || isCustomElement(tag)
|
|
3087
|
-
}
|
|
3088
|
-
|
|
3089
|
-
function isElementDisabled(element) {
|
|
3090
|
-
return canElementBeDisabled(element) && element.hasAttribute('disabled')
|
|
3091
|
-
}
|
|
3092
|
-
|
|
3093
|
-
function isAncestorDisabled(element) {
|
|
3094
|
-
const parent = element.parentElement;
|
|
3095
|
-
return (
|
|
3096
|
-
Boolean(parent) &&
|
|
3097
|
-
(isElementDisabledByParent(element, parent) || isAncestorDisabled(parent))
|
|
3098
|
-
)
|
|
3099
|
-
}
|
|
3100
|
-
|
|
3101
|
-
function isElementOrAncestorDisabled(element) {
|
|
3102
|
-
return (
|
|
3103
|
-
canElementBeDisabled(element) &&
|
|
3104
|
-
(isElementDisabled(element) || isAncestorDisabled(element))
|
|
3105
|
-
)
|
|
3106
|
-
}
|
|
3107
|
-
|
|
3108
|
-
function toBeDisabled(element) {
|
|
3109
|
-
checkHtmlElement(element, toBeDisabled, this);
|
|
3110
|
-
|
|
3111
|
-
const isDisabled = isElementOrAncestorDisabled(element);
|
|
3112
|
-
|
|
3113
|
-
return {
|
|
3114
|
-
pass: isDisabled,
|
|
3115
|
-
message: () => {
|
|
3116
|
-
const is = isDisabled ? 'is' : 'is not';
|
|
3117
|
-
return [
|
|
3118
|
-
this.utils.matcherHint(
|
|
3119
|
-
`${this.isNot ? '.not' : ''}.toBeDisabled`,
|
|
3120
|
-
'element',
|
|
3121
|
-
'',
|
|
3122
|
-
),
|
|
3123
|
-
'',
|
|
3124
|
-
`Received element ${is} disabled:`,
|
|
3125
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3126
|
-
].join('\n')
|
|
3127
|
-
},
|
|
3128
|
-
}
|
|
3129
|
-
}
|
|
3130
|
-
|
|
3131
|
-
function toBeEnabled(element) {
|
|
3132
|
-
checkHtmlElement(element, toBeEnabled, this);
|
|
3133
|
-
|
|
3134
|
-
const isEnabled = !isElementOrAncestorDisabled(element);
|
|
3135
|
-
|
|
3136
|
-
return {
|
|
3137
|
-
pass: isEnabled,
|
|
3138
|
-
message: () => {
|
|
3139
|
-
const is = isEnabled ? 'is' : 'is not';
|
|
3140
|
-
return [
|
|
3141
|
-
this.utils.matcherHint(
|
|
3142
|
-
`${this.isNot ? '.not' : ''}.toBeEnabled`,
|
|
3143
|
-
'element',
|
|
3144
|
-
'',
|
|
3145
|
-
),
|
|
3146
|
-
'',
|
|
3147
|
-
`Received element ${is} enabled:`,
|
|
3148
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3149
|
-
].join('\n')
|
|
3150
|
-
},
|
|
3151
|
-
}
|
|
3152
|
-
}
|
|
3153
|
-
|
|
3154
|
-
// form elements that support 'required'
|
|
3155
|
-
const FORM_TAGS$1 = ['select', 'textarea'];
|
|
3156
|
-
|
|
3157
|
-
const ARIA_FORM_TAGS = ['input', 'select', 'textarea'];
|
|
3158
|
-
|
|
3159
|
-
const UNSUPPORTED_INPUT_TYPES = [
|
|
3160
|
-
'color',
|
|
3161
|
-
'hidden',
|
|
3162
|
-
'range',
|
|
3163
|
-
'submit',
|
|
3164
|
-
'image',
|
|
3165
|
-
'reset',
|
|
3166
|
-
];
|
|
3167
|
-
|
|
3168
|
-
const SUPPORTED_ARIA_ROLES = [
|
|
3169
|
-
'checkbox',
|
|
3170
|
-
'combobox',
|
|
3171
|
-
'gridcell',
|
|
3172
|
-
'listbox',
|
|
3173
|
-
'radiogroup',
|
|
3174
|
-
'spinbutton',
|
|
3175
|
-
'textbox',
|
|
3176
|
-
'tree',
|
|
3177
|
-
];
|
|
3178
|
-
|
|
3179
|
-
function isRequiredOnFormTagsExceptInput(element) {
|
|
3180
|
-
return FORM_TAGS$1.includes(getTag(element)) && element.hasAttribute('required')
|
|
3181
|
-
}
|
|
3182
|
-
|
|
3183
|
-
function isRequiredOnSupportedInput(element) {
|
|
3184
|
-
return (
|
|
3185
|
-
getTag(element) === 'input' &&
|
|
3186
|
-
element.hasAttribute('required') &&
|
|
3187
|
-
((element.hasAttribute('type') &&
|
|
3188
|
-
!UNSUPPORTED_INPUT_TYPES.includes(element.getAttribute('type'))) ||
|
|
3189
|
-
!element.hasAttribute('type'))
|
|
3190
|
-
)
|
|
3191
|
-
}
|
|
3192
|
-
|
|
3193
|
-
function isElementRequiredByARIA(element) {
|
|
3194
|
-
return (
|
|
3195
|
-
element.hasAttribute('aria-required') &&
|
|
3196
|
-
element.getAttribute('aria-required') === 'true' &&
|
|
3197
|
-
(ARIA_FORM_TAGS.includes(getTag(element)) ||
|
|
3198
|
-
(element.hasAttribute('role') &&
|
|
3199
|
-
SUPPORTED_ARIA_ROLES.includes(element.getAttribute('role'))))
|
|
3200
|
-
)
|
|
3201
|
-
}
|
|
3202
|
-
|
|
3203
|
-
function toBeRequired(element) {
|
|
3204
|
-
checkHtmlElement(element, toBeRequired, this);
|
|
3205
|
-
|
|
3206
|
-
const isRequired =
|
|
3207
|
-
isRequiredOnFormTagsExceptInput(element) ||
|
|
3208
|
-
isRequiredOnSupportedInput(element) ||
|
|
3209
|
-
isElementRequiredByARIA(element);
|
|
3210
|
-
|
|
3211
|
-
return {
|
|
3212
|
-
pass: isRequired,
|
|
3213
|
-
message: () => {
|
|
3214
|
-
const is = isRequired ? 'is' : 'is not';
|
|
3215
|
-
return [
|
|
3216
|
-
this.utils.matcherHint(
|
|
3217
|
-
`${this.isNot ? '.not' : ''}.toBeRequired`,
|
|
3218
|
-
'element',
|
|
3219
|
-
'',
|
|
3220
|
-
),
|
|
3221
|
-
'',
|
|
3222
|
-
`Received element ${is} required:`,
|
|
3223
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3224
|
-
].join('\n')
|
|
3225
|
-
},
|
|
3226
|
-
}
|
|
3227
|
-
}
|
|
3228
|
-
|
|
3229
|
-
const FORM_TAGS = ['form', 'input', 'select', 'textarea'];
|
|
3230
|
-
|
|
3231
|
-
function isElementHavingAriaInvalid(element) {
|
|
3232
|
-
return (
|
|
3233
|
-
element.hasAttribute('aria-invalid') &&
|
|
3234
|
-
element.getAttribute('aria-invalid') !== 'false'
|
|
3235
|
-
)
|
|
3236
|
-
}
|
|
3237
|
-
|
|
3238
|
-
function isSupportsValidityMethod(element) {
|
|
3239
|
-
return FORM_TAGS.includes(getTag(element))
|
|
3240
|
-
}
|
|
3241
|
-
|
|
3242
|
-
function isElementInvalid(element) {
|
|
3243
|
-
const isHaveAriaInvalid = isElementHavingAriaInvalid(element);
|
|
3244
|
-
if (isSupportsValidityMethod(element)) {
|
|
3245
|
-
return isHaveAriaInvalid || !element.checkValidity()
|
|
3246
|
-
} else {
|
|
3247
|
-
return isHaveAriaInvalid
|
|
3248
|
-
}
|
|
3249
|
-
}
|
|
3250
|
-
|
|
3251
|
-
function toBeInvalid(element) {
|
|
3252
|
-
checkHtmlElement(element, toBeInvalid, this);
|
|
3253
|
-
|
|
3254
|
-
const isInvalid = isElementInvalid(element);
|
|
3255
|
-
|
|
3256
|
-
return {
|
|
3257
|
-
pass: isInvalid,
|
|
3258
|
-
message: () => {
|
|
3259
|
-
const is = isInvalid ? 'is' : 'is not';
|
|
3260
|
-
return [
|
|
3261
|
-
this.utils.matcherHint(
|
|
3262
|
-
`${this.isNot ? '.not' : ''}.toBeInvalid`,
|
|
3263
|
-
'element',
|
|
3264
|
-
'',
|
|
3265
|
-
),
|
|
3266
|
-
'',
|
|
3267
|
-
`Received element ${is} currently invalid:`,
|
|
3268
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3269
|
-
].join('\n')
|
|
3270
|
-
},
|
|
3271
|
-
}
|
|
3272
|
-
}
|
|
3273
|
-
|
|
3274
|
-
function toBeValid(element) {
|
|
3275
|
-
checkHtmlElement(element, toBeValid, this);
|
|
3276
|
-
|
|
3277
|
-
const isValid = !isElementInvalid(element);
|
|
3278
|
-
|
|
3279
|
-
return {
|
|
3280
|
-
pass: isValid,
|
|
3281
|
-
message: () => {
|
|
3282
|
-
const is = isValid ? 'is' : 'is not';
|
|
3283
|
-
return [
|
|
3284
|
-
this.utils.matcherHint(
|
|
3285
|
-
`${this.isNot ? '.not' : ''}.toBeValid`,
|
|
3286
|
-
'element',
|
|
3287
|
-
'',
|
|
3288
|
-
),
|
|
3289
|
-
'',
|
|
3290
|
-
`Received element ${is} currently valid:`,
|
|
3291
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3292
|
-
].join('\n')
|
|
3293
|
-
},
|
|
3294
|
-
}
|
|
3295
|
-
}
|
|
3296
|
-
|
|
3297
|
-
function toHaveValue(htmlElement, expectedValue) {
|
|
3298
|
-
checkHtmlElement(htmlElement, toHaveValue, this);
|
|
3299
|
-
|
|
3300
|
-
if (
|
|
3301
|
-
htmlElement.tagName.toLowerCase() === 'input' &&
|
|
3302
|
-
['checkbox', 'radio'].includes(htmlElement.type)
|
|
3303
|
-
) {
|
|
3304
|
-
throw new Error(
|
|
3305
|
-
'input with type=checkbox or type=radio cannot be used with .toHaveValue(). Use .toBeChecked() for type=checkbox or .toHaveFormValues() instead',
|
|
3306
|
-
)
|
|
3307
|
-
}
|
|
3308
|
-
|
|
3309
|
-
const receivedValue = getSingleElementValue(htmlElement);
|
|
3310
|
-
const expectsValue = expectedValue !== undefined;
|
|
3311
|
-
|
|
3312
|
-
let expectedTypedValue = expectedValue;
|
|
3313
|
-
let receivedTypedValue = receivedValue;
|
|
3314
|
-
if (expectedValue == receivedValue && expectedValue !== receivedValue) {
|
|
3315
|
-
expectedTypedValue = `${expectedValue} (${typeof expectedValue})`;
|
|
3316
|
-
receivedTypedValue = `${receivedValue} (${typeof receivedValue})`;
|
|
3317
|
-
}
|
|
3318
|
-
|
|
3319
|
-
return {
|
|
3320
|
-
pass: expectsValue
|
|
3321
|
-
? compareAsSet(receivedValue, expectedValue)
|
|
3322
|
-
: Boolean(receivedValue),
|
|
3323
|
-
message: () => {
|
|
3324
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
3325
|
-
const matcher = this.utils.matcherHint(
|
|
3326
|
-
`${this.isNot ? '.not' : ''}.toHaveValue`,
|
|
3327
|
-
'element',
|
|
3328
|
-
expectedValue,
|
|
3329
|
-
);
|
|
3330
|
-
return getMessage(
|
|
3331
|
-
this,
|
|
3332
|
-
matcher,
|
|
3333
|
-
`Expected the element ${to} have value`,
|
|
3334
|
-
expectsValue ? expectedTypedValue : '(any)',
|
|
3335
|
-
'Received',
|
|
3336
|
-
receivedTypedValue,
|
|
3337
|
-
)
|
|
3338
|
-
},
|
|
3339
|
-
}
|
|
3340
|
-
}
|
|
3341
|
-
|
|
3342
|
-
function toHaveDisplayValue(htmlElement, expectedValue) {
|
|
3343
|
-
checkHtmlElement(htmlElement, toHaveDisplayValue, this);
|
|
3344
|
-
const tagName = htmlElement.tagName.toLowerCase();
|
|
3345
|
-
|
|
3346
|
-
if (!['select', 'input', 'textarea'].includes(tagName)) {
|
|
3347
|
-
throw new Error(
|
|
3348
|
-
'.toHaveDisplayValue() currently supports only input, textarea or select elements, try with another matcher instead.',
|
|
3349
|
-
)
|
|
3350
|
-
}
|
|
3351
|
-
|
|
3352
|
-
if (tagName === 'input' && ['radio', 'checkbox'].includes(htmlElement.type)) {
|
|
3353
|
-
throw new Error(
|
|
3354
|
-
`.toHaveDisplayValue() currently does not support input[type="${htmlElement.type}"], try with another matcher instead.`,
|
|
3355
|
-
)
|
|
3356
|
-
}
|
|
3357
|
-
|
|
3358
|
-
const values = getValues(tagName, htmlElement);
|
|
3359
|
-
const expectedValues = getExpectedValues(expectedValue);
|
|
3360
|
-
const numberOfMatchesWithValues = expectedValues.filter(expected =>
|
|
3361
|
-
values.some(value =>
|
|
3362
|
-
expected instanceof RegExp
|
|
3363
|
-
? expected.test(value)
|
|
3364
|
-
: this.equals(value, String(expected)),
|
|
3365
|
-
),
|
|
3366
|
-
).length;
|
|
3367
|
-
|
|
3368
|
-
const matchedWithAllValues = numberOfMatchesWithValues === values.length;
|
|
3369
|
-
const matchedWithAllExpectedValues =
|
|
3370
|
-
numberOfMatchesWithValues === expectedValues.length;
|
|
3371
|
-
|
|
3372
|
-
return {
|
|
3373
|
-
pass: matchedWithAllValues && matchedWithAllExpectedValues,
|
|
3374
|
-
message: () =>
|
|
3375
|
-
getMessage(
|
|
3376
|
-
this,
|
|
3377
|
-
this.utils.matcherHint(
|
|
3378
|
-
`${this.isNot ? '.not' : ''}.toHaveDisplayValue`,
|
|
3379
|
-
'element',
|
|
3380
|
-
'',
|
|
3381
|
-
),
|
|
3382
|
-
`Expected element ${this.isNot ? 'not ' : ''}to have display value`,
|
|
3383
|
-
expectedValue,
|
|
3384
|
-
'Received',
|
|
3385
|
-
values,
|
|
3386
|
-
),
|
|
3387
|
-
}
|
|
3388
|
-
}
|
|
3389
|
-
|
|
3390
|
-
function getValues(tagName, htmlElement) {
|
|
3391
|
-
return tagName === 'select'
|
|
3392
|
-
? Array.from(htmlElement)
|
|
3393
|
-
.filter(option => option.selected)
|
|
3394
|
-
.map(option => option.textContent)
|
|
3395
|
-
: [htmlElement.value]
|
|
3396
|
-
}
|
|
3397
|
-
|
|
3398
|
-
function getExpectedValues(expectedValue) {
|
|
3399
|
-
return expectedValue instanceof Array ? expectedValue : [expectedValue]
|
|
3400
|
-
}
|
|
3401
|
-
|
|
3402
|
-
function toBeChecked(element) {
|
|
3403
|
-
checkHtmlElement(element, toBeChecked, this);
|
|
3404
|
-
|
|
3405
|
-
const isValidInput = () => {
|
|
3406
|
-
return (
|
|
3407
|
-
element.tagName.toLowerCase() === 'input' &&
|
|
3408
|
-
['checkbox', 'radio'].includes(element.type)
|
|
3409
|
-
)
|
|
3410
|
-
};
|
|
3411
|
-
|
|
3412
|
-
const isValidAriaElement = () => {
|
|
3413
|
-
return (
|
|
3414
|
-
roleSupportsChecked(element.getAttribute('role')) &&
|
|
3415
|
-
['true', 'false'].includes(element.getAttribute('aria-checked'))
|
|
3416
|
-
)
|
|
3417
|
-
};
|
|
3418
|
-
|
|
3419
|
-
if (!isValidInput() && !isValidAriaElement()) {
|
|
3420
|
-
return {
|
|
3421
|
-
pass: false,
|
|
3422
|
-
message: () =>
|
|
3423
|
-
`only inputs with type="checkbox" or type="radio" or elements with ${supportedRolesSentence()} and a valid aria-checked attribute can be used with .toBeChecked(). Use .toHaveValue() instead`,
|
|
3424
|
-
}
|
|
3425
|
-
}
|
|
3426
|
-
|
|
3427
|
-
const isChecked = () => {
|
|
3428
|
-
if (isValidInput()) return element.checked
|
|
3429
|
-
return element.getAttribute('aria-checked') === 'true'
|
|
3430
|
-
};
|
|
3431
|
-
|
|
3432
|
-
return {
|
|
3433
|
-
pass: isChecked(),
|
|
3434
|
-
message: () => {
|
|
3435
|
-
const is = isChecked() ? 'is' : 'is not';
|
|
3436
|
-
return [
|
|
3437
|
-
this.utils.matcherHint(
|
|
3438
|
-
`${this.isNot ? '.not' : ''}.toBeChecked`,
|
|
3439
|
-
'element',
|
|
3440
|
-
'',
|
|
3441
|
-
),
|
|
3442
|
-
'',
|
|
3443
|
-
`Received element ${is} checked:`,
|
|
3444
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3445
|
-
].join('\n')
|
|
3446
|
-
},
|
|
3447
|
-
}
|
|
3448
|
-
}
|
|
3449
|
-
|
|
3450
|
-
function supportedRolesSentence() {
|
|
3451
|
-
return toSentence(
|
|
3452
|
-
supportedRoles().map(role => `role="${role}"`),
|
|
3453
|
-
{lastWordConnector: ' or '},
|
|
3454
|
-
)
|
|
3455
|
-
}
|
|
3456
|
-
|
|
3457
|
-
function supportedRoles() {
|
|
3458
|
-
return libExports.roles.keys().filter(roleSupportsChecked)
|
|
3459
|
-
}
|
|
3460
|
-
|
|
3461
|
-
function roleSupportsChecked(role) {
|
|
3462
|
-
return libExports.roles.get(role)?.props['aria-checked'] !== undefined
|
|
3463
|
-
}
|
|
3464
|
-
|
|
3465
|
-
function toBePartiallyChecked(element) {
|
|
3466
|
-
checkHtmlElement(element, toBePartiallyChecked, this);
|
|
3467
|
-
|
|
3468
|
-
const isValidInput = () => {
|
|
3469
|
-
return (
|
|
3470
|
-
element.tagName.toLowerCase() === 'input' && element.type === 'checkbox'
|
|
3471
|
-
)
|
|
3472
|
-
};
|
|
3473
|
-
|
|
3474
|
-
const isValidAriaElement = () => {
|
|
3475
|
-
return element.getAttribute('role') === 'checkbox'
|
|
3476
|
-
};
|
|
3477
|
-
|
|
3478
|
-
if (!isValidInput() && !isValidAriaElement()) {
|
|
3479
|
-
return {
|
|
3480
|
-
pass: false,
|
|
3481
|
-
message: () =>
|
|
3482
|
-
'only inputs with type="checkbox" or elements with role="checkbox" and a valid aria-checked attribute can be used with .toBePartiallyChecked(). Use .toHaveValue() instead',
|
|
3483
|
-
}
|
|
3484
|
-
}
|
|
3485
|
-
|
|
3486
|
-
const isPartiallyChecked = () => {
|
|
3487
|
-
const isAriaMixed = element.getAttribute('aria-checked') === 'mixed';
|
|
3488
|
-
|
|
3489
|
-
if (isValidInput()) {
|
|
3490
|
-
return element.indeterminate || isAriaMixed
|
|
3491
|
-
}
|
|
3492
|
-
|
|
3493
|
-
return isAriaMixed
|
|
3494
|
-
};
|
|
3495
|
-
|
|
3496
|
-
return {
|
|
3497
|
-
pass: isPartiallyChecked(),
|
|
3498
|
-
message: () => {
|
|
3499
|
-
const is = isPartiallyChecked() ? 'is' : 'is not';
|
|
3500
|
-
return [
|
|
3501
|
-
this.utils.matcherHint(
|
|
3502
|
-
`${this.isNot ? '.not' : ''}.toBePartiallyChecked`,
|
|
3503
|
-
'element',
|
|
3504
|
-
'',
|
|
3505
|
-
),
|
|
3506
|
-
'',
|
|
3507
|
-
`Received element ${is} partially checked:`,
|
|
3508
|
-
` ${this.utils.printReceived(element.cloneNode(false))}`,
|
|
3509
|
-
].join('\n')
|
|
3510
|
-
},
|
|
3511
|
-
}
|
|
3512
|
-
}
|
|
3513
|
-
|
|
3514
|
-
// See algoritm: https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description
|
|
3515
|
-
function toHaveDescription(htmlElement, checkWith) {
|
|
3516
|
-
deprecate(
|
|
3517
|
-
'toHaveDescription',
|
|
3518
|
-
'Please use toHaveAccessibleDescription.',
|
|
3519
|
-
);
|
|
3520
|
-
|
|
3521
|
-
checkHtmlElement(htmlElement, toHaveDescription, this);
|
|
3522
|
-
|
|
3523
|
-
const expectsDescription = checkWith !== undefined;
|
|
3524
|
-
|
|
3525
|
-
const descriptionIDRaw = htmlElement.getAttribute('aria-describedby') || '';
|
|
3526
|
-
const descriptionIDs = descriptionIDRaw.split(/\s+/).filter(Boolean);
|
|
3527
|
-
let description = '';
|
|
3528
|
-
if (descriptionIDs.length > 0) {
|
|
3529
|
-
const document = htmlElement.ownerDocument;
|
|
3530
|
-
const descriptionEls = descriptionIDs
|
|
3531
|
-
.map(descriptionID => document.getElementById(descriptionID))
|
|
3532
|
-
.filter(Boolean);
|
|
3533
|
-
description = normalize(descriptionEls.map(el => el.textContent).join(' '));
|
|
3534
|
-
}
|
|
3535
|
-
|
|
3536
|
-
return {
|
|
3537
|
-
pass: expectsDescription
|
|
3538
|
-
? checkWith instanceof RegExp
|
|
3539
|
-
? checkWith.test(description)
|
|
3540
|
-
: this.equals(description, checkWith)
|
|
3541
|
-
: Boolean(description),
|
|
3542
|
-
message: () => {
|
|
3543
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
3544
|
-
return getMessage(
|
|
3545
|
-
this,
|
|
3546
|
-
this.utils.matcherHint(
|
|
3547
|
-
`${this.isNot ? '.not' : ''}.toHaveDescription`,
|
|
3548
|
-
'element',
|
|
3549
|
-
'',
|
|
3550
|
-
),
|
|
3551
|
-
`Expected the element ${to} have description`,
|
|
3552
|
-
this.utils.printExpected(checkWith),
|
|
3553
|
-
'Received',
|
|
3554
|
-
this.utils.printReceived(description),
|
|
3555
|
-
)
|
|
3556
|
-
},
|
|
3557
|
-
}
|
|
3558
|
-
}
|
|
3559
|
-
|
|
3560
|
-
// See aria-errormessage spec https://www.w3.org/TR/wai-aria-1.2/#aria-errormessage
|
|
3561
|
-
function toHaveErrorMessage(htmlElement, checkWith) {
|
|
3562
|
-
deprecate('toHaveErrorMessage', 'Please use toHaveAccessibleErrorMessage.');
|
|
3563
|
-
checkHtmlElement(htmlElement, toHaveErrorMessage, this);
|
|
3564
|
-
|
|
3565
|
-
if (
|
|
3566
|
-
!htmlElement.hasAttribute('aria-invalid') ||
|
|
3567
|
-
htmlElement.getAttribute('aria-invalid') === 'false'
|
|
3568
|
-
) {
|
|
3569
|
-
const not = this.isNot ? '.not' : '';
|
|
3570
|
-
|
|
3571
|
-
return {
|
|
3572
|
-
pass: false,
|
|
3573
|
-
message: () => {
|
|
3574
|
-
return getMessage(
|
|
3575
|
-
this,
|
|
3576
|
-
this.utils.matcherHint(`${not}.toHaveErrorMessage`, 'element', ''),
|
|
3577
|
-
`Expected the element to have invalid state indicated by`,
|
|
3578
|
-
'aria-invalid="true"',
|
|
3579
|
-
'Received',
|
|
3580
|
-
htmlElement.hasAttribute('aria-invalid')
|
|
3581
|
-
? `aria-invalid="${htmlElement.getAttribute('aria-invalid')}"`
|
|
3582
|
-
: this.utils.printReceived(''),
|
|
3583
|
-
)
|
|
3584
|
-
},
|
|
3585
|
-
}
|
|
3586
|
-
}
|
|
3587
|
-
|
|
3588
|
-
const expectsErrorMessage = checkWith !== undefined;
|
|
3589
|
-
|
|
3590
|
-
const errormessageIDRaw = htmlElement.getAttribute('aria-errormessage') || '';
|
|
3591
|
-
const errormessageIDs = errormessageIDRaw.split(/\s+/).filter(Boolean);
|
|
3592
|
-
|
|
3593
|
-
let errormessage = '';
|
|
3594
|
-
if (errormessageIDs.length > 0) {
|
|
3595
|
-
const document = htmlElement.ownerDocument;
|
|
3596
|
-
|
|
3597
|
-
const errormessageEls = errormessageIDs
|
|
3598
|
-
.map(errormessageID => document.getElementById(errormessageID))
|
|
3599
|
-
.filter(Boolean);
|
|
3600
|
-
|
|
3601
|
-
errormessage = normalize(
|
|
3602
|
-
errormessageEls.map(el => el.textContent).join(' '),
|
|
3603
|
-
);
|
|
3604
|
-
}
|
|
3605
|
-
|
|
3606
|
-
return {
|
|
3607
|
-
pass: expectsErrorMessage
|
|
3608
|
-
? checkWith instanceof RegExp
|
|
3609
|
-
? checkWith.test(errormessage)
|
|
3610
|
-
: this.equals(errormessage, checkWith)
|
|
3611
|
-
: Boolean(errormessage),
|
|
3612
|
-
message: () => {
|
|
3613
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
3614
|
-
return getMessage(
|
|
3615
|
-
this,
|
|
3616
|
-
this.utils.matcherHint(
|
|
3617
|
-
`${this.isNot ? '.not' : ''}.toHaveErrorMessage`,
|
|
3618
|
-
'element',
|
|
3619
|
-
'',
|
|
3620
|
-
),
|
|
3621
|
-
`Expected the element ${to} have error message`,
|
|
3622
|
-
this.utils.printExpected(checkWith),
|
|
3623
|
-
'Received',
|
|
3624
|
-
this.utils.printReceived(errormessage),
|
|
3625
|
-
)
|
|
3626
|
-
},
|
|
3627
|
-
}
|
|
3628
|
-
}
|
|
3629
|
-
|
|
3630
|
-
/**
|
|
3631
|
-
* Returns the selection from the element.
|
|
3632
|
-
*
|
|
3633
|
-
* @param element {HTMLElement} The element to get the selection from.
|
|
3634
|
-
* @returns {String} The selection.
|
|
3635
|
-
*/
|
|
3636
|
-
function getSelection(element) {
|
|
3637
|
-
const selection = element.ownerDocument.getSelection();
|
|
3638
|
-
|
|
3639
|
-
if (['input', 'textarea'].includes(element.tagName.toLowerCase())) {
|
|
3640
|
-
if (['radio', 'checkbox'].includes(element.type)) return ''
|
|
3641
|
-
return element.value
|
|
3642
|
-
.toString()
|
|
3643
|
-
.substring(element.selectionStart, element.selectionEnd)
|
|
3644
|
-
}
|
|
3645
|
-
|
|
3646
|
-
if (selection.anchorNode === null || selection.focusNode === null) {
|
|
3647
|
-
// No selection
|
|
3648
|
-
return ''
|
|
3649
|
-
}
|
|
3650
|
-
|
|
3651
|
-
const originalRange = selection.getRangeAt(0);
|
|
3652
|
-
const temporaryRange = element.ownerDocument.createRange();
|
|
3653
|
-
|
|
3654
|
-
if (selection.containsNode(element, false)) {
|
|
3655
|
-
// Whole element is inside selection
|
|
3656
|
-
temporaryRange.selectNodeContents(element);
|
|
3657
|
-
selection.removeAllRanges();
|
|
3658
|
-
selection.addRange(temporaryRange);
|
|
3659
|
-
} else if (
|
|
3660
|
-
element.contains(selection.anchorNode) &&
|
|
3661
|
-
element.contains(selection.focusNode)
|
|
3662
|
-
) ; else {
|
|
3663
|
-
// Element is partially selected
|
|
3664
|
-
const selectionStartsWithinElement =
|
|
3665
|
-
element === originalRange.startContainer ||
|
|
3666
|
-
element.contains(originalRange.startContainer);
|
|
3667
|
-
const selectionEndsWithinElement =
|
|
3668
|
-
element === originalRange.endContainer ||
|
|
3669
|
-
element.contains(originalRange.endContainer);
|
|
3670
|
-
selection.removeAllRanges();
|
|
3671
|
-
|
|
3672
|
-
if (selectionStartsWithinElement || selectionEndsWithinElement) {
|
|
3673
|
-
temporaryRange.selectNodeContents(element);
|
|
3674
|
-
|
|
3675
|
-
if (selectionStartsWithinElement) {
|
|
3676
|
-
temporaryRange.setStart(
|
|
3677
|
-
originalRange.startContainer,
|
|
3678
|
-
originalRange.startOffset,
|
|
3679
|
-
);
|
|
3680
|
-
}
|
|
3681
|
-
if (selectionEndsWithinElement) {
|
|
3682
|
-
temporaryRange.setEnd(
|
|
3683
|
-
originalRange.endContainer,
|
|
3684
|
-
originalRange.endOffset,
|
|
3685
|
-
);
|
|
3686
|
-
}
|
|
3687
|
-
|
|
3688
|
-
selection.addRange(temporaryRange);
|
|
3689
|
-
}
|
|
3690
|
-
}
|
|
3691
|
-
|
|
3692
|
-
const result = selection.toString();
|
|
3693
|
-
|
|
3694
|
-
selection.removeAllRanges();
|
|
3695
|
-
selection.addRange(originalRange);
|
|
3696
|
-
|
|
3697
|
-
return result
|
|
3698
|
-
}
|
|
3699
|
-
|
|
3700
|
-
/**
|
|
3701
|
-
* Checks if the element has the string selected.
|
|
3702
|
-
*
|
|
3703
|
-
* @param htmlElement {HTMLElement} The html element to check the selection for.
|
|
3704
|
-
* @param expectedSelection {String} The selection as a string.
|
|
3705
|
-
*/
|
|
3706
|
-
function toHaveSelection(htmlElement, expectedSelection) {
|
|
3707
|
-
checkHtmlElement(htmlElement, toHaveSelection, this);
|
|
3708
|
-
|
|
3709
|
-
const expectsSelection = expectedSelection !== undefined;
|
|
3710
|
-
|
|
3711
|
-
if (expectsSelection && typeof expectedSelection !== 'string') {
|
|
3712
|
-
throw new Error(`expected selection must be a string or undefined`)
|
|
3713
|
-
}
|
|
3714
|
-
|
|
3715
|
-
const receivedSelection = getSelection(htmlElement);
|
|
3716
|
-
|
|
3717
|
-
return {
|
|
3718
|
-
pass: expectsSelection
|
|
3719
|
-
? compareAsSet(receivedSelection, expectedSelection)
|
|
3720
|
-
: Boolean(receivedSelection),
|
|
3721
|
-
message: () => {
|
|
3722
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
3723
|
-
const matcher = this.utils.matcherHint(
|
|
3724
|
-
`${this.isNot ? '.not' : ''}.toHaveSelection`,
|
|
3725
|
-
'element',
|
|
3726
|
-
expectedSelection,
|
|
3727
|
-
);
|
|
3728
|
-
return getMessage(
|
|
3729
|
-
this,
|
|
3730
|
-
matcher,
|
|
3731
|
-
`Expected the element ${to} have selection`,
|
|
3732
|
-
expectsSelection ? expectedSelection : '(any)',
|
|
3733
|
-
'Received',
|
|
3734
|
-
receivedSelection,
|
|
3735
|
-
)
|
|
3736
|
-
},
|
|
3737
|
-
}
|
|
3738
|
-
}
|
|
3739
|
-
|
|
3740
|
-
function toBePressed(element) {
|
|
3741
|
-
checkHtmlElement(element, toBePressed, this);
|
|
3742
|
-
|
|
3743
|
-
const roles = (element.getAttribute('role') || '')
|
|
3744
|
-
.split(' ')
|
|
3745
|
-
.map(role => role.trim());
|
|
3746
|
-
|
|
3747
|
-
const isButton =
|
|
3748
|
-
element.tagName.toLowerCase() === 'button' ||
|
|
3749
|
-
(element.tagName.toLowerCase() === 'input' && element.type === 'button') ||
|
|
3750
|
-
roles.includes('button');
|
|
3751
|
-
|
|
3752
|
-
const pressedAttribute = element.getAttribute('aria-pressed');
|
|
3753
|
-
|
|
3754
|
-
const isValidAriaElement =
|
|
3755
|
-
pressedAttribute === 'true' || pressedAttribute === 'false';
|
|
3756
|
-
|
|
3757
|
-
if (!isButton || !isValidAriaElement) {
|
|
3758
|
-
return {
|
|
3759
|
-
pass: false,
|
|
3760
|
-
message: () =>
|
|
3761
|
-
`Only button or input with type="button" or element with role="button" and a valid aria-pressed attribute can be used with .toBePressed()`,
|
|
3762
|
-
}
|
|
3763
|
-
}
|
|
3764
|
-
|
|
3765
|
-
const isPressed = pressedAttribute === 'true';
|
|
3766
|
-
|
|
3767
|
-
return {
|
|
3768
|
-
pass: isButton && isPressed,
|
|
3769
|
-
|
|
3770
|
-
message: () => {
|
|
3771
|
-
const matcher = this.utils.matcherHint(
|
|
3772
|
-
`${this.isNot ? '.not' : ''}.toBePressed`,
|
|
3773
|
-
'element',
|
|
3774
|
-
'',
|
|
3775
|
-
);
|
|
3776
|
-
|
|
3777
|
-
return getMessage(
|
|
3778
|
-
this,
|
|
3779
|
-
matcher,
|
|
3780
|
-
`Expected element to have`,
|
|
3781
|
-
`aria-pressed="${this.isNot ? 'false' : 'true'}"`,
|
|
3782
|
-
`Received`,
|
|
3783
|
-
`aria-pressed="${pressedAttribute}"`,
|
|
3784
|
-
)
|
|
3785
|
-
},
|
|
3786
|
-
}
|
|
3787
|
-
}
|
|
3788
|
-
|
|
3789
|
-
function toBePartiallyPressed(element) {
|
|
3790
|
-
checkHtmlElement(element, toBePartiallyPressed, this);
|
|
3791
|
-
|
|
3792
|
-
const roles = (element.getAttribute('role') || '')
|
|
3793
|
-
.split(' ')
|
|
3794
|
-
.map(role => role.trim());
|
|
3795
|
-
|
|
3796
|
-
const isButton =
|
|
3797
|
-
element.tagName.toLowerCase() === 'button' ||
|
|
3798
|
-
(element.tagName.toLowerCase() === 'input' && element.type === 'button') ||
|
|
3799
|
-
roles.includes('button');
|
|
3800
|
-
|
|
3801
|
-
const pressedAttribute = element.getAttribute('aria-pressed');
|
|
3802
|
-
|
|
3803
|
-
const isValidAriaElement =
|
|
3804
|
-
pressedAttribute === 'true' ||
|
|
3805
|
-
pressedAttribute === 'false' ||
|
|
3806
|
-
pressedAttribute === 'mixed';
|
|
3807
|
-
|
|
3808
|
-
if (!isButton || !isValidAriaElement) {
|
|
3809
|
-
return {
|
|
3810
|
-
pass: false,
|
|
3811
|
-
message: () =>
|
|
3812
|
-
`Only button or input with type="button" or element with role="button" and a valid aria-pressed attribute can be used with .toBePartiallyPressed()`,
|
|
3813
|
-
}
|
|
3814
|
-
}
|
|
3815
|
-
|
|
3816
|
-
const isPartiallyPressed = pressedAttribute === 'mixed';
|
|
3817
|
-
|
|
3818
|
-
return {
|
|
3819
|
-
pass: isButton && isPartiallyPressed,
|
|
3820
|
-
|
|
3821
|
-
message: () => {
|
|
3822
|
-
const to = this.isNot ? 'not to' : 'to';
|
|
3823
|
-
|
|
3824
|
-
const matcher = this.utils.matcherHint(
|
|
3825
|
-
`${this.isNot ? '.not' : ''}.toBePartiallyPressed`,
|
|
3826
|
-
'element',
|
|
3827
|
-
'',
|
|
3828
|
-
);
|
|
3829
|
-
|
|
3830
|
-
return getMessage(
|
|
3831
|
-
this,
|
|
3832
|
-
matcher,
|
|
3833
|
-
`Expected element ${to} have`,
|
|
3834
|
-
`aria-pressed="mixed"`,
|
|
3835
|
-
`Received`,
|
|
3836
|
-
`aria-pressed="${pressedAttribute}"`,
|
|
3837
|
-
)
|
|
3838
|
-
},
|
|
3839
|
-
}
|
|
3840
|
-
}
|
|
3841
|
-
|
|
3842
|
-
// ref: https://dom.spec.whatwg.org/#dom-node-document_position_disconnected
|
|
3843
|
-
const DOCUMENT_POSITION_DISCONNECTED = 0x01;
|
|
3844
|
-
const DOCUMENT_POSITION_PRECEDING = 0x02;
|
|
3845
|
-
const DOCUMENT_POSITION_FOLLOWING = 0x04;
|
|
3846
|
-
const DOCUMENT_POSITION_CONTAINS = 0x08;
|
|
3847
|
-
const DOCUMENT_POSITION_CONTAINED_BY = 0x10;
|
|
3848
|
-
const DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
|
|
3849
|
-
|
|
3850
|
-
// ref: https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition
|
|
3851
|
-
const DOCUMENT_POSITIONS_STRINGS = {
|
|
3852
|
-
[DOCUMENT_POSITION_DISCONNECTED]: 'Node.DOCUMENT_POSITION_DISCONNECTED',
|
|
3853
|
-
[DOCUMENT_POSITION_PRECEDING]: 'Node.DOCUMENT_POSITION_PRECEDING',
|
|
3854
|
-
[DOCUMENT_POSITION_FOLLOWING]: 'Node.DOCUMENT_POSITION_FOLLOWING',
|
|
3855
|
-
[DOCUMENT_POSITION_CONTAINS]: 'Node.DOCUMENT_POSITION_CONTAINS',
|
|
3856
|
-
[DOCUMENT_POSITION_CONTAINED_BY]: 'Node.DOCUMENT_POSITION_CONTAINED_BY',
|
|
3857
|
-
[DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC]:
|
|
3858
|
-
'Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC',
|
|
3859
|
-
};
|
|
3860
|
-
|
|
3861
|
-
function makeDocumentPositionErrorString(documentPosition) {
|
|
3862
|
-
if (documentPosition in DOCUMENT_POSITIONS_STRINGS) {
|
|
3863
|
-
return `${DOCUMENT_POSITIONS_STRINGS[documentPosition]} (${documentPosition})`
|
|
3864
|
-
}
|
|
3865
|
-
|
|
3866
|
-
return `Unknown document position (${documentPosition})`
|
|
3867
|
-
}
|
|
3868
|
-
|
|
3869
|
-
function checkToAppear(methodName, targetDocumentPosition) {
|
|
3870
|
-
// eslint-disable-next-line func-names
|
|
3871
|
-
return function (element, secondElement) {
|
|
3872
|
-
checkHtmlElement(element, toAppearBefore, this);
|
|
3873
|
-
checkHtmlElement(secondElement, toAppearBefore, this);
|
|
3874
|
-
|
|
3875
|
-
const documentPosition = element.compareDocumentPosition(secondElement);
|
|
3876
|
-
const pass = documentPosition === targetDocumentPosition;
|
|
3877
|
-
|
|
3878
|
-
return {
|
|
3879
|
-
pass,
|
|
3880
|
-
message: () => {
|
|
3881
|
-
return [
|
|
3882
|
-
this.utils.matcherHint(
|
|
3883
|
-
`${this.isNot ? '.not' : ''}.${methodName}`,
|
|
3884
|
-
'element',
|
|
3885
|
-
'secondElement',
|
|
3886
|
-
),
|
|
3887
|
-
'',
|
|
3888
|
-
`Received: ${makeDocumentPositionErrorString(documentPosition)}`,
|
|
3889
|
-
].join('\n')
|
|
3890
|
-
},
|
|
3891
|
-
}
|
|
3892
|
-
}
|
|
3893
|
-
}
|
|
3894
|
-
|
|
3895
|
-
function toAppearBefore(element, secondElement) {
|
|
3896
|
-
return checkToAppear('toAppearBefore', DOCUMENT_POSITION_FOLLOWING).apply(
|
|
3897
|
-
this,
|
|
3898
|
-
[element, secondElement],
|
|
3899
|
-
)
|
|
3900
|
-
}
|
|
3901
|
-
|
|
3902
|
-
function toAppearAfter(element, secondElement) {
|
|
3903
|
-
return checkToAppear('toAppearAfter', DOCUMENT_POSITION_PRECEDING).apply(
|
|
3904
|
-
this,
|
|
3905
|
-
[element, secondElement],
|
|
3906
|
-
)
|
|
3907
|
-
}
|
|
3908
|
-
|
|
3909
|
-
var extensions = /*#__PURE__*/Object.freeze({
|
|
3910
|
-
__proto__: null,
|
|
3911
|
-
toAppearAfter: toAppearAfter,
|
|
3912
|
-
toAppearBefore: toAppearBefore,
|
|
3913
|
-
toBeChecked: toBeChecked,
|
|
3914
|
-
toBeDisabled: toBeDisabled,
|
|
3915
|
-
toBeEmpty: toBeEmpty,
|
|
3916
|
-
toBeEmptyDOMElement: toBeEmptyDOMElement,
|
|
3917
|
-
toBeEnabled: toBeEnabled,
|
|
3918
|
-
toBeInTheDOM: toBeInTheDOM,
|
|
3919
|
-
toBeInTheDocument: toBeInTheDocument,
|
|
3920
|
-
toBeInvalid: toBeInvalid,
|
|
3921
|
-
toBePartiallyChecked: toBePartiallyChecked,
|
|
3922
|
-
toBePartiallyPressed: toBePartiallyPressed,
|
|
3923
|
-
toBePressed: toBePressed,
|
|
3924
|
-
toBeRequired: toBeRequired,
|
|
3925
|
-
toBeValid: toBeValid,
|
|
3926
|
-
toBeVisible: toBeVisible,
|
|
3927
|
-
toContainElement: toContainElement,
|
|
3928
|
-
toContainHTML: toContainHTML,
|
|
3929
|
-
toHaveAccessibleDescription: toHaveAccessibleDescription,
|
|
3930
|
-
toHaveAccessibleErrorMessage: toHaveAccessibleErrorMessage,
|
|
3931
|
-
toHaveAccessibleName: toHaveAccessibleName,
|
|
3932
|
-
toHaveAttribute: toHaveAttribute,
|
|
3933
|
-
toHaveClass: toHaveClass,
|
|
3934
|
-
toHaveDescription: toHaveDescription,
|
|
3935
|
-
toHaveDisplayValue: toHaveDisplayValue,
|
|
3936
|
-
toHaveErrorMessage: toHaveErrorMessage,
|
|
3937
|
-
toHaveFocus: toHaveFocus,
|
|
3938
|
-
toHaveFormValues: toHaveFormValues,
|
|
3939
|
-
toHaveRole: toHaveRole,
|
|
3940
|
-
toHaveSelection: toHaveSelection,
|
|
3941
|
-
toHaveStyle: toHaveStyle,
|
|
3942
|
-
toHaveTextContent: toHaveTextContent,
|
|
3943
|
-
toHaveValue: toHaveValue
|
|
3944
|
-
});
|
|
3945
|
-
|
|
3946
|
-
expect.extend(extensions);
|
|
3947
|
-
//# sourceMappingURL=index-BCxawEMQ.js.map
|