@pnx-mixtape/mxds 0.1.0-rc.1 → 0.1.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/decorators.ts +15 -0
- package/.storybook/{preview.ts → preview.tsx} +8 -1
- package/.storybook/src/docs.tsx +29 -0
- package/.storybook/themes/campus-vibrant.css +181 -0
- package/.storybook/themes/civic-formal.css +246 -0
- package/.storybook/{theme-demo.css → themes/demo.css} +14 -7
- package/.storybook/themes/health-services.css +255 -0
- package/.storybook/themes/research-faculty.css +169 -0
- package/dist/build/accordion.css +1 -1
- package/dist/build/accordion.entry.js +1 -1
- package/dist/build/autocomplete.css +1 -1
- package/dist/build/autocomplete.entry.js +1 -1
- package/dist/build/base.css +1 -1
- package/dist/build/breadcrumb.css +1 -1
- package/dist/build/button.css +1 -1
- package/dist/build/card.css +1 -1
- package/dist/build/chunks/{Accordion-z-dH6nFH.js → Accordion-GN0sME4W.js} +1 -1
- package/dist/build/chunks/{AccordionMobile-BYPPNyf5.js → AccordionMobile-DG5jSe8Q.js} +1 -1
- package/dist/build/chunks/{Autocomplete-2L6tLLuh.js → Autocomplete-B4RtkAyh.js} +1 -1
- package/dist/build/chunks/{ClosableAlert-DdXbF1J2.js → ClosableAlert-DEhj8Nxm.js} +1 -1
- package/dist/build/chunks/{Dialog-Ds8gzhri.js → Dialog-Haahn-Yn.js} +1 -1
- package/dist/build/chunks/DropMenu-1baQc8Yc.js +1 -0
- package/dist/build/chunks/Gallery-D8NGXy2Q.js +1 -0
- package/dist/build/chunks/GlobalToggle-B52fdBQu.js +1 -0
- package/dist/build/chunks/InPageNavigation-Dyn2TR-N.js +1 -0
- package/dist/build/chunks/Navigation-hOrfLq7h.js +1 -0
- package/dist/build/chunks/Popover-Cxg-s5Jn.js +1 -0
- package/dist/build/chunks/Sticky-BGCuuEJK.js +1 -0
- package/dist/build/chunks/Tabs-DYy1YTdU.js +15 -0
- package/dist/build/chunks/enums-DLV_1NAf.js +1 -0
- package/dist/build/chunks/polyfills-C7pRt54M.js +1 -0
- package/dist/build/chunks/utilities-_Bq3TxAQ.js +1 -0
- package/dist/build/constants.css +1 -1
- package/dist/build/cookie-consent.css +1 -1
- package/dist/build/dialog.entry.js +1 -1
- package/dist/build/drop-menu.entry.js +1 -1
- package/dist/build/elements.js +1 -1
- package/dist/build/filters.css +1 -1
- package/dist/build/filters.entry.js +1 -1
- package/dist/build/form.css +1 -1
- package/dist/build/gallery.entry.js +1 -1
- package/dist/build/global-alert.entry.js +1 -1
- package/dist/build/grid.css +1 -1
- package/dist/build/header.entry.js +1 -1
- package/dist/build/icon.css +1 -1
- package/dist/build/in-page-alert.css +1 -1
- package/dist/build/in-page-navigation.entry.js +1 -1
- package/dist/build/list-item.css +1 -1
- package/dist/build/navigation.css +1 -1
- package/dist/build/navigation.entry.js +1 -1
- package/dist/build/one-time-code.css +1 -0
- package/dist/build/popover.css +1 -1
- package/dist/build/popover.entry.js +1 -1
- package/dist/build/print.css +1 -1
- package/dist/build/progress-indicator.css +1 -0
- package/dist/build/react.js +1 -1
- package/dist/build/sidebar.css +1 -1
- package/dist/build/steps.css +1 -1
- package/dist/build/sticky.entry.js +1 -1
- package/dist/build/tabs.css +1 -1
- package/dist/build/tabs.entry.js +1 -1
- package/dist/build/tag.css +1 -1
- package/dist/build/utilities.css +1 -1
- package/dist/types/Atom/DefinitionList/DefinitionList.d.ts +3 -2
- package/dist/types/Atom/DefinitionList/DefinitionList.d.ts.map +1 -1
- package/dist/types/Atom/Heading/Heading.d.ts.map +1 -1
- package/dist/types/Atom/Link/Link.d.ts.map +1 -1
- package/dist/types/Atom/List/List.d.ts +10 -0
- package/dist/types/Atom/List/List.d.ts.map +1 -0
- package/dist/types/Component/Accordion/Accordion.d.ts.map +1 -1
- package/dist/types/Component/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/Component/DropMenu/Elements/DropMenu.d.ts.map +1 -1
- package/dist/types/Component/Filters/Elements/Filters.d.ts +20 -1
- package/dist/types/Component/Filters/Elements/Filters.d.ts.map +1 -1
- package/dist/types/Component/Filters/Filters.d.ts +7 -2
- package/dist/types/Component/Filters/Filters.d.ts.map +1 -1
- package/dist/types/Component/Gallery/Gallery.d.ts.map +1 -1
- package/dist/types/Component/InPageNavigation/Elements/InPageNavigation.d.ts +2 -2
- package/dist/types/Component/InPageNavigation/Elements/InPageNavigation.d.ts.map +1 -1
- package/dist/types/Component/InPageNavigation/Hooks/useInPageNavigation.d.ts.map +1 -1
- package/dist/types/Component/Pagination/Components/PaginationContext.d.ts.map +1 -1
- package/dist/types/Component/ProgressIndicator/ProgressIndicator.d.ts +9 -0
- package/dist/types/Component/ProgressIndicator/ProgressIndicator.d.ts.map +1 -0
- package/dist/types/Component/Tabs/Elements/Tabs.d.ts.map +1 -1
- package/dist/types/Component/Tabs/Tabs.d.ts.map +1 -1
- package/dist/types/Component/Tag/Tag.d.ts +4 -2
- package/dist/types/Component/Tag/Tag.d.ts.map +1 -1
- package/dist/types/Form/Autocomplete/Autocomplete.d.ts +2 -2
- package/dist/types/Form/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/types/Form/Autocomplete/Elements/Autocomplete.d.ts +10 -0
- package/dist/types/Form/Autocomplete/Elements/Autocomplete.d.ts.map +1 -1
- package/dist/types/Form/Checkbox/FormCheckbox.d.ts.map +1 -1
- package/dist/types/Form/CheckboxCard/CheckboxCard.d.ts +23 -0
- package/dist/types/Form/CheckboxCard/CheckboxCard.d.ts.map +1 -0
- package/dist/types/Form/OneTimeCode/OneTimeCode.d.ts +12 -0
- package/dist/types/Form/OneTimeCode/OneTimeCode.d.ts.map +1 -0
- package/dist/types/Form/Radio/FormRadio.d.ts.map +1 -1
- package/dist/types/Form/RadioCard/RadioCard.d.ts +16 -0
- package/dist/types/Form/RadioCard/RadioCard.d.ts.map +1 -0
- package/dist/types/Form/Select/FormSelect.d.ts.map +1 -1
- package/dist/types/Form/TextInput/FormText.d.ts.map +1 -1
- package/dist/types/Form/Textarea/FormTextarea.d.ts.map +1 -1
- package/dist/types/Utility/Hooks/useIsomorphicLayoutEffect.d.ts +4 -0
- package/dist/types/Utility/Hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/types/enums.d.ts +19 -0
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/react.d.ts +5 -0
- package/dist/types/react.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/Atom/Background/_background.css +2 -2
- package/src/Atom/Blockquote/_blockquote.css +9 -2
- package/src/Atom/Button/README.md +1 -0
- package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +2 -3
- package/src/Atom/Button/_buttons-styles.css +6 -6
- package/src/Atom/Button/_buttons.css +21 -3
- package/src/Atom/Button/button.twig +4 -1
- package/src/Atom/DefinitionList/DefinitionList.stories.ts +42 -2
- package/src/Atom/DefinitionList/DefinitionList.stories.tsx +36 -0
- package/src/Atom/DefinitionList/DefinitionList.tsx +4 -1
- package/src/Atom/DefinitionList/DefinitionListItem.stories.ts +1 -1
- package/src/Atom/DefinitionList/README.md +43 -0
- package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +37 -3
- package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.tsx.snap +2 -0
- package/src/Atom/DefinitionList/__snapshots__/DefinitionListItem.stories.ts.snap +3 -3
- package/src/Atom/DefinitionList/definition-list-item.twig +1 -0
- package/src/Atom/DefinitionList/definition-list.twig +6 -1
- package/src/Atom/Heading/Heading.tsx +6 -0
- package/src/Atom/Heading/_headings.css +2 -1
- package/src/Atom/Icon/_extended-set.css +30 -30
- package/src/Atom/Icon/_icon.css +39 -36
- package/src/Atom/Image/README.md +2 -2
- package/src/Atom/Image/_image.css +12 -6
- package/src/Atom/Link/Link.tsx +16 -3
- package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +7 -12
- package/src/Atom/Link/__snapshots__/Link.stories.tsx.snap +1 -1
- package/src/Atom/Link/_links.css +9 -0
- package/src/Atom/Link/link.twig +8 -2
- package/src/Atom/LinkedImage/linked-image.twig +1 -2
- package/src/Atom/List/List.stories.ts +102 -0
- package/src/Atom/List/List.stories.tsx +103 -0
- package/src/Atom/List/List.tsx +22 -0
- package/src/Atom/List/README.md +150 -0
- package/src/Atom/List/__snapshots__/List.stories.ts.snap +43 -0
- package/src/Atom/List/__snapshots__/List.stories.tsx.snap +13 -0
- package/src/Atom/List/_list.css +123 -0
- package/src/Atom/List/list.twig +5 -0
- package/src/Atom/Media/Media.stories.ts +1 -1
- package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +2 -2
- package/src/Atom/Spacing/_spacing.css +24 -24
- package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +24 -4
- package/src/Atom/Table/_table.css +15 -3
- package/src/Atom/Table/table.twig +6 -1
- package/src/Atom/Text/__snapshots__/Text.stories.ts.snap +3 -2
- package/src/Atom/Text/_text-styles.css +21 -1
- package/src/Atom/Text/twig/text-styles-example.twig +3 -2
- package/src/Atom/_base.css +6 -0
- package/src/Atom/_flow.css +1 -1
- package/src/Atom/_generic.css +18 -11
- package/src/Component/Accordion/Accordion.stories.ts +31 -0
- package/src/Component/Accordion/Accordion.tsx +3 -2
- package/src/Component/Accordion/AccordionItem.stories.ts +27 -0
- package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +36 -0
- package/src/Component/Accordion/__snapshots__/AccordionItem.stories.ts.snap +16 -0
- package/src/Component/Accordion/accordion.css +2 -0
- package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +3 -6
- package/src/Component/Breadcrumb/breadcrumb.css +4 -0
- package/src/Component/Card/__snapshots__/Card.stories.ts.snap +13 -24
- package/src/Component/Card/card.css +2 -2
- package/src/Component/Card/card.twig +1 -1
- package/src/Component/Carousel/Carousel.stories.ts +101 -23
- package/src/Component/Carousel/Carousel.stories.tsx +74 -0
- package/src/Component/Carousel/__snapshots__/Carousel.stories.ts.snap +273 -88
- package/src/Component/Carousel/__snapshots__/Carousel.stories.tsx.snap +5 -3
- package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +12 -24
- package/src/Component/CookieConsent/cookie-consent.css +3 -1
- package/src/Component/Dialog/Dialog.stories.ts +33 -0
- package/src/Component/Dialog/Dialog.stories.tsx +25 -0
- package/src/Component/Dialog/Dialog.tsx +2 -2
- package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +33 -2
- package/src/Component/Dialog/__snapshots__/Dialog.stories.tsx.snap +2 -0
- package/src/Component/DropMenu/DropMenu.stories.ts +39 -1
- package/src/Component/DropMenu/DropMenu.stories.tsx +29 -0
- package/src/Component/DropMenu/DropMenu.tsx +1 -1
- package/src/Component/DropMenu/Elements/DropMenu.ts +10 -1
- package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +14 -0
- package/src/Component/DropMenu/__snapshots__/DropMenu.stories.tsx.snap +3 -1
- package/src/Component/Filters/Elements/Filters.ts +71 -1
- package/src/Component/Filters/FilterItem.stories.ts +2 -1
- package/src/Component/Filters/FilterItem.tsx +1 -1
- package/src/Component/Filters/Filters.figma.ts +1 -1
- package/src/Component/Filters/Filters.stories.ts +95 -3
- package/src/Component/Filters/Filters.stories.tsx +246 -17
- package/src/Component/Filters/Filters.tsx +145 -29
- package/src/Component/Filters/README.md +102 -37
- package/src/Component/Filters/__snapshots__/FilterItem.stories.tsx.snap +3 -3
- package/src/Component/Filters/__snapshots__/Filters.stories.ts.snap +82 -4
- package/src/Component/Filters/__snapshots__/Filters.stories.tsx.snap +9 -3
- package/src/Component/Filters/filters.css +11 -0
- package/src/Component/Gallery/Gallery.tsx +2 -2
- package/src/Component/HeroBanner/HeroBanner.stories.ts +1 -1
- package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +4 -8
- package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.ts.snap +5 -10
- package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +6 -12
- package/src/Component/InPageAlert/in-page-alert.css +2 -1
- package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +10 -5
- package/src/Component/InPageNavigation/Hooks/useInPageNavigation.ts +10 -5
- package/src/Component/InPageNavigation/InPageNavigation.stories.ts +83 -0
- package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +130 -0
- package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +61 -1
- package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +4 -0
- package/src/Component/InPageNavigation/twig/content-example-duplicate-headings.twig +20 -0
- package/src/Component/InPageNavigation/twig/in-page-navigation-story-duplicate-headings.twig +2 -0
- package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +6 -12
- package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +11 -18
- package/src/Component/ListItem/list-item.css +1 -1
- package/src/Component/ListItem/list-item.twig +2 -2
- package/src/Component/Navigation/Dropdown.stories.tsx +46 -0
- package/src/Component/Navigation/Navigation.stories.ts +56 -0
- package/src/Component/Navigation/__snapshots__/Dropdown.stories.tsx.snap +2 -0
- package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +57 -0
- package/src/Component/Navigation/_navigation.css +1 -1
- package/src/Component/Pagination/Components/PaginationContext.tsx +2 -1
- package/src/Component/Pagination/Components/PaginationItem.tsx +1 -1
- package/src/Component/Pagination/Pagination.stories.ts +44 -4
- package/src/Component/Pagination/Pagination.stories.tsx +31 -0
- package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +69 -12
- package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +3 -1
- package/src/Component/Pagination/pagination-item.twig +1 -1
- package/src/Component/Pagination/pagination.css +2 -2
- package/src/Component/Popover/__snapshots__/Popover.stories.ts.snap +13 -26
- package/src/Component/Popover/popover.css +1 -1
- package/src/Component/ProgressIndicator/ProgressIndicator.stories.ts +36 -0
- package/src/Component/ProgressIndicator/ProgressIndicator.stories.tsx +30 -0
- package/src/Component/ProgressIndicator/ProgressIndicator.tsx +60 -0
- package/src/Component/ProgressIndicator/README.md +111 -0
- package/src/Component/ProgressIndicator/__snapshots__/ProgressIndicator.stories.ts.snap +67 -0
- package/src/Component/ProgressIndicator/__snapshots__/ProgressIndicator.stories.tsx.snap +7 -0
- package/src/Component/ProgressIndicator/progress-indicator.css +59 -0
- package/src/Component/ProgressIndicator/progress-indicator.twig +22 -0
- package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +1 -2
- package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +6 -9
- package/src/Component/Steps/Steps.stories.ts +1 -1
- package/src/Component/Steps/steps.css +13 -0
- package/src/Component/Sticky/Elements/Sticky.ts +1 -1
- package/src/Component/Sticky/sticky.css +3 -3
- package/src/Component/Tabs/Elements/Tabs.ts +3 -1
- package/src/Component/Tabs/Tabs.stories.ts +77 -21
- package/src/Component/Tabs/Tabs.stories.tsx +24 -0
- package/src/Component/Tabs/Tabs.tsx +2 -2
- package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +20 -2
- package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +3 -1
- package/src/Component/Tabs/tabs.css +2 -0
- package/src/Component/Tag/README.md +52 -26
- package/src/Component/Tag/Tag.stories.tsx +24 -0
- package/src/Component/Tag/Tag.tsx +12 -2
- package/src/Component/Tag/TagItem.stories.ts +25 -0
- package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +2 -2
- package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +2 -0
- package/src/Component/Tag/tag-item.twig +2 -2
- package/src/Component/Tag/tag.css +76 -2
- package/src/Form/Autocomplete/Autocomplete.stories.ts +89 -7
- package/src/Form/Autocomplete/Autocomplete.stories.tsx +85 -1
- package/src/Form/Autocomplete/Autocomplete.tsx +20 -10
- package/src/Form/Autocomplete/Elements/Autocomplete.ts +24 -1
- package/src/Form/Autocomplete/README.md +26 -26
- package/src/Form/Autocomplete/__snapshots__/Autocomplete.stories.ts.snap +39 -5
- package/src/Form/Autocomplete/__snapshots__/Autocomplete.stories.tsx.snap +8 -4
- package/src/Form/Autocomplete/autocomplete.css +12 -1
- package/src/Form/Autocomplete/autocomplete.twig +1 -3
- package/src/Form/Checkbox/FormCheckbox.tsx +2 -8
- package/src/Form/Checkbox/README.md +23 -18
- package/src/Form/Checkbox/input-checkbox.twig +0 -2
- package/src/Form/CheckboxCard/CheckboxCard.stories.ts +90 -0
- package/src/Form/CheckboxCard/CheckboxCard.stories.tsx +43 -0
- package/src/Form/CheckboxCard/CheckboxCard.tsx +102 -0
- package/src/Form/CheckboxCard/README.md +163 -0
- package/src/Form/CheckboxCard/__snapshots__/CheckboxCard.stories.ts.snap +63 -0
- package/src/Form/CheckboxCard/__snapshots__/CheckboxCard.stories.tsx.snap +7 -0
- package/src/Form/CheckboxCard/checkbox-card.twig +29 -0
- package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +2 -2
- package/src/Form/OneTimeCode/OneTimeCode.stories.ts +20 -0
- package/src/Form/OneTimeCode/OneTimeCode.stories.tsx +18 -0
- package/src/Form/OneTimeCode/OneTimeCode.tsx +56 -0
- package/src/Form/OneTimeCode/README.md +83 -0
- package/src/Form/OneTimeCode/__snapshots__/OneTimeCode.stories.ts.snap +7 -0
- package/src/Form/OneTimeCode/__snapshots__/OneTimeCode.stories.tsx.snap +3 -0
- package/src/Form/OneTimeCode/one-time-code.css +13 -0
- package/src/Form/OneTimeCode/one-time-code.twig +31 -0
- package/src/Form/README.md +65 -13
- package/src/Form/Radio/FormRadio.tsx +1 -4
- package/src/Form/Radio/input-radio.twig +0 -2
- package/src/Form/RadioCard/README.md +146 -0
- package/src/Form/RadioCard/RadioCard.stories.ts +95 -0
- package/src/Form/RadioCard/RadioCard.stories.tsx +26 -0
- package/src/Form/RadioCard/RadioCard.tsx +59 -0
- package/src/Form/RadioCard/__snapshots__/RadioCard.stories.ts.snap +69 -0
- package/src/Form/RadioCard/__snapshots__/RadioCard.stories.tsx.snap +3 -0
- package/src/Form/RadioCard/radio-card.twig +20 -0
- package/src/Form/Select/FormSelect.tsx +1 -4
- package/src/Form/Select/input-select.twig +0 -2
- package/src/Form/TextInput/FormText.stories.tsx +14 -0
- package/src/Form/TextInput/FormText.tsx +1 -4
- package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +2 -0
- package/src/Form/TextInput/input-text.twig +0 -2
- package/src/Form/Textarea/FormTextarea.tsx +1 -4
- package/src/Form/Textarea/input-textarea.twig +0 -2
- package/src/Form/Validation.stories.ts +153 -0
- package/src/Form/__snapshots__/Validation.stories.ts.snap +130 -0
- package/src/Form/form.css +240 -55
- package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +18 -33
- package/src/Layout/Grid/grid.css +4 -4
- package/src/Layout/Header/Header.stories.ts +33 -0
- package/src/Layout/Header/Header.stories.tsx +31 -0
- package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +50 -0
- package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +2 -0
- package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +8 -16
- package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +2 -4
- package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +4 -8
- package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +5 -5
- package/src/Layout/Sidebar/sidebar.css +1 -0
- package/src/Layout/Sidebar/sidebar.twig +1 -1
- package/src/Utility/Hooks/useIsomorphicLayoutEffect.ts +8 -0
- package/src/Utility/_layout-utils.css +8 -0
- package/src/Utility/_mixins.css +24 -0
- package/src/Utility/print.css +51 -29
- package/src/Utility/utilities.css +22 -2
- package/src/_custom-media.css +1 -0
- package/src/constants.css +12 -2
- package/src/enums.ts +22 -0
- package/src/react.ts +5 -0
- package/tools/lib/extract-classnames.mjs +0 -0
- package/tools/lint-classnames.mjs +1 -1
- package/tools/test-utils/screen-reader.ts +33 -0
- package/dist/build/chunks/DropMenu-Co9jZZ4S.js +0 -1
- package/dist/build/chunks/Gallery-BT3cxS5m.js +0 -1
- package/dist/build/chunks/GlobalToggle-DQHho97V.js +0 -1
- package/dist/build/chunks/InPageNavigation-CzR_KZaz.js +0 -1
- package/dist/build/chunks/Navigation-B9Wug-ok.js +0 -1
- package/dist/build/chunks/Popover-De_CQqcd.js +0 -1
- package/dist/build/chunks/Sticky-Kyjykb36.js +0 -1
- package/dist/build/chunks/Tabs-Dm8g301e.js +0 -15
- package/dist/build/chunks/disclosure-widget-BETzOHLO.js +0 -1
- package/dist/build/chunks/polyfills-Dokbkxxk.js +0 -1
- package/dist/build/chunks/utilities-C5dAO2YA.js +0 -1
|
@@ -16,9 +16,44 @@ exports[`Generated Items 1`] = `
|
|
|
16
16
|
"
|
|
17
17
|
`;
|
|
18
18
|
|
|
19
|
+
exports[`Identical Headings 1`] = `
|
|
20
|
+
"<mx-in-page-navigation data-content=".js-content" data-levels="h2,h3" data-title="On this page">
|
|
21
|
+
<nav class="mx-nav mx-nav--list mx-in-page-navigation mx-vertical-flow"><h2 class="is-excluded mx-heading--m">On this page</h2><ul><li class="mx-in-page-navigation__level--h2"><a href="#section-1"><span class="mx-icon mx-icon--chevron-right"></span><span>Section 1</span></a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-2"><span class="mx-icon mx-icon--chevron-right"></span><span>Section 2</span></a></li><li class="mx-in-page-navigation__level--h3"><a href="#test-level-3"><span class="mx-icon mx-icon--chevron-right"></span><span>Test level 3</span></a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-3"><span class="mx-icon mx-icon--chevron-right"></span><span>Section 3</span></a></li><li class="mx-in-page-navigation__level--h2"><a href="#identical-heading"><span class="mx-icon mx-icon--chevron-right"></span><span>Identical heading</span></a></li><li class="mx-in-page-navigation__level--h3"><a href="#identical-subheading"><span class="mx-icon mx-icon--chevron-right"></span><span>Identical subheading</span></a></li><li class="mx-in-page-navigation__level--h3"><a href="#identical-heading-1"><span class="mx-icon mx-icon--chevron-right"></span><span>Identical heading</span></a></li><li class="mx-in-page-navigation__level--h3"><a href="#identical-subheading-1"><span class="mx-icon mx-icon--chevron-right"></span><span>Identical subheading</span></a></li><li class="mx-in-page-navigation__level--h2"><a href="#identical-heading-2"><span class="mx-icon mx-icon--chevron-right"></span><span>Identical heading</span></a></li></ul></nav></mx-in-page-navigation>
|
|
22
|
+
<div class="js-content mx-rich-text mx-vertical-flow">
|
|
23
|
+
<h2 id="section-1">Section 1</h2>
|
|
24
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
25
|
+
<h2 id="section-2">Section 2</h2>
|
|
26
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
27
|
+
<h3 id="test-level-3">Test level 3</h3>
|
|
28
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
29
|
+
<h2 id="section-3">Section 3</h2>
|
|
30
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
31
|
+
<h2 id="identical-heading">Identical heading</h2>
|
|
32
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
33
|
+
<h3 id="identical-subheading">Identical subheading</h3>
|
|
34
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
35
|
+
<h3 id="identical-heading-1">Identical heading</h3>
|
|
36
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
37
|
+
<h3 id="identical-subheading-1">Identical subheading</h3>
|
|
38
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
39
|
+
<h2 id="identical-heading-2">Identical heading</h2>
|
|
40
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
41
|
+
</div>
|
|
42
|
+
"
|
|
43
|
+
`;
|
|
44
|
+
|
|
19
45
|
exports[`In Page Navigation 1`] = `
|
|
20
46
|
"<mx-in-page-navigation data-content=".js-content" data-levels="" data-title="On this page">
|
|
21
|
-
<nav class="mx-nav mx-nav--list mx-in-page-navigation mx-vertical-flow"><h2 class="is-excluded mx-heading--m">On this page</h2><ul><li><a href="#section-1"><span class="mx-icon mx-icon--chevron-right"></span
|
|
47
|
+
<nav class="mx-nav mx-nav--list mx-in-page-navigation mx-vertical-flow"><h2 class="is-excluded mx-heading--m">On this page</h2><ul><li><a href="#section-1"><span class="mx-icon mx-icon--chevron-right"></span>
|
|
48
|
+
|
|
49
|
+
Section 1
|
|
50
|
+
</a></li><li><a href="#section-2"><span class="mx-icon mx-icon--chevron-right"></span>
|
|
51
|
+
|
|
52
|
+
Section 2
|
|
53
|
+
</a></li><li><a href="#section-3"><span class="mx-icon mx-icon--chevron-right"></span>
|
|
54
|
+
|
|
55
|
+
Section 3
|
|
56
|
+
</a></li></ul></nav></mx-in-page-navigation>
|
|
22
57
|
<div class="js-content mx-rich-text mx-vertical-flow">
|
|
23
58
|
<h2 id="section-1">Section 1</h2>
|
|
24
59
|
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
@@ -81,3 +116,28 @@ exports[`Other Container 1`] = `
|
|
|
81
116
|
</div>
|
|
82
117
|
"
|
|
83
118
|
`;
|
|
119
|
+
|
|
120
|
+
exports[`Screen Reader Announcements 1`] = `
|
|
121
|
+
"<mx-in-page-navigation data-content=".js-content" data-levels="" data-title="On this page">
|
|
122
|
+
<nav class="mx-nav mx-nav--list mx-in-page-navigation mx-vertical-flow"><h2 class="is-excluded mx-heading--m">On this page</h2><ul><li><a href="#section-1"><span class="mx-icon mx-icon--chevron-right"></span>
|
|
123
|
+
|
|
124
|
+
Section 1
|
|
125
|
+
</a></li><li><a href="#section-2"><span class="mx-icon mx-icon--chevron-right"></span>
|
|
126
|
+
|
|
127
|
+
Section 2
|
|
128
|
+
</a></li><li><a href="#section-3"><span class="mx-icon mx-icon--chevron-right"></span>
|
|
129
|
+
|
|
130
|
+
Section 3
|
|
131
|
+
</a></li></ul></nav></mx-in-page-navigation>
|
|
132
|
+
<div class="js-content mx-rich-text mx-vertical-flow">
|
|
133
|
+
<h2 id="section-1">Section 1</h2>
|
|
134
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
135
|
+
<h2 id="section-2">Section 2</h2>
|
|
136
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
137
|
+
<h3 id="test-level-3">Test level 3</h3>
|
|
138
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
139
|
+
<h2 id="section-3">Section 3</h2>
|
|
140
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
141
|
+
</div>
|
|
142
|
+
"
|
|
143
|
+
`;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
+
exports[`Identical Headings 1`] = `"<div class="mx-vertical-flow"><nav class="mx-in-page-navigation mx-nav mx-nav--list mx-vertical-flow"><h2 class="mx-heading--m" id="on-this-page">On this page</h2><ul><li class="mx-in-page-navigation__level--h2"><a href="#identical-heading" class="mx-icon mx-icon--chevron-right">Identical heading</a></li><li class="mx-in-page-navigation__level--h2"><a href="#identical-heading-1" class="mx-icon mx-icon--chevron-right">Identical heading</a></li><li class="mx-in-page-navigation__level--h2"><a href="#identical-heading-2" class="mx-icon mx-icon--chevron-right">Identical heading</a></li></ul></nav><section class="mx-vertical-flow mx-rich-text"><h2 class="" id="identical-heading">Identical heading</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="identical-heading-1">Identical heading</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="identical-heading-2">Identical heading</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p></section></div>"`;
|
|
4
|
+
|
|
3
5
|
exports[`In Page Navigation 1`] = `"<div class="mx-vertical-flow"><nav class="mx-in-page-navigation mx-nav mx-nav--list mx-vertical-flow"><h2 class="mx-heading--m" id="on-this-page">On this page</h2><ul><li class="mx-in-page-navigation__level--h2"><a href="#section-1" class="mx-icon mx-icon--chevron-right">Section 1</a></li><li class="mx-in-page-navigation__level--h2"><a href="#anchor-test" class="mx-icon mx-icon--chevron-right">Section 2</a></li><li class="mx-in-page-navigation__level--h3"><a href="#test-level-3" class="mx-icon mx-icon--chevron-right">Test level 3</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-3" class="mx-icon mx-icon--chevron-right">Section 3</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-4" class="mx-icon mx-icon--chevron-right">Section 4</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-5" class="mx-icon mx-icon--chevron-right">Section 5</a></li><li class="mx-in-page-navigation__level--h3"><a href="#test-level-6" class="mx-icon mx-icon--chevron-right">Test level 6</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-7" class="mx-icon mx-icon--chevron-right">Section 7</a></li></ul></nav><section class="mx-vertical-flow mx-rich-text"><h2 class="" id="section-1">Section 1</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="anchor-test">Section 2</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h3 class="" id="test-level-3">Test level 3</h3><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-3">Section 3</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-4">Section 4</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-5">Section 5</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h3 class="" id="test-level-6">Test level 6</h3><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-7">Section 7</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p></section></div>"`;
|
|
6
|
+
|
|
7
|
+
exports[`Screen Reader Announcements 1`] = `"<div class="mx-vertical-flow"><nav class="mx-in-page-navigation mx-nav mx-nav--list mx-vertical-flow"><h2 class="mx-heading--m" id="on-this-page">On this page</h2><ul><li class="mx-in-page-navigation__level--h2"><a href="#section-1" class="mx-icon mx-icon--chevron-right">Section 1</a></li><li class="mx-in-page-navigation__level--h2"><a href="#anchor-test" class="mx-icon mx-icon--chevron-right">Section 2</a></li><li class="mx-in-page-navigation__level--h3"><a href="#test-level-3" class="mx-icon mx-icon--chevron-right">Test level 3</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-3" class="mx-icon mx-icon--chevron-right">Section 3</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-4" class="mx-icon mx-icon--chevron-right">Section 4</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-5" class="mx-icon mx-icon--chevron-right">Section 5</a></li><li class="mx-in-page-navigation__level--h3"><a href="#test-level-6" class="mx-icon mx-icon--chevron-right">Test level 6</a></li><li class="mx-in-page-navigation__level--h2"><a href="#section-7" class="mx-icon mx-icon--chevron-right">Section 7</a></li></ul></nav><section class="mx-vertical-flow mx-rich-text"><h2 class="" id="section-1">Section 1</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="anchor-test">Section 2</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h3 class="" id="test-level-3">Test level 3</h3><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-3">Section 3</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-4">Section 4</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-5">Section 5</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h3 class="" id="test-level-6">Test level 6</h3><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p><h2 class="" id="section-7">Section 7</h2><p class="">In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p></section></div>"`;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<div class="js-content mx-rich-text mx-vertical-flow">
|
|
2
|
+
<h2 id="section-1">Section 1</h2>
|
|
3
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
4
|
+
<h2 id="section-2">Section 2</h2>
|
|
5
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
6
|
+
<h3 id="test-level-3">Test level 3</h3>
|
|
7
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
8
|
+
<h2 id="section-3">Section 3</h2>
|
|
9
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
10
|
+
<h2>Identical heading</h2>
|
|
11
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
12
|
+
<h3>Identical subheading</h3>
|
|
13
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
14
|
+
<h3>Identical heading</h3>
|
|
15
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
16
|
+
<h3>Identical subheading</h3>
|
|
17
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
18
|
+
<h2>Identical heading</h2>
|
|
19
|
+
<p>In publishing and graphic design, lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document without relying on meaningful content. Replacing the actual content with placeholder text allows designers to design the form of the content before the content itself has been produced.</p>
|
|
20
|
+
</div>
|
|
@@ -7,24 +7,21 @@ exports[`Link List 1`] = `
|
|
|
7
7
|
|
|
8
8
|
<li><a href="#">
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
Music
|
|
12
11
|
<span class="mx-icon mx-icon--chevron-right"></span>
|
|
13
12
|
|
|
14
13
|
</a>
|
|
15
14
|
</li>
|
|
16
15
|
<li><a href="#">
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
Performances
|
|
20
18
|
<span class="mx-icon mx-icon--chevron-right"></span>
|
|
21
19
|
|
|
22
20
|
</a>
|
|
23
21
|
</li>
|
|
24
22
|
<li><a href="#">
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
Get involved
|
|
28
25
|
<span class="mx-icon mx-icon--chevron-right"></span>
|
|
29
26
|
|
|
30
27
|
</a>
|
|
@@ -42,24 +39,21 @@ exports[`With Title 1`] = `
|
|
|
42
39
|
|
|
43
40
|
<li><a href="#">
|
|
44
41
|
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
Music
|
|
47
43
|
<span class="mx-icon mx-icon--chevron-right"></span>
|
|
48
44
|
|
|
49
45
|
</a>
|
|
50
46
|
</li>
|
|
51
47
|
<li><a href="#">
|
|
52
48
|
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
Performances
|
|
55
50
|
<span class="mx-icon mx-icon--chevron-right"></span>
|
|
56
51
|
|
|
57
52
|
</a>
|
|
58
53
|
</li>
|
|
59
54
|
<li><a href="#">
|
|
60
55
|
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
Get involved
|
|
63
57
|
<span class="mx-icon mx-icon--chevron-right"></span>
|
|
64
58
|
|
|
65
59
|
</a>
|
|
@@ -8,8 +8,7 @@ exports[`Block Link 1`] = `
|
|
|
8
8
|
|
|
9
9
|
<a href="#">
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
List item title
|
|
13
12
|
</a>
|
|
14
13
|
|
|
15
14
|
</div>
|
|
@@ -25,13 +24,12 @@ exports[`Image Reverse 1`] = `
|
|
|
25
24
|
<article class="mx-card mx-list-item mx-card--collapse mx-card--reversed">
|
|
26
25
|
<div class="mx-card__content mx-vertical-flow">
|
|
27
26
|
<strong class="mx-text--s">Publication</strong>
|
|
28
|
-
<div class="mx-text--
|
|
27
|
+
<div class="mx-text--meta">25 May 2025</div>
|
|
29
28
|
<div class="mx-heading--l">
|
|
30
29
|
|
|
31
30
|
<a href="#">
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
List item title
|
|
35
33
|
</a>
|
|
36
34
|
|
|
37
35
|
</div>
|
|
@@ -56,8 +54,7 @@ exports[`List Item 1`] = `
|
|
|
56
54
|
|
|
57
55
|
<a href="#">
|
|
58
56
|
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
List item title
|
|
61
58
|
</a>
|
|
62
59
|
|
|
63
60
|
</div>
|
|
@@ -73,13 +70,12 @@ exports[`With Image 1`] = `
|
|
|
73
70
|
<article class="mx-card mx-list-item mx-card--collapse">
|
|
74
71
|
<div class="mx-card__content mx-vertical-flow">
|
|
75
72
|
<strong class="mx-text--s">Publication</strong>
|
|
76
|
-
<div class="mx-text--
|
|
73
|
+
<div class="mx-text--meta">25 May 2025</div>
|
|
77
74
|
<div class="mx-heading--l">
|
|
78
75
|
|
|
79
76
|
<a href="#">
|
|
80
77
|
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
List item title
|
|
83
79
|
</a>
|
|
84
80
|
|
|
85
81
|
</div>
|
|
@@ -101,13 +97,12 @@ exports[`With Info 1`] = `
|
|
|
101
97
|
<article class="mx-card mx-list-item">
|
|
102
98
|
<div class="mx-card__content mx-vertical-flow">
|
|
103
99
|
<strong class="mx-text--s">Publication</strong>
|
|
104
|
-
<div class="mx-text--
|
|
100
|
+
<div class="mx-text--meta">25 May 2025</div>
|
|
105
101
|
<div class="mx-heading--l">
|
|
106
102
|
|
|
107
103
|
<a href="#">
|
|
108
104
|
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
List item title
|
|
111
106
|
</a>
|
|
112
107
|
|
|
113
108
|
</div>
|
|
@@ -127,8 +122,7 @@ exports[`With Tags 1`] = `
|
|
|
127
122
|
|
|
128
123
|
<a href="#">
|
|
129
124
|
|
|
130
|
-
|
|
131
|
-
|
|
125
|
+
List item title
|
|
132
126
|
</a>
|
|
133
127
|
|
|
134
128
|
</div>
|
|
@@ -161,12 +155,11 @@ exports[`With Url 1`] = `
|
|
|
161
155
|
|
|
162
156
|
<a href="#">
|
|
163
157
|
|
|
164
|
-
|
|
165
|
-
|
|
158
|
+
List item title
|
|
166
159
|
</a>
|
|
167
160
|
|
|
168
161
|
</div>
|
|
169
|
-
<div class="mx-text--
|
|
162
|
+
<div class="mx-text--meta">https://example.com/some-thing</div>
|
|
170
163
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
171
164
|
|
|
172
165
|
</div>
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
<strong class="mx-text--s">{{ label }}</strong>
|
|
16
16
|
{% endif %}
|
|
17
17
|
{% if info is not empty and infoBefore %}
|
|
18
|
-
<div class="mx-text--
|
|
18
|
+
<div class="mx-text--meta">{{ info }}</div>
|
|
19
19
|
{% endif %}
|
|
20
20
|
<div class="mx-heading--l">
|
|
21
21
|
{{ link }}
|
|
22
22
|
</div>
|
|
23
23
|
{% if info is not empty and not infoBefore %}
|
|
24
|
-
<div class="mx-text--
|
|
24
|
+
<div class="mx-text--meta">{{ info }}</div>
|
|
25
25
|
{% endif %}
|
|
26
26
|
{{ content }}
|
|
27
27
|
{{ tags }}
|
|
@@ -3,6 +3,7 @@ import { expect } from "storybook/test"
|
|
|
3
3
|
import Component from "./Dropdown"
|
|
4
4
|
import "./navigation.css"
|
|
5
5
|
import { Page } from "../../../.storybook-react/decorators"
|
|
6
|
+
import { runScreenReaderWalkthrough } from "../../../tools/test-utils/screen-reader"
|
|
6
7
|
|
|
7
8
|
const meta: Meta<typeof Component> = {
|
|
8
9
|
tags: ["autodocs"],
|
|
@@ -72,3 +73,48 @@ export const Dropdown: Story = {
|
|
|
72
73
|
})
|
|
73
74
|
},
|
|
74
75
|
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Steps a virtual screen reader through the page with the submenu open, and asserts on what it announces.
|
|
79
|
+
*/
|
|
80
|
+
export const ScreenReaderAnnouncements: Story = {
|
|
81
|
+
play: async ({ canvas, canvasElement, userEvent }) => {
|
|
82
|
+
const trigger = canvas.getByRole("button", { name: "Sub-navigation" })
|
|
83
|
+
|
|
84
|
+
trigger.focus()
|
|
85
|
+
await userEvent.keyboard("{ArrowDown}")
|
|
86
|
+
await expect(trigger).toHaveAttribute("aria-expanded", "true")
|
|
87
|
+
|
|
88
|
+
const log = await runScreenReaderWalkthrough()
|
|
89
|
+
await expect(log).toEqual([
|
|
90
|
+
"document",
|
|
91
|
+
"navigation, Menu",
|
|
92
|
+
"list",
|
|
93
|
+
"listitem, level 1, position 1, set size 3",
|
|
94
|
+
"link, Home",
|
|
95
|
+
"button, Sub-navigation, 1 control, expanded",
|
|
96
|
+
"list",
|
|
97
|
+
"listitem, level 2, position 1, set size 2",
|
|
98
|
+
"link, Child link 1",
|
|
99
|
+
"end of listitem, level 2, position 1, set size 2",
|
|
100
|
+
"listitem, level 2, position 2, set size 2",
|
|
101
|
+
"link, Child link 2",
|
|
102
|
+
"end of listitem, level 2, position 2, set size 2",
|
|
103
|
+
"end of list",
|
|
104
|
+
"end of listitem, level 1, position 1, set size 3",
|
|
105
|
+
"listitem, level 1, position 2, set size 3",
|
|
106
|
+
"link, About",
|
|
107
|
+
"end of listitem, level 1, position 2, set size 3",
|
|
108
|
+
"listitem, level 1, position 3, set size 3",
|
|
109
|
+
"link, Contact",
|
|
110
|
+
"end of listitem, level 1, position 3, set size 3",
|
|
111
|
+
"end of list",
|
|
112
|
+
"end of navigation, Menu",
|
|
113
|
+
"end of document",
|
|
114
|
+
])
|
|
115
|
+
|
|
116
|
+
await userEvent.keyboard("{Escape}")
|
|
117
|
+
await expect(trigger).toHaveAttribute("aria-expanded", "false")
|
|
118
|
+
await userEvent.click(canvasElement)
|
|
119
|
+
},
|
|
120
|
+
}
|
|
@@ -4,6 +4,7 @@ import Component from "./navigation.twig"
|
|
|
4
4
|
import "./navigation.css"
|
|
5
5
|
import "./Elements/Navigation"
|
|
6
6
|
import { Navigation as NavigationType } from "@pnx-mixtape/ids-shape"
|
|
7
|
+
import { runScreenReaderWalkthrough } from "../../../tools/test-utils/screen-reader"
|
|
7
8
|
|
|
8
9
|
type MxNavigationType = NavigationType & {
|
|
9
10
|
type?: "collapsible" | "dropdown" | "mega" | "footer"
|
|
@@ -253,6 +254,61 @@ export const Dropdown: Story = {
|
|
|
253
254
|
},
|
|
254
255
|
}
|
|
255
256
|
|
|
257
|
+
/**
|
|
258
|
+
* Steps a virtual screen reader through the page with the submenu open, and asserts on what it announces.
|
|
259
|
+
*/
|
|
260
|
+
export const ScreenReaderAnnouncements: Story = {
|
|
261
|
+
args: Dropdown.args,
|
|
262
|
+
play: async ({ canvas, canvasElement, userEvent }) => {
|
|
263
|
+
const trigger = canvas.getByRole("button", { name: "Sub-navigation" })
|
|
264
|
+
|
|
265
|
+
trigger.focus()
|
|
266
|
+
await userEvent.keyboard("{ArrowDown}")
|
|
267
|
+
await expect(trigger).toHaveAttribute("aria-expanded", "true")
|
|
268
|
+
|
|
269
|
+
const log = await runScreenReaderWalkthrough()
|
|
270
|
+
await expect(log).toEqual([
|
|
271
|
+
"document",
|
|
272
|
+
"navigation, Links",
|
|
273
|
+
"list",
|
|
274
|
+
"listitem, level 1, position 1, set size 4",
|
|
275
|
+
"link, News",
|
|
276
|
+
"end of listitem, level 1, position 1, set size 4",
|
|
277
|
+
"listitem, level 1, position 2, set size 4",
|
|
278
|
+
"link, What we do",
|
|
279
|
+
"button, Sub-navigation, 1 control, expanded",
|
|
280
|
+
"list, What we do",
|
|
281
|
+
"listitem, level 2, position 1, set size 4",
|
|
282
|
+
"link, Events",
|
|
283
|
+
"end of listitem, level 2, position 1, set size 4",
|
|
284
|
+
"listitem, level 2, position 2, set size 4",
|
|
285
|
+
"link, Who we are",
|
|
286
|
+
"end of listitem, level 2, position 2, set size 4",
|
|
287
|
+
"listitem, level 2, position 3, set size 4",
|
|
288
|
+
"link, Join us",
|
|
289
|
+
"end of listitem, level 2, position 3, set size 4",
|
|
290
|
+
"listitem, level 2, position 4, set size 4",
|
|
291
|
+
"link, Careers",
|
|
292
|
+
"end of listitem, level 2, position 4, set size 4",
|
|
293
|
+
"end of list, What we do",
|
|
294
|
+
"end of listitem, level 1, position 2, set size 4",
|
|
295
|
+
"listitem, level 1, position 3, set size 4",
|
|
296
|
+
"link, Contact",
|
|
297
|
+
"end of listitem, level 1, position 3, set size 4",
|
|
298
|
+
"listitem, level 1, position 4, set size 4",
|
|
299
|
+
"link, Resources",
|
|
300
|
+
"end of listitem, level 1, position 4, set size 4",
|
|
301
|
+
"end of list",
|
|
302
|
+
"end of navigation, Links",
|
|
303
|
+
"end of document",
|
|
304
|
+
])
|
|
305
|
+
|
|
306
|
+
await userEvent.keyboard("{Escape}")
|
|
307
|
+
await expect(trigger).toHaveAttribute("aria-expanded", "false")
|
|
308
|
+
await userEvent.click(canvasElement)
|
|
309
|
+
},
|
|
310
|
+
}
|
|
311
|
+
|
|
256
312
|
/**
|
|
257
313
|
* Mega is horizontal on desktop requires click to access submenu, best for more than 2 levels of links.
|
|
258
314
|
*/
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
3
|
exports[`Dropdown 1`] = `"<nav class="mx-nav mx-nav--dropdown" aria-label="Menu" id="navigation"><ul class="mx-nav__level-1"><li class="mx-nav__has-subnav"><a href="#" class="">Home</a><button aria-controls="_r_0_" aria-expanded="false" class="mx-nav__toggle mx-icon mx-icon--only mx-icon--chevron-down" type="button">Sub-navigation</button></li><li class=""><a href="#" class="">About</a></li><li class=""><a href="#" class="">Contact</a></li></ul></nav>"`;
|
|
4
|
+
|
|
5
|
+
exports[`Screen Reader Announcements 1`] = `"<nav class="mx-nav mx-nav--dropdown" aria-label="Menu" id="navigation"><ul class="mx-nav__level-1"><li class="mx-nav__has-subnav"><a href="#" class="">Home</a><button aria-controls="_r_8_" aria-expanded="false" class="mx-nav__toggle mx-icon mx-icon--only mx-icon--chevron-down" type="button">Sub-navigation</button></li><li class=""><a href="#" class="">About</a></li><li class=""><a href="#" class="">Contact</a></li></ul></nav>"`;
|
|
@@ -243,3 +243,60 @@ exports[`Navigation 1`] = `
|
|
|
243
243
|
</nav>
|
|
244
244
|
"
|
|
245
245
|
`;
|
|
246
|
+
|
|
247
|
+
exports[`Screen Reader Announcements 1`] = `
|
|
248
|
+
"
|
|
249
|
+
|
|
250
|
+
<mx-nav flyout="">
|
|
251
|
+
<nav class="mx-nav mx-nav--dropdown" aria-label="Links" id="links-story">
|
|
252
|
+
<ul class="mx-nav__level-1">
|
|
253
|
+
<li>
|
|
254
|
+
<a href="#">
|
|
255
|
+
News
|
|
256
|
+
</a>
|
|
257
|
+
</li>
|
|
258
|
+
<li class="mx-nav__has-subnav">
|
|
259
|
+
<a href="#" id="unique-1">
|
|
260
|
+
What we do
|
|
261
|
+
</a>
|
|
262
|
+
<button class="mx-nav__toggle mx-icon mx-icon--chevron-down mx-icon--only" aria-expanded="false" aria-controls="unique-0">Sub-navigation</button>
|
|
263
|
+
<ul class="mx-nav__level-2" id="unique-0" aria-labelledby="unique-1" inert="">
|
|
264
|
+
<li>
|
|
265
|
+
<a href="#">
|
|
266
|
+
Events
|
|
267
|
+
</a>
|
|
268
|
+
</li>
|
|
269
|
+
<li>
|
|
270
|
+
<a href="#">
|
|
271
|
+
Who we are
|
|
272
|
+
</a>
|
|
273
|
+
</li>
|
|
274
|
+
<li>
|
|
275
|
+
<a href="#">
|
|
276
|
+
Join us
|
|
277
|
+
</a>
|
|
278
|
+
</li>
|
|
279
|
+
<li>
|
|
280
|
+
<a href="#">
|
|
281
|
+
Careers
|
|
282
|
+
</a>
|
|
283
|
+
</li>
|
|
284
|
+
</ul>
|
|
285
|
+
|
|
286
|
+
</li>
|
|
287
|
+
<li>
|
|
288
|
+
<a href="#">
|
|
289
|
+
Contact
|
|
290
|
+
</a>
|
|
291
|
+
</li>
|
|
292
|
+
<li>
|
|
293
|
+
<a href="#">
|
|
294
|
+
Resources
|
|
295
|
+
</a>
|
|
296
|
+
</li>
|
|
297
|
+
</ul>
|
|
298
|
+
|
|
299
|
+
</nav>
|
|
300
|
+
</mx-nav>
|
|
301
|
+
"
|
|
302
|
+
`;
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
useEffect,
|
|
11
11
|
} from "react"
|
|
12
12
|
import useUrlParams from "../../../Utility/Hooks/useUrlParams"
|
|
13
|
+
import useIsomorphicLayoutEffect from "../../../Utility/Hooks/useIsomorphicLayoutEffect"
|
|
13
14
|
import { validators } from "../../../Utility/utilities"
|
|
14
15
|
|
|
15
16
|
type PaginationContextValues = {
|
|
@@ -111,7 +112,7 @@ const PaginationProvider = ({
|
|
|
111
112
|
const { searchParams, pathname, history } = useUrlParams()
|
|
112
113
|
|
|
113
114
|
// Onload, go to page from URL ?page=x
|
|
114
|
-
|
|
115
|
+
useIsomorphicLayoutEffect(() => {
|
|
115
116
|
if (onLoad.current) return
|
|
116
117
|
// check url for page query.
|
|
117
118
|
const pageParam = searchParams?.get("page") ?? "1"
|
|
@@ -20,7 +20,7 @@ const PaginationItem = ({
|
|
|
20
20
|
<Tag
|
|
21
21
|
className={classNames(`mx-pagination__${as}`)}
|
|
22
22
|
aria-current={active ? "page" : null}
|
|
23
|
-
aria-hidden={disabled ? "true" : null}
|
|
23
|
+
aria-hidden={as === "ellipsis" || disabled ? "true" : null}
|
|
24
24
|
>
|
|
25
25
|
{as === "ellipsis" && <>...</>}
|
|
26
26
|
{as === "item" && (
|
|
@@ -8,6 +8,7 @@ import "./pagination.css"
|
|
|
8
8
|
import { Pagination as IdsPagination } from "@pnx-mixtape/ids-shape"
|
|
9
9
|
import { Icons } from "../../enums"
|
|
10
10
|
import { modes } from "../../../.storybook/modes"
|
|
11
|
+
import { runScreenReaderWalkthrough } from "../../../tools/test-utils/screen-reader"
|
|
11
12
|
|
|
12
13
|
// local widening until `label` lands in @pnx-mixtape/ids-shape, and `pages` is
|
|
13
14
|
// a concatenated string of pre-rendered PaginationItem markup rather than an array
|
|
@@ -117,14 +118,53 @@ type Story = StoryObj<PaginationType>
|
|
|
117
118
|
// click/keyboard interaction to test here, just the ARIA structure.
|
|
118
119
|
export const Pagination: Story = {
|
|
119
120
|
play: async ({ canvas, step }) => {
|
|
121
|
+
const prev = canvas.getByRole("link", { name: /Previous/ })
|
|
122
|
+
const next = canvas.getByRole("link", { name: /Next/ })
|
|
123
|
+
const link1 = canvas.getByRole("link", { name: "1", hidden: true })
|
|
124
|
+
const link2 = canvas.getByRole("link", { name: "2", hidden: true })
|
|
120
125
|
await step("Current page is marked with aria-current", async () => {
|
|
121
|
-
await expect(
|
|
122
|
-
await expect(
|
|
126
|
+
await expect(link2).toHaveAttribute("aria-current", "page")
|
|
127
|
+
await expect(link1).not.toHaveAttribute("aria-current")
|
|
123
128
|
})
|
|
124
129
|
|
|
125
130
|
await step("Previous/next links are present", async () => {
|
|
126
|
-
await expect(
|
|
127
|
-
await expect(
|
|
131
|
+
await expect(prev).toBeInTheDocument()
|
|
132
|
+
await expect(next).toBeInTheDocument()
|
|
128
133
|
})
|
|
129
134
|
},
|
|
130
135
|
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Steps a virtual screen reader through the page and asserts on what it announces.
|
|
139
|
+
*/
|
|
140
|
+
export const ScreenReaderAnnouncements: Story = {
|
|
141
|
+
play: async () => {
|
|
142
|
+
const log = await runScreenReaderWalkthrough()
|
|
143
|
+
await expect(log).toEqual([
|
|
144
|
+
"document",
|
|
145
|
+
"navigation, Pagination",
|
|
146
|
+
"link, Previous",
|
|
147
|
+
"Previous",
|
|
148
|
+
"end of link, Previous",
|
|
149
|
+
"list",
|
|
150
|
+
"listitem, level 1, position 1, set size 4",
|
|
151
|
+
"link, 1",
|
|
152
|
+
"end of listitem, level 1, position 1, set size 4",
|
|
153
|
+
"listitem, level 1, position 2, set size 4",
|
|
154
|
+
"link, 2, current page",
|
|
155
|
+
"end of listitem, level 1, position 2, set size 4",
|
|
156
|
+
"listitem, level 1, position 3, set size 4",
|
|
157
|
+
"link, 3",
|
|
158
|
+
"end of listitem, level 1, position 3, set size 4",
|
|
159
|
+
"listitem, level 1, position 4, set size 4",
|
|
160
|
+
"link, 10",
|
|
161
|
+
"end of listitem, level 1, position 4, set size 4",
|
|
162
|
+
"end of list",
|
|
163
|
+
"link, Next",
|
|
164
|
+
"Next",
|
|
165
|
+
"end of link, Next",
|
|
166
|
+
"end of navigation, Pagination",
|
|
167
|
+
"end of document",
|
|
168
|
+
])
|
|
169
|
+
},
|
|
170
|
+
}
|