@pnx-mixtape/mxds 0.0.21 → 0.0.23
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/build/accordion.entry.js +32 -43
- package/dist/build/accordion.entry.js.map +1 -1
- package/dist/build/base.css +19 -39
- package/dist/build/button.css +7 -8
- package/dist/build/chunks/{Accordion-O-huO4At.js → Accordion-D1HQ0FDq.js} +23 -21
- package/dist/build/chunks/{Accordion-O-huO4At.js.map → Accordion-D1HQ0FDq.js.map} +1 -1
- package/dist/build/chunks/disclosure-widget-CdjCdx7t.js +129 -0
- package/dist/build/chunks/disclosure-widget-CdjCdx7t.js.map +1 -0
- package/dist/build/chunks/drop-menu.entry-fzV-_VFl.js +70 -0
- package/dist/build/chunks/drop-menu.entry-fzV-_VFl.js.map +1 -0
- package/dist/build/chunks/{polyfills-C-B7iqDG.js → polyfills-DnrsypYs.js} +35 -26
- package/dist/build/chunks/polyfills-DnrsypYs.js.map +1 -0
- package/dist/build/chunks/popover.entry-BQvyR0d5.js +38 -0
- package/dist/build/chunks/popover.entry-BQvyR0d5.js.map +1 -0
- package/dist/build/chunks/{utilities-DXELy_An.js → utilities-Ci7wwNeg.js} +9 -106
- package/dist/build/chunks/utilities-Ci7wwNeg.js.map +1 -0
- package/dist/build/constants.css +10 -31
- package/dist/build/dialog.entry.js +23 -31
- package/dist/build/dialog.entry.js.map +1 -1
- package/dist/build/drop-menu.entry.js +1 -1
- package/dist/build/drupal.css +5 -9
- package/dist/build/filters.entry.js +54 -50
- package/dist/build/filters.entry.js.map +1 -1
- package/dist/build/form.css +12 -26
- package/dist/build/global-alert.entry.js +26 -19
- package/dist/build/global-alert.entry.js.map +1 -1
- package/dist/build/grid.css +3 -9
- package/dist/build/header.css +5 -3
- package/dist/build/header.entry.js +93 -88
- package/dist/build/header.entry.js.map +1 -1
- package/dist/build/icon.css +3 -3
- package/dist/build/in-page-navigation.entry.js +16 -12
- package/dist/build/in-page-navigation.entry.js.map +1 -1
- package/dist/build/navigation.css +21 -56
- package/dist/build/navigation.entry.js +148 -50
- package/dist/build/navigation.entry.js.map +1 -1
- package/dist/build/page.css +1 -1
- package/dist/build/popover.css +119 -0
- package/dist/build/popover.entry.js +2 -0
- package/dist/build/popover.entry.js.map +1 -0
- package/dist/build/section.css +1 -1
- package/dist/build/sticky.entry.js +11 -12
- package/dist/build/sticky.entry.js.map +1 -1
- package/dist/build/tabs.entry.js +108 -91
- package/dist/build/tabs.entry.js.map +1 -1
- package/dist/build/utility-list.css +43 -0
- package/dist/build/utility-list.entry.js +80 -0
- package/dist/build/utility-list.entry.js.map +1 -0
- package/package.json +9 -10
- package/src/Atom/{Base.mdx → Atom.mdx} +1 -1
- package/src/Atom/Background/Backgrounds.stories.ts +21 -4
- package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +1 -1
- package/src/Atom/Background/_background.css +1 -2
- package/src/Atom/Blockquote/_blockquote.css +1 -2
- package/src/Atom/Button/Button.stories.ts +128 -19
- package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +75 -11
- package/src/Atom/Button/__snapshots__/Button.stories.tsx.snap +1 -1
- package/src/Atom/Button/_buttons.css +5 -5
- package/src/Atom/DefinitionList/DefinitionList.stories.ts +20 -3
- package/src/Atom/DefinitionList/DefinitionList.stories.tsx +3 -9
- package/src/Atom/DefinitionList/DefinitionList.tsx +3 -4
- package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +1 -1
- package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.tsx.snap +1 -1
- package/src/Atom/Heading/Heading.stories.ts +49 -7
- package/src/Atom/Heading/Heading.tsx +1 -6
- package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +9 -1
- package/src/Atom/Heading/__snapshots__/Heading.stories.tsx.snap +1 -1
- package/src/Atom/Heading/_headings.css +1 -2
- package/src/Atom/Icon/Icon.mdx +5 -1
- package/src/Atom/Icon/Icon.stories.ts +76 -6
- package/src/Atom/Icon/Icon.tsx +1 -8
- package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +18 -4
- package/src/Atom/Icon/__snapshots__/Icon.stories.tsx.snap +1 -1
- package/src/Atom/Icon/_icon.css +1 -1
- package/src/Atom/Image/Image.stories.ts +4 -3
- package/src/Atom/Image/__snapshots__/Image.stories.ts.snap +1 -1
- package/src/Atom/Link/Link.stories.ts +74 -7
- package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +4 -4
- package/src/Atom/Link/__snapshots__/Link.stories.tsx.snap +1 -1
- package/src/Atom/Media/Media.stories.ts +34 -5
- package/src/Atom/Media/Media.tsx +1 -6
- package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +2 -2
- package/src/Atom/Media/__snapshots__/Media.stories.tsx.snap +1 -1
- package/src/Atom/Media/_media.css +2 -10
- package/src/Atom/Spacing/Spacing.stories.ts +45 -31
- package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +5 -4
- package/src/Atom/Spacing/spacing.twig +5 -2
- package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +1 -1
- package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +1 -1
- package/src/Atom/Table/_table.css +1 -2
- package/src/Atom/Text/Text.stories.ts +62 -0
- package/src/Atom/Text/__snapshots__/{TextSizes.stories.ts.snap → Text.stories.ts.snap} +14 -27
- package/src/Atom/Text/__snapshots__/Text.stories.tsx.snap +1 -1
- package/src/Atom/Text/_text-sizes.css +2 -4
- package/src/Atom/Text/text-style.twig +11 -1
- package/src/Atom/Text/text-styles-example.twig +2 -16
- package/src/Atom/Video/Video.stories.ts +6 -4
- package/src/Atom/Video/Video.tsx +1 -5
- package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +1 -1
- package/src/Atom/_generic.css +4 -4
- package/src/Atom/_hr.css +1 -2
- package/src/Component/Accordion/Accordion.stories.ts +26 -8
- package/src/Component/Accordion/Accordion.stories.tsx +8 -10
- package/src/Component/Accordion/Accordion.tsx +2 -13
- package/src/Component/Accordion/AccordionItem.stories.ts +90 -0
- package/src/Component/Accordion/Components/AccordionContent.tsx +1 -5
- package/src/Component/Accordion/Components/AccordionTitle.tsx +1 -4
- package/src/Component/Accordion/Elements/Accordion.ts +1 -1
- package/src/Component/Accordion/Elements/AccordionDiv.ts +4 -11
- package/src/Component/Accordion/Elements/AccordionGroup.ts +10 -24
- package/src/Component/Accordion/Elements/AccordionMobile.ts +4 -4
- package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +17 -6
- package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +1 -1
- package/src/Component/Accordion/__snapshots__/AccordionItem.stories.ts.snap +90 -0
- package/src/Component/Accordion/accordion.css +7 -5
- package/src/Component/Accordion/twig/accordion-div.twig +13 -11
- package/src/Component/Accordion/twig/accordion-mobile.twig +13 -11
- package/src/Component/Breadcrumb/Breadcrumb.stories.ts +14 -0
- package/src/Component/Breadcrumb/Breadcrumb.tsx +2 -12
- package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +1 -1
- package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.tsx.snap +1 -1
- package/src/Component/Breadcrumb/breadcrumb.css +1 -4
- package/src/Component/Callout/Callout.stories.ts +20 -0
- package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +1 -1
- package/src/Component/Callout/callout.css +1 -2
- package/src/Component/Card/Card.stories.ts +129 -14
- package/src/Component/Card/Card.stories.tsx +2 -2
- package/src/Component/Card/Components/CardContent.tsx +1 -5
- package/src/Component/Card/__snapshots__/Card.stories.ts.snap +24 -24
- package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +1 -1
- package/src/Component/Card/card.css +2 -6
- package/src/Component/Card/card.twig +1 -1
- package/src/Component/Carousel/Carousel.stories.ts +61 -8
- package/src/Component/Carousel/Elements/Carousel.ts +10 -19
- package/src/Component/Carousel/__snapshots__/Carousel.stories.ts.snap +321 -35
- package/src/Component/Carousel/carousel.css +1 -2
- package/src/Component/ContentBlock/Components/ContentBlockContent.tsx +1 -5
- package/src/Component/ContentBlock/Components/ContentBlockMedia.tsx +1 -4
- package/src/Component/ContentBlock/ContentBlock.stories.ts +63 -13
- package/src/Component/ContentBlock/ContentBlock.stories.tsx +2 -2
- package/src/Component/ContentBlock/ContentBlock.tsx +1 -5
- package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +11 -11
- package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +1 -1
- package/src/Component/Dialog/Dialog.stories.ts +78 -21
- package/src/Component/Dialog/Dialog.stories.tsx +2 -3
- package/src/Component/Dialog/Elements/Dialog.ts +7 -16
- package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +8 -11
- package/src/Component/Dialog/__snapshots__/Dialog.stories.tsx.snap +1 -1
- package/src/Component/Dialog/dialog.css +1 -2
- package/src/Component/Dialog/dialog.twig +1 -1
- package/src/Component/DropMenu/Components/DropMenuContext.tsx +4 -12
- package/src/Component/DropMenu/DropMenu.stories.ts +60 -1
- package/src/Component/DropMenu/DropMenu.tsx +2 -7
- package/src/Component/DropMenu/Elements/DropMenu.ts +21 -91
- package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +53 -11
- package/src/Component/DropMenu/__snapshots__/DropMenu.stories.tsx.snap +1 -1
- package/src/Component/DropMenu/drop-menu.css +13 -41
- package/src/Component/DropMenu/drop-menu.twig +8 -6
- package/src/Component/Filters/Elements/Filters.ts +7 -11
- package/src/Component/Filters/FilterItem.stories.ts +180 -0
- package/src/Component/Filters/Filters.stories.ts +83 -8
- package/src/Component/Filters/__snapshots__/FilterItem.stories.ts.snap +135 -0
- package/src/Component/Filters/__snapshots__/Filters.stories.ts.snap +43 -41
- package/src/Component/Filters/filter-item.twig +1 -1
- package/src/Component/Filters/filters.css +33 -17
- package/src/Component/GlobalAlert/Elements/ClosableAlert.ts +8 -7
- package/src/Component/GlobalAlert/GlobalAlert.stories.ts +60 -12
- package/src/Component/GlobalAlert/GlobalAlert.stories.tsx +1 -2
- package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +8 -6
- package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.tsx.snap +3 -3
- package/src/Component/HeroBanner/HeroBanner.stories.ts +84 -7
- package/src/Component/HeroBanner/HeroBanner.stories.tsx +4 -4
- package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +91 -99
- package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.tsx.snap +1 -1
- package/src/Component/HeroSearch/HeroSearch.stories.ts +23 -4
- package/src/Component/HeroSearch/HeroSearch.stories.tsx +4 -4
- package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.ts.snap +10 -10
- package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.tsx.snap +1 -1
- package/src/Component/InPageAlert/InPageAlert.stories.ts +76 -8
- package/src/Component/InPageAlert/InPageAlert.stories.tsx +1 -2
- package/src/Component/InPageAlert/InPageAlert.tsx +1 -4
- package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +80 -2
- package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.tsx.snap +1 -1
- package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +7 -9
- package/src/Component/InPageNavigation/Hooks/useInPageNavigation.ts +3 -5
- package/src/Component/InPageNavigation/InPageNavigation.stories.ts +44 -9
- package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +32 -40
- package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +152 -5
- package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +1 -1
- package/src/Component/LinkList/LinkList.stories.ts +23 -0
- package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +8 -8
- package/src/Component/LinkList/__snapshots__/LinkList.stories.tsx.snap +1 -1
- package/src/Component/LinkList/link-list.css +1 -2
- package/src/Component/ListItem/Components/ListItemContent.tsx +1 -5
- package/src/Component/ListItem/Components/ListItemMedia.tsx +1 -4
- package/src/Component/ListItem/ListItem.stories.ts +91 -11
- package/src/Component/ListItem/ListItem.stories.tsx +6 -7
- package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +1 -1
- package/src/Component/ListItem/__snapshots__/ListItem.stories.tsx.snap +1 -1
- package/src/Component/ListItem/list-item.css +1 -2
- package/src/Component/Navigation/Components/DropdownLevel.tsx +5 -13
- package/src/Component/Navigation/Elements/Navigation.ts +6 -13
- package/src/Component/Navigation/Navigation.stories.ts +48 -0
- package/src/Component/Navigation/__snapshots__/Dropdown.stories.tsx.snap +1 -1
- package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +1 -1
- package/src/Component/Navigation/__snapshots__/Navigation.stories.tsx.snap +1 -1
- package/src/Component/Navigation/_navigation-collapsible.css +2 -4
- package/src/Component/Navigation/_navigation-dropdown.css +10 -32
- package/src/Component/Navigation/_navigation-mega.css +1 -4
- package/src/Component/Navigation/_navigation.css +1 -4
- package/src/Component/Pagination/Components/PaginationContext.tsx +5 -19
- package/src/Component/Pagination/Components/PaginationItem.tsx +1 -5
- package/src/Component/Pagination/Pagination.stories.ts +28 -0
- package/src/Component/Pagination/Pagination.tsx +3 -11
- package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +3 -3
- package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +1 -1
- package/src/Component/Pagination/pagination.css +1 -4
- package/src/Component/Popover/Elements/Popover.ts +55 -0
- package/src/Component/Popover/Popover.stories.ts +259 -0
- package/src/Component/Popover/__snapshots__/Popover.stories.ts.snap +508 -0
- package/src/Component/{DropMenu → Popover}/polyfills.js +6 -4
- package/src/Component/Popover/popover.css +113 -0
- package/src/Component/Popover/popover.entry.js +1 -0
- package/src/Component/Popover/popover.twig +27 -0
- package/src/Component/ResultsBar/Components/ResultsBarInfo.tsx +2 -7
- package/src/Component/ResultsBar/Components/ResultsBarSort.tsx +1 -6
- package/src/Component/ResultsBar/ResultsBar.stories.ts +34 -4
- package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.ts.snap +3 -3
- package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.tsx.snap +1 -1
- package/src/Component/SideNavigation/SideNavigation.stories.ts +40 -0
- package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +1 -1
- package/src/Component/SideNavigation/side-navigation.css +3 -6
- package/src/Component/SocialLinks/SocialLinks.stories.ts +20 -0
- package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +5 -5
- package/src/Component/SocialShare/SocialShare.stories.ts +37 -0
- package/src/Component/SocialShare/SocialShare.tsx +2 -4
- package/src/Component/SocialShare/__snapshots__/SocialShare.stories.ts.snap +40 -0
- package/src/Component/SocialShare/__snapshots__/SocialShare.stories.tsx.snap +1 -1
- package/src/Component/SocialShare/social-share.twig +34 -0
- package/src/Component/Steps/StepItem.stories.ts +48 -0
- package/src/Component/Steps/Steps.stories.ts +82 -13
- package/src/Component/Steps/__snapshots__/StepItem.stories.ts.snap +31 -0
- package/src/Component/Steps/__snapshots__/Steps.stories.ts.snap +109 -28
- package/src/Component/Steps/step-item.twig +1 -1
- package/src/Component/Steps/steps.css +4 -11
- package/src/Component/Sticky/Elements/Sticky.ts +3 -8
- package/src/Component/Sticky/Sticky.stories.ts +35 -3
- package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +1 -1
- package/src/Component/Sticky/__snapshots__/Sticky.stories.tsx.snap +1 -1
- package/src/Component/Sticky/sticky.twig +1 -1
- package/src/Component/Tabs/Components/Tab.tsx +2 -8
- package/src/Component/Tabs/Components/TabPanel.tsx +1 -5
- package/src/Component/Tabs/Elements/Tabs.ts +21 -31
- package/src/Component/Tabs/TabItem.stories.ts +52 -0
- package/src/Component/Tabs/Tabs.stories.ts +51 -8
- package/src/Component/Tabs/Tabs.tsx +6 -22
- package/src/Component/Tabs/__snapshots__/TabItem.stories.ts.snap +12 -0
- package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +127 -11
- package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +1 -1
- package/src/Component/Tabs/tab-item.twig +1 -2
- package/src/Component/Tabs/tabs.css +56 -59
- package/src/Component/Tag/Tag.stories.ts +30 -0
- package/src/Component/Tag/Tag.tsx +1 -5
- package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +1 -1
- package/src/Component/Tag/__snapshots__/Tag.stories.tsx.snap +1 -1
- package/src/Component/Tag/tag.css +1 -4
- package/src/Component/UtilityList/Elements/UtilityList.ts +110 -0
- package/src/Component/UtilityList/UtilityList.stories.ts +72 -0
- package/src/Component/UtilityList/__snapshots__/UtilityList.stories.ts.snap +274 -0
- package/src/Component/UtilityList/utility-list.css +40 -0
- package/src/Component/UtilityList/utility-list.entry.js +1 -0
- package/src/Component/UtilityList/utility-list.twig +66 -0
- package/src/Form/Checkbox/FormCheckbox.stories.tsx +1 -3
- package/src/Form/Checkbox/FormCheckbox.tsx +4 -25
- package/src/Form/Checkbox/__snapshots__/Checkbox.stories.ts.snap +3 -3
- package/src/Form/Description/Description.stories.ts +1 -2
- package/src/Form/Description/FormStatus.stories.ts +1 -4
- package/src/Form/Description/__snapshots__/Description.stories.ts.snap +1 -1
- package/src/Form/Description/__snapshots__/FormDescription.stories.tsx.snap +1 -1
- package/src/Form/Description/__snapshots__/FormStatus.stories.ts.snap +3 -3
- package/src/Form/Form/Form.tsx +1 -3
- package/src/Form/Form/__snapshots__/Form.stories.tsx.snap +1 -1
- package/src/Form/Form/__snapshots__/FormTitle.stories.tsx.snap +1 -1
- package/src/Form/FormItem/FormItem.stories.ts +3 -9
- package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +18 -18
- package/src/Form/FormItem/__snapshots__/FormItem.stories.tsx.snap +1 -1
- package/src/Form/Label/FormLabel.tsx +1 -5
- package/src/Form/Label/__snapshots__/FormLabel.stories.tsx.snap +1 -1
- package/src/Form/Label/__snapshots__/Label.stories.ts.snap +3 -3
- package/src/Form/Radio/FormRadio.stories.tsx +1 -3
- package/src/Form/Radio/FormRadio.tsx +4 -25
- package/src/Form/Radio/__snapshots__/Radio.stories.ts.snap +9 -9
- package/src/Form/Search/__snapshots__/Search.stories.ts.snap +1 -1
- package/src/Form/Select/FormSelect.tsx +3 -9
- package/src/Form/Select/__snapshots__/FormSelect.stories.tsx.snap +1 -1
- package/src/Form/Select/__snapshots__/Select.stories.ts.snap +2 -2
- package/src/Form/TextInput/FormText.tsx +3 -9
- package/src/Form/TextInput/TextInput.stories.ts +1 -4
- package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +1 -1
- package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +1 -1
- package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +3 -3
- package/src/Form/Textarea/FormTextarea.tsx +3 -9
- package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +1 -1
- package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +2 -2
- package/src/Form/form.css +6 -14
- package/src/Introduction.mdx +1 -2
- package/src/Layout/Footer/Footer.stories.ts +1 -5
- package/src/Layout/Footer/Footer.stories.tsx +2 -3
- package/src/Layout/Footer/Footer.tsx +3 -12
- package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +4 -4
- package/src/Layout/Footer/__snapshots__/Footer.stories.tsx.snap +1 -1
- package/src/Layout/Grid/Grid.stories.ts +40 -8
- package/src/Layout/Grid/Grid.tsx +1 -2
- package/src/Layout/Grid/GridItem.stories.ts +63 -0
- package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +29 -4
- package/src/Layout/Grid/__snapshots__/Grid.stories.tsx.snap +1 -1
- package/src/Layout/Grid/__snapshots__/GridItem.stories.ts.snap +19 -0
- package/src/Layout/Grid/grid-item.twig +3 -9
- package/src/Layout/Grid/grid.css +1 -4
- package/src/Layout/Header/Elements/GlobalToggle.ts +9 -29
- package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +25 -45
- package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +3 -3
- package/src/Layout/Header/_toggles.css +2 -2
- package/src/Layout/Header/header.twig +1 -1
- package/src/Layout/Masthead/Masthead.stories.ts +1 -4
- package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +3 -3
- package/src/Layout/Page/Page.stories.tsx +2 -2
- package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +3 -3
- package/src/Layout/Page/page.css +2 -10
- package/src/Layout/Section/Background.stories.ts +14 -39
- package/src/Layout/Section/Breakouts.stories.ts +3 -0
- package/src/Layout/Section/Flow.stories.ts +3 -0
- package/src/Layout/Section/Section.stories.ts +93 -11
- package/src/Layout/Section/Section.tsx +3 -13
- package/src/Layout/Section/SectionGrid.tsx +2 -9
- package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +4 -4
- package/src/Layout/Section/__snapshots__/Breakouts.stories.ts.snap +1 -1
- package/src/Layout/Section/__snapshots__/Flow.stories.ts.snap +1 -1
- package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +93 -3
- package/src/Layout/Section/__snapshots__/Section.stories.tsx.snap +1 -1
- package/src/Layout/Section/__snapshots__/SectionGrid.stories.tsx.snap +1 -1
- package/src/Layout/Section/section.css +2 -5
- package/src/Layout/Section/section.twig +1 -3
- package/src/Layout/Sidebar/Sidebar.stories.ts +46 -4
- package/src/Layout/Sidebar/Sidebar.tsx +1 -3
- package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +4 -4
- package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.tsx.snap +1 -1
- package/src/Utility/Context/ImageComponent.tsx +4 -8
- package/src/Utility/Context/LinkComponent.tsx +1 -5
- package/src/Utility/Drupal/drupal.css +2 -4
- package/src/Utility/Elements/breakpoint-loader.ts +4 -10
- package/src/Utility/Elements/cookie-compliance.ts +2 -8
- package/src/Utility/Elements/disclosure-widget.ts +11 -18
- package/src/Utility/Elements/io-loader.ts +4 -6
- package/src/Utility/Elements/keyboard.ts +4 -14
- package/src/Utility/Hooks/useLocalStorage.ts +5 -18
- package/src/Utility/Hooks/useMediaQuery.ts +1 -4
- package/src/Utility/Hooks/useToggle.ts +1 -3
- package/src/Utility/global.d.ts +1 -5
- package/src/Utility/utilities.ts +20 -45
- package/src/constants.css +7 -28
- package/src/enums.ts +3 -1
- package/src/react.ts +5 -21
- package/src/tokens.js +2 -2
- package/dist/build/chunks/disclosure-widget-DVpnRsTI.js +0 -126
- package/dist/build/chunks/disclosure-widget-DVpnRsTI.js.map +0 -1
- package/dist/build/chunks/drop-menu.entry-B4TtnC50.js +0 -132
- package/dist/build/chunks/drop-menu.entry-B4TtnC50.js.map +0 -1
- package/dist/build/chunks/keyboard-rvZ4dfGF.js +0 -104
- package/dist/build/chunks/keyboard-rvZ4dfGF.js.map +0 -1
- package/dist/build/chunks/polyfills-C-B7iqDG.js.map +0 -1
- package/dist/build/chunks/utilities-DXELy_An.js.map +0 -1
- package/src/Atom/Text/TextSizes.stories.ts +0 -25
- package/src/Atom/Text/text-alignment.twig +0 -5
- package/src/Component/Accordion/twig/accordion-example.twig +0 -36
- package/src/Component/Tile/README.md +0 -3
- package/src/Component/Tile/Tile.stories.ts +0 -49
- package/src/Component/Tile/Tile.stories.tsx +0 -35
- package/src/Component/Tile/__snapshots__/Tile.stories.ts.snap +0 -57
- package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +0 -23
|
@@ -1,10 +1,32 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://
|
|
1
|
+
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
|
+
|
|
3
|
+
exports[`Component/Steps Accent smoke-test 1`] = `
|
|
4
|
+
<div class="mx-page default">
|
|
5
|
+
<div class="mx-steps mx-steps--supplementary mx-steps--counters">
|
|
6
|
+
<div class="mx-steps__panel mx-steps--fill">
|
|
7
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
8
|
+
Funk is the ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="mx-steps__panel mx-steps--fill">
|
|
12
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
13
|
+
Soul music ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem.
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="mx-steps__panel">
|
|
17
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
18
|
+
Motown lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
`;
|
|
2
24
|
|
|
3
25
|
exports[`Component/Steps Counters smoke-test 1`] = `
|
|
4
26
|
<div class="mx-page default">
|
|
5
|
-
<div class="mx-steps
|
|
6
|
-
<div class="mx-steps__panel
|
|
7
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
27
|
+
<div class="mx-steps mx-steps--light mx-steps--counters">
|
|
28
|
+
<div class="mx-steps__panel">
|
|
29
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
8
30
|
<h2>
|
|
9
31
|
Funk
|
|
10
32
|
</h2>
|
|
@@ -13,8 +35,8 @@ exports[`Component/Steps Counters smoke-test 1`] = `
|
|
|
13
35
|
</p>
|
|
14
36
|
</div>
|
|
15
37
|
</div>
|
|
16
|
-
<div class="mx-steps__panel
|
|
17
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
38
|
+
<div class="mx-steps__panel">
|
|
39
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
18
40
|
<h3>
|
|
19
41
|
Soul
|
|
20
42
|
</h3>
|
|
@@ -23,8 +45,8 @@ exports[`Component/Steps Counters smoke-test 1`] = `
|
|
|
23
45
|
</p>
|
|
24
46
|
</div>
|
|
25
47
|
</div>
|
|
26
|
-
<div class="mx-steps__panel
|
|
27
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
48
|
+
<div class="mx-steps__panel">
|
|
49
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
28
50
|
<h4>
|
|
29
51
|
Motown
|
|
30
52
|
</h4>
|
|
@@ -37,21 +59,80 @@ exports[`Component/Steps Counters smoke-test 1`] = `
|
|
|
37
59
|
</div>
|
|
38
60
|
`;
|
|
39
61
|
|
|
40
|
-
exports[`Component/Steps
|
|
62
|
+
exports[`Component/Steps Filled smoke-test 1`] = `
|
|
41
63
|
<div class="mx-page default">
|
|
42
|
-
<div class="mx-steps mx-steps--
|
|
64
|
+
<div class="mx-steps mx-steps--light mx-steps--fill">
|
|
65
|
+
<div class="mx-steps__panel">
|
|
66
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
67
|
+
<h2>
|
|
68
|
+
Funk
|
|
69
|
+
</h2>
|
|
70
|
+
<p>
|
|
71
|
+
Funk is the ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
72
|
+
</p>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="mx-steps__panel">
|
|
76
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
77
|
+
<h3>
|
|
78
|
+
Soul
|
|
79
|
+
</h3>
|
|
80
|
+
<p>
|
|
81
|
+
Soul music ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem.
|
|
82
|
+
</p>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="mx-steps__panel">
|
|
86
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
87
|
+
<h4>
|
|
88
|
+
Motown
|
|
89
|
+
</h4>
|
|
90
|
+
<p>
|
|
91
|
+
Motown lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
92
|
+
</p>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
`;
|
|
98
|
+
|
|
99
|
+
exports[`Component/Steps Highlighted smoke-test 1`] = `
|
|
100
|
+
<div class="mx-page default">
|
|
101
|
+
<div class="mx-steps mx-steps--light">
|
|
102
|
+
<div class="mx-steps__panel">
|
|
103
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
104
|
+
Funk is the ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
43
107
|
<div class="mx-steps__panel mx-steps--fill">
|
|
44
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
108
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
109
|
+
Soul music ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem.
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
<div class="mx-steps__panel">
|
|
113
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
114
|
+
Motown lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
`;
|
|
120
|
+
|
|
121
|
+
exports[`Component/Steps Primary smoke-test 1`] = `
|
|
122
|
+
<div class="mx-page default">
|
|
123
|
+
<div class="mx-steps mx-steps--dark mx-steps--counters">
|
|
124
|
+
<div class="mx-steps__panel mx-steps--fill">
|
|
125
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
45
126
|
Funk is the ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
46
127
|
</div>
|
|
47
128
|
</div>
|
|
48
|
-
<div class="mx-steps__panel ">
|
|
49
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
129
|
+
<div class="mx-steps__panel mx-steps--fill">
|
|
130
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
50
131
|
Soul music ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem.
|
|
51
132
|
</div>
|
|
52
133
|
</div>
|
|
53
|
-
<div class="mx-steps__panel
|
|
54
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
134
|
+
<div class="mx-steps__panel">
|
|
135
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
55
136
|
Motown lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
56
137
|
</div>
|
|
57
138
|
</div>
|
|
@@ -59,21 +140,21 @@ exports[`Component/Steps Progress smoke-test 1`] = `
|
|
|
59
140
|
</div>
|
|
60
141
|
`;
|
|
61
142
|
|
|
62
|
-
exports[`Component/Steps
|
|
143
|
+
exports[`Component/Steps Progress smoke-test 1`] = `
|
|
63
144
|
<div class="mx-page default">
|
|
64
|
-
<div class="mx-steps mx-steps--
|
|
145
|
+
<div class="mx-steps mx-steps--light mx-steps--counters">
|
|
65
146
|
<div class="mx-steps__panel mx-steps--fill">
|
|
66
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
147
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
67
148
|
Funk is the ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
68
149
|
</div>
|
|
69
150
|
</div>
|
|
70
151
|
<div class="mx-steps__panel mx-steps--fill">
|
|
71
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
152
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
72
153
|
Soul music ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem.
|
|
73
154
|
</div>
|
|
74
155
|
</div>
|
|
75
|
-
<div class="mx-steps__panel
|
|
76
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
156
|
+
<div class="mx-steps__panel">
|
|
157
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
77
158
|
Motown lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.
|
|
78
159
|
</div>
|
|
79
160
|
</div>
|
|
@@ -83,9 +164,9 @@ exports[`Component/Steps ProgressCounters smoke-test 1`] = `
|
|
|
83
164
|
|
|
84
165
|
exports[`Component/Steps Steps smoke-test 1`] = `
|
|
85
166
|
<div class="mx-page default">
|
|
86
|
-
<div class="mx-steps ">
|
|
87
|
-
<div class="mx-steps__panel
|
|
88
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
167
|
+
<div class="mx-steps mx-steps--light">
|
|
168
|
+
<div class="mx-steps__panel">
|
|
169
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
89
170
|
<h2>
|
|
90
171
|
Funk
|
|
91
172
|
</h2>
|
|
@@ -94,8 +175,8 @@ exports[`Component/Steps Steps smoke-test 1`] = `
|
|
|
94
175
|
</p>
|
|
95
176
|
</div>
|
|
96
177
|
</div>
|
|
97
|
-
<div class="mx-steps__panel
|
|
98
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
178
|
+
<div class="mx-steps__panel">
|
|
179
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
99
180
|
<h3>
|
|
100
181
|
Soul
|
|
101
182
|
</h3>
|
|
@@ -104,8 +185,8 @@ exports[`Component/Steps Steps smoke-test 1`] = `
|
|
|
104
185
|
</p>
|
|
105
186
|
</div>
|
|
106
187
|
</div>
|
|
107
|
-
<div class="mx-steps__panel
|
|
108
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
188
|
+
<div class="mx-steps__panel">
|
|
189
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
109
190
|
<h4>
|
|
110
191
|
Motown
|
|
111
192
|
</h4>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
] %}
|
|
6
6
|
{% set attributes = (attributes ?? create_attribute()).addClass(classes) %}
|
|
7
7
|
<div{{ attributes }}>
|
|
8
|
-
<div class="mx-steps__panel-content mx-container mx-vertical-flow rich-text">
|
|
8
|
+
<div class="mx-steps__panel-content mx-container mx-vertical-flow mx-rich-text">
|
|
9
9
|
{{ content }}
|
|
10
10
|
</div>
|
|
11
11
|
</div>
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
&::before {
|
|
14
14
|
content: "";
|
|
15
|
-
border: var(--line-width, 2px) solid
|
|
16
|
-
var(--line-colour, var(--colour-border));
|
|
15
|
+
border: var(--line-width, 2px) solid var(--line-colour, var(--colour-border));
|
|
17
16
|
background-color: var(--background, var(--colour-background));
|
|
18
17
|
border-radius: 100%;
|
|
19
18
|
inline-size: var(--counter-size, 2rem);
|
|
@@ -33,12 +32,8 @@
|
|
|
33
32
|
font-size: var(--font-size-s);
|
|
34
33
|
font-weight: var(--font-weight-bold);
|
|
35
34
|
line-height: var(--line-height-ui);
|
|
36
|
-
inline-size: calc(
|
|
37
|
-
|
|
38
|
-
);
|
|
39
|
-
block-size: calc(
|
|
40
|
-
var(--counter-size, 2rem) + (var(--line-width, 2px) * 2)
|
|
41
|
-
);
|
|
35
|
+
inline-size: calc(var(--counter-size, 2rem) + (var(--line-width, 2px) * 2));
|
|
36
|
+
block-size: calc(var(--counter-size, 2rem) + (var(--line-width, 2px) * 2));
|
|
42
37
|
justify-content: center;
|
|
43
38
|
inset-block-start: var(--counter-top, 0);
|
|
44
39
|
inset-inline-start: 0;
|
|
@@ -69,9 +64,7 @@
|
|
|
69
64
|
content: "";
|
|
70
65
|
inline-size: var(--line-width, 2px);
|
|
71
66
|
background-color: var(--line-colour, var(--colour-border));
|
|
72
|
-
inset-inline-start: calc(
|
|
73
|
-
(var(--counter-size, 2rem) / 2) + (var(--line-width, 2px))
|
|
74
|
-
);
|
|
67
|
+
inset-inline-start: calc((var(--counter-size, 2rem) / 2) + (var(--line-width, 2px)));
|
|
75
68
|
inset-block: 0;
|
|
76
69
|
position: absolute;
|
|
77
70
|
}
|
|
@@ -58,10 +58,7 @@ export default class Sticky extends HTMLElement {
|
|
|
58
58
|
this.rO = new ResizeObserver(entries => {
|
|
59
59
|
entries.forEach(({ borderBoxSize }) => {
|
|
60
60
|
const [{ blockSize }] = borderBoxSize
|
|
61
|
-
document.body.style.setProperty(
|
|
62
|
-
this.offsetPropName,
|
|
63
|
-
`${blockSize.toFixed(1)}px`,
|
|
64
|
-
)
|
|
61
|
+
document.body.style.setProperty(this.offsetPropName, `${blockSize.toFixed(1)}px`)
|
|
65
62
|
})
|
|
66
63
|
})
|
|
67
64
|
this.rO.observe(this)
|
|
@@ -75,16 +72,14 @@ export default class Sticky extends HTMLElement {
|
|
|
75
72
|
get trigger(): HTMLDivElement {
|
|
76
73
|
let trigger: HTMLDivElement | null = this.querySelector(".sticky__trigger")
|
|
77
74
|
if (!trigger) {
|
|
78
|
-
trigger = createElement(
|
|
79
|
-
'<div class="sticky__trigger"></div>',
|
|
80
|
-
) as HTMLDivElement
|
|
75
|
+
trigger = createElement('<div class="sticky__trigger"></div>') as HTMLDivElement
|
|
81
76
|
this.insertAdjacentElement("beforebegin", trigger)
|
|
82
77
|
}
|
|
83
78
|
return trigger
|
|
84
79
|
}
|
|
85
80
|
}
|
|
86
81
|
|
|
87
|
-
customElements.define("mx-sticky", Sticky)
|
|
82
|
+
if (!customElements.get("mx-sticky")) customElements.define("mx-sticky", Sticky)
|
|
88
83
|
|
|
89
84
|
declare global {
|
|
90
85
|
interface HTMLElementTagNameMap {
|
|
@@ -3,17 +3,49 @@ import Component from "./sticky.twig"
|
|
|
3
3
|
import "./sticky.css"
|
|
4
4
|
import "./Elements/Sticky"
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Helper component for making elements sticky on scroll, this isn't used on its own.
|
|
8
|
+
* For an `is-stuck` state, or a sticky trigger include the `Sticky` element javascript.
|
|
9
|
+
*/
|
|
6
10
|
const meta: Meta<typeof Component> = {
|
|
7
11
|
tags: ["autodocs"],
|
|
8
12
|
component: Component,
|
|
9
13
|
args: {
|
|
14
|
+
className: "mx-sticky",
|
|
15
|
+
offset: 0,
|
|
10
16
|
content: "I am sticky.",
|
|
11
17
|
},
|
|
18
|
+
argTypes: {
|
|
19
|
+
className: {
|
|
20
|
+
description: "Apply sticky-ness at a certain breakpoint",
|
|
21
|
+
options: ["mx-sticky", "mx-sticky--m", "mx-sticky--l"],
|
|
22
|
+
type: "string",
|
|
23
|
+
table: {
|
|
24
|
+
defaultValue: { summary: "mx-sticky" },
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
content: {
|
|
28
|
+
description: "Content that should be sticky on scroll.",
|
|
29
|
+
control: "text",
|
|
30
|
+
type: {
|
|
31
|
+
name: "string",
|
|
32
|
+
required: true,
|
|
33
|
+
},
|
|
34
|
+
table: {
|
|
35
|
+
type: { summary: "WysiwygText" },
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
offset: {
|
|
39
|
+
description: "Optional amount to offset by",
|
|
40
|
+
type: "number",
|
|
41
|
+
table: {
|
|
42
|
+
defaultValue: { summary: "0" },
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
12
46
|
}
|
|
13
47
|
|
|
14
48
|
export default meta
|
|
15
49
|
type Story = StoryObj<typeof meta>
|
|
16
50
|
|
|
17
|
-
export const Sticky: Story = {
|
|
18
|
-
args: {},
|
|
19
|
-
}
|
|
51
|
+
export const Sticky: Story = {}
|
|
@@ -13,16 +13,10 @@ const Tab = ({ id, className, children }: TabProps): JSX.Element => {
|
|
|
13
13
|
const handleClick = () => {
|
|
14
14
|
setActiveTab(id)
|
|
15
15
|
if (typeof window === "undefined") return
|
|
16
|
-
const urlParams: URLSearchParams = new URLSearchParams(
|
|
17
|
-
window.location.search,
|
|
18
|
-
)
|
|
16
|
+
const urlParams: URLSearchParams = new URLSearchParams(window.location.search)
|
|
19
17
|
if (urlParams.get("tab") === id) return
|
|
20
18
|
urlParams.set("tab", id)
|
|
21
|
-
window.history.replaceState(
|
|
22
|
-
{},
|
|
23
|
-
"",
|
|
24
|
-
`${window.location.pathname}?${urlParams.toString()}`,
|
|
25
|
-
)
|
|
19
|
+
window.history.replaceState({}, "", `${window.location.pathname}?${urlParams.toString()}`)
|
|
26
20
|
}
|
|
27
21
|
|
|
28
22
|
return (
|
|
@@ -7,11 +7,7 @@ type TabPanelProps = PropsWithChildren & {
|
|
|
7
7
|
className?: string
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
const TabPanel = ({
|
|
11
|
-
children,
|
|
12
|
-
id,
|
|
13
|
-
className = "mx-section--l",
|
|
14
|
-
}: TabPanelProps): JSX.Element => {
|
|
10
|
+
const TabPanel = ({ children, id, className = "mx-section--l" }: TabPanelProps): JSX.Element => {
|
|
15
11
|
const { activeTab } = useTabContext()
|
|
16
12
|
const isActive: boolean = activeTab === id
|
|
17
13
|
return (
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import DropMenu, { DropMenuEvent } from "../../DropMenu/Elements/DropMenu"
|
|
6
6
|
import { createElement, makeAnchor } from "../../../Utility/utilities"
|
|
7
|
+
import { PopoverPlacementModifier } from "@pnx-mixtape/ids-shape"
|
|
7
8
|
|
|
8
9
|
type TabsType = {
|
|
9
10
|
panel: HTMLElement
|
|
@@ -67,27 +68,18 @@ export default class Tabs extends HTMLElement {
|
|
|
67
68
|
this.controller.abort()
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
handleBreakpoint = ({
|
|
71
|
-
matches,
|
|
72
|
-
}: MediaQueryList | MediaQueryListEvent): void => {
|
|
71
|
+
handleBreakpoint = ({ matches }: MediaQueryList | MediaQueryListEvent): void => {
|
|
73
72
|
const { signal }: AbortController = this.controller
|
|
74
73
|
this.dropMenuTrigger.toggleAttribute("hidden", !matches)
|
|
75
74
|
this.tabList.toggleAttribute("hidden", matches)
|
|
76
75
|
if (matches) {
|
|
77
|
-
this.dropMenuMenu.addEventListener(
|
|
78
|
-
"drop-menu-select",
|
|
79
|
-
this.handleDropMenuSelect,
|
|
80
|
-
{ signal },
|
|
81
|
-
)
|
|
76
|
+
this.dropMenuMenu.addEventListener("drop-menu-select", this.handleDropMenuSelect, { signal })
|
|
82
77
|
this.tabList.removeEventListener("click", this.handleClick)
|
|
83
78
|
this.tabList.removeEventListener("keydown", this.handleKeydown)
|
|
84
79
|
} else {
|
|
85
80
|
this.tabList.addEventListener("click", this.handleClick, { signal })
|
|
86
81
|
this.tabList.addEventListener("keydown", this.handleKeydown, { signal })
|
|
87
|
-
this.dropMenuMenu.removeEventListener(
|
|
88
|
-
"drop-menu-select",
|
|
89
|
-
this.handleDropMenuSelect,
|
|
90
|
-
)
|
|
82
|
+
this.dropMenuMenu.removeEventListener("drop-menu-select", this.handleDropMenuSelect)
|
|
91
83
|
}
|
|
92
84
|
}
|
|
93
85
|
|
|
@@ -158,16 +150,18 @@ export default class Tabs extends HTMLElement {
|
|
|
158
150
|
tabDropMenu.setAttribute("closeOnClick", "true")
|
|
159
151
|
const trigger = createElement(`<button
|
|
160
152
|
id="${name}"
|
|
161
|
-
class="mx-
|
|
153
|
+
class="mx-popover__trigger ${this.dropTriggerClasses}"
|
|
162
154
|
popovertarget="${this.dropMenuId}"
|
|
155
|
+
style="anchor-name: --${this.dropMenuId}"
|
|
163
156
|
hidden
|
|
164
157
|
></button>`)
|
|
165
158
|
const menu = createElement(
|
|
166
159
|
`<div
|
|
167
|
-
class="mx-drop-menu"
|
|
160
|
+
class="mx-popover mx-drop-menu"
|
|
168
161
|
id="${this.dropMenuId}"
|
|
169
|
-
aria-
|
|
170
|
-
|
|
162
|
+
aria-describedby="${name}"
|
|
163
|
+
style="position-anchor: --${this.dropMenuId}"
|
|
164
|
+
data-placement="${PopoverPlacementModifier.BOTTOM_START}"
|
|
171
165
|
popover
|
|
172
166
|
role="tablist"
|
|
173
167
|
></div>`,
|
|
@@ -187,9 +181,7 @@ export default class Tabs extends HTMLElement {
|
|
|
187
181
|
|
|
188
182
|
get tabList(): HTMLDivElement {
|
|
189
183
|
this.tabListClasses = this.getAttribute("tabListClasses") || "mx-tabs__list"
|
|
190
|
-
const existingTabList: HTMLDivElement = this.querySelector(
|
|
191
|
-
'[role="tablist"]:not([popover])',
|
|
192
|
-
)
|
|
184
|
+
const existingTabList: HTMLDivElement = this.querySelector('[role="tablist"]:not([popover])')
|
|
193
185
|
if (existingTabList) return existingTabList
|
|
194
186
|
const tabList = createElement(
|
|
195
187
|
`<div class="${this.tabListClasses}" role="tablist" hidden></div>`,
|
|
@@ -208,11 +200,15 @@ export default class Tabs extends HTMLElement {
|
|
|
208
200
|
}
|
|
209
201
|
|
|
210
202
|
get panels(): NodeListOf<HTMLElement> | null {
|
|
211
|
-
const panels: NodeListOf<HTMLElement> | null =
|
|
212
|
-
this.querySelectorAll('[role="tabpanel"]')
|
|
203
|
+
const panels: NodeListOf<HTMLElement> | null = this.querySelectorAll("[data-tab]")
|
|
213
204
|
if (!panels.length) {
|
|
214
|
-
throw new Error(`${this.localName} must contain [
|
|
205
|
+
throw new Error(`${this.localName} must contain [data-tab]`)
|
|
215
206
|
}
|
|
207
|
+
panels.forEach(panel => {
|
|
208
|
+
panel.setAttribute("role", "tabpanel")
|
|
209
|
+
panel.setAttribute("tabindex", "0")
|
|
210
|
+
panel.setAttribute("aria-label", panel.getAttribute("data-tab"))
|
|
211
|
+
})
|
|
216
212
|
return panels
|
|
217
213
|
}
|
|
218
214
|
|
|
@@ -240,20 +236,14 @@ export default class Tabs extends HTMLElement {
|
|
|
240
236
|
}
|
|
241
237
|
|
|
242
238
|
handleUrlParams = (id: string): void => {
|
|
243
|
-
const urlParams: URLSearchParams = new URLSearchParams(
|
|
244
|
-
window.location.search,
|
|
245
|
-
)
|
|
239
|
+
const urlParams: URLSearchParams = new URLSearchParams(window.location.search)
|
|
246
240
|
if (urlParams.get("tab") === id) return
|
|
247
241
|
urlParams.set("tab", id)
|
|
248
|
-
window.history.replaceState(
|
|
249
|
-
{},
|
|
250
|
-
"",
|
|
251
|
-
`${window.location.pathname}?${urlParams.toString()}`,
|
|
252
|
-
)
|
|
242
|
+
window.history.replaceState({}, "", `${window.location.pathname}?${urlParams.toString()}`)
|
|
253
243
|
}
|
|
254
244
|
}
|
|
255
245
|
|
|
256
|
-
customElements.define("mx-tabs", Tabs)
|
|
246
|
+
if (!customElements.get("mx-tabs")) customElements.define("mx-tabs", Tabs)
|
|
257
247
|
|
|
258
248
|
declare global {
|
|
259
249
|
interface HTMLElementTagNameMap {
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Meta, StoryObj } from "@storybook/html-vite"
|
|
2
|
+
import Component from "./tab-item.twig"
|
|
3
|
+
import { TabItem as TabItemType } from "@pnx-mixtape/ids-shape"
|
|
4
|
+
import "./tabs.css"
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Tab panel, design to be used in its parent's context (requires javascript).
|
|
8
|
+
*/
|
|
9
|
+
const meta: Meta<TabItemType> = {
|
|
10
|
+
tags: ["autodocs", "ids-mvp"],
|
|
11
|
+
component: Component,
|
|
12
|
+
args: {
|
|
13
|
+
id: "tab-1",
|
|
14
|
+
title: "Funk",
|
|
15
|
+
content:
|
|
16
|
+
"Funk is the ipsum dolor sit amet, consectetur adipiscing elit. Proin at finibus velit. Curabitur consequat, dolor venenatis ullamcorper commodo, quam mi iaculis sem, non varius massa risus et enim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non mi lorem. Morbi semper sagittis euismod. Vestibulum non ornare orci.",
|
|
17
|
+
},
|
|
18
|
+
argTypes: {
|
|
19
|
+
id: {
|
|
20
|
+
description: "Unique id for the individual tab panel",
|
|
21
|
+
control: "text",
|
|
22
|
+
type: {
|
|
23
|
+
name: "string",
|
|
24
|
+
required: true,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
title: {
|
|
28
|
+
description: "Label used for the tab button",
|
|
29
|
+
control: "text",
|
|
30
|
+
type: {
|
|
31
|
+
name: "string",
|
|
32
|
+
required: true,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
content: {
|
|
36
|
+
description: "Tab panel content.",
|
|
37
|
+
control: "text",
|
|
38
|
+
type: {
|
|
39
|
+
name: "string",
|
|
40
|
+
required: true,
|
|
41
|
+
},
|
|
42
|
+
table: {
|
|
43
|
+
type: { summary: "WysiwygText" },
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export default meta
|
|
50
|
+
type Story = StoryObj<TabItemType>
|
|
51
|
+
|
|
52
|
+
export const TabItem: Story = {}
|
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
import { Meta, StoryObj } from "@storybook/html-vite"
|
|
2
2
|
import Component from "./tabs.twig"
|
|
3
3
|
import TabItem from "./tab-item.twig"
|
|
4
|
+
import { HeadingTypes, Tabs as TabsType } from "@pnx-mixtape/ids-shape"
|
|
5
|
+
|
|
4
6
|
import "./tabs.css"
|
|
5
|
-
import "../DropMenu/drop-menu.css"
|
|
6
7
|
import "./Elements/Tabs"
|
|
7
|
-
import { HeadingTypes, Tabs as TabsType } from "@pnx-mixtape/ids-shape"
|
|
8
8
|
|
|
9
|
+
// Deps.
|
|
10
|
+
import "../Popover/popover.css"
|
|
11
|
+
import "../DropMenu/drop-menu.css"
|
|
12
|
+
import Heading from "../../Atom/Heading/heading.twig"
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* A Tabs component built from a list of TabItems.
|
|
16
|
+
* Requires the `Tabs` element javascript to build the tab list (collapses into a [DropMenu](/?path=/docs/component-dropmenu--docs) on mobile).
|
|
17
|
+
*/
|
|
9
18
|
const meta: Meta<TabsType> = {
|
|
10
19
|
tags: ["autodocs", "ids-mvp"],
|
|
11
20
|
component: Component,
|
|
12
21
|
args: {
|
|
22
|
+
id: "tab-example",
|
|
13
23
|
items: [
|
|
14
24
|
TabItem({
|
|
15
25
|
id: "tab-1",
|
|
@@ -43,17 +53,50 @@ const meta: Meta<TabsType> = {
|
|
|
43
53
|
],
|
|
44
54
|
},
|
|
45
55
|
},
|
|
46
|
-
deepControls: { enabled: true },
|
|
47
56
|
},
|
|
48
57
|
argTypes: {
|
|
49
|
-
id: {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
id: {
|
|
59
|
+
description: "Unique id for the tab set",
|
|
60
|
+
control: "text",
|
|
61
|
+
type: {
|
|
62
|
+
name: "string",
|
|
63
|
+
required: true,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
items: {
|
|
67
|
+
description: "A list of [TabItem](/?path=/docs/component-tabs-tabitem--docs) objects.",
|
|
68
|
+
type: {
|
|
69
|
+
name: "other",
|
|
70
|
+
required: true,
|
|
71
|
+
value: "array",
|
|
72
|
+
},
|
|
73
|
+
table: {
|
|
74
|
+
type: { summary: "TabItem[]" },
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
title: {
|
|
78
|
+
description: "Optional [Heading](/?path=/docs/atom-heading--docs) displayed above the tabs.",
|
|
79
|
+
control: "text",
|
|
80
|
+
table: {
|
|
81
|
+
type: { summary: "Heading" },
|
|
82
|
+
},
|
|
83
|
+
},
|
|
53
84
|
},
|
|
54
85
|
}
|
|
55
86
|
|
|
56
87
|
export default meta
|
|
57
|
-
type Story = StoryObj<
|
|
88
|
+
type Story = StoryObj<TabsType>
|
|
58
89
|
|
|
59
90
|
export const Tabs: Story = {}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Can have a heading above the tabs for extra context.
|
|
94
|
+
*/
|
|
95
|
+
export const WithHeading: Story = {
|
|
96
|
+
args: {
|
|
97
|
+
title: Heading({
|
|
98
|
+
title: "Tabs heading",
|
|
99
|
+
as: HeadingTypes.TWO,
|
|
100
|
+
}),
|
|
101
|
+
},
|
|
102
|
+
}
|