@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,14 +1,9 @@
|
|
|
1
1
|
import { Meta, StoryObj } from "@storybook/html-vite"
|
|
2
2
|
import Component from "./twig/section-background.twig"
|
|
3
3
|
import "./section.css"
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
SectionModifiers,
|
|
8
|
-
SectionTypes,
|
|
9
|
-
Image as ImageType,
|
|
10
|
-
} from "@pnx-mixtape/ids-shape"
|
|
11
|
-
import { BackgroundStyles, Icons } from "../../enums"
|
|
4
|
+
import { Section as SectionType, Image as ImageType } from "@pnx-mixtape/ids-shape"
|
|
5
|
+
import { BackgroundStyles } from "../../enums"
|
|
6
|
+
import Section from "./Section.stories"
|
|
12
7
|
|
|
13
8
|
// Deps.
|
|
14
9
|
import Heading from "../../Atom/Heading/heading.twig"
|
|
@@ -20,48 +15,28 @@ type MxSectionType = SectionType & {
|
|
|
20
15
|
image?: ImageType
|
|
21
16
|
}
|
|
22
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Section can have a background image.
|
|
20
|
+
*/
|
|
23
21
|
const meta: Meta<MxSectionType> = {
|
|
24
22
|
tags: ["autodocs"],
|
|
25
23
|
component: Component,
|
|
26
24
|
args: {
|
|
25
|
+
...Section.args,
|
|
27
26
|
image: Image({
|
|
28
27
|
src: "https://picsum.photos/id/56/1642/560?grayscale",
|
|
29
28
|
alt: "Blurry bubbles",
|
|
30
29
|
}),
|
|
31
|
-
modifiers: [SectionModifiers.XL],
|
|
32
|
-
as: SectionTypes.DIV,
|
|
33
|
-
container: true,
|
|
34
|
-
title: Heading({
|
|
35
|
-
title: "Section name",
|
|
36
|
-
as: HeadingTypes.TWO,
|
|
37
|
-
}),
|
|
38
|
-
content:
|
|
39
|
-
'<p class="mx-text--lede">A short description to help explain enough about the subject matter to encourage visitors to learn more.</p>',
|
|
40
|
-
link: Link({
|
|
41
|
-
href: "#",
|
|
42
|
-
title: "See more content",
|
|
43
|
-
more: true,
|
|
44
|
-
iconEnd: Icon({
|
|
45
|
-
icon: Icons.ARROW_RIGHT,
|
|
46
|
-
}),
|
|
47
|
-
}),
|
|
48
30
|
},
|
|
49
31
|
argTypes: {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
32
|
+
...Section.argTypes,
|
|
33
|
+
image: {
|
|
34
|
+
description: "[Image](/?path=/docs/atom-image--docs) component.",
|
|
35
|
+
control: "text",
|
|
36
|
+
table: {
|
|
37
|
+
type: { summary: "Image" },
|
|
38
|
+
},
|
|
57
39
|
},
|
|
58
|
-
as: { options: Object.values(SectionTypes), control: "select" },
|
|
59
|
-
container: { control: "boolean" },
|
|
60
|
-
// @ts-expect-error The controls follow the shape
|
|
61
|
-
"title.title": { control: "text" },
|
|
62
|
-
"title.as": { options: Object.values(HeadingTypes), control: "select" },
|
|
63
|
-
"link.href": { control: "text" },
|
|
64
|
-
"link.title": { control: "text" },
|
|
65
40
|
},
|
|
66
41
|
}
|
|
67
42
|
|
|
@@ -3,6 +3,9 @@ import Component from "./twig/sections-breakout.twig"
|
|
|
3
3
|
import "./section.css"
|
|
4
4
|
import { Section as SectionType } from "@pnx-mixtape/ids-shape"
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Example of section breakouts (to be added to main section)
|
|
8
|
+
*/
|
|
6
9
|
const meta: Meta<SectionType> = {
|
|
7
10
|
tags: ["autodocs"],
|
|
8
11
|
component: Component,
|
|
@@ -3,6 +3,9 @@ import Component from "./twig/sections-flow.twig"
|
|
|
3
3
|
import "./section.css"
|
|
4
4
|
import { Section as SectionType } from "@pnx-mixtape/ids-shape"
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Example of section flow (to be added to main section)
|
|
8
|
+
*/
|
|
6
9
|
const meta: Meta<SectionType> = {
|
|
7
10
|
tags: ["autodocs"],
|
|
8
11
|
component: Component,
|
|
@@ -19,13 +19,12 @@ const meta: Meta<SectionType> = {
|
|
|
19
19
|
modifiers: [SectionModifiers.XL],
|
|
20
20
|
as: SectionTypes.DIV,
|
|
21
21
|
container: true,
|
|
22
|
+
content:
|
|
23
|
+
'<p class="mx-text--lede">A short description to help explain enough about the subject matter to encourage visitors to learn more.</p>',
|
|
22
24
|
title: Heading({
|
|
23
25
|
title: "Section name",
|
|
24
26
|
as: HeadingTypes.TWO,
|
|
25
27
|
}),
|
|
26
|
-
content: [
|
|
27
|
-
'<p class="mx-text--lede">A short description to help explain enough about the subject matter to encourage visitors to learn more.</p>',
|
|
28
|
-
],
|
|
29
28
|
link: Link({
|
|
30
29
|
href: "#",
|
|
31
30
|
title: "See more content",
|
|
@@ -37,24 +36,107 @@ const meta: Meta<SectionType> = {
|
|
|
37
36
|
},
|
|
38
37
|
argTypes: {
|
|
39
38
|
modifiers: {
|
|
39
|
+
description: "Set the vertical spacing.",
|
|
40
40
|
options: Object.values(SectionModifiers),
|
|
41
41
|
control: "multi-select",
|
|
42
|
+
table: {
|
|
43
|
+
defaultValue: { summary: SectionModifiers.XL },
|
|
44
|
+
type: { summary: "enum" },
|
|
45
|
+
},
|
|
42
46
|
},
|
|
43
47
|
background: {
|
|
48
|
+
description: "Change the background colour.",
|
|
44
49
|
options: Object.values(BackgroundStyles),
|
|
45
50
|
control: "select",
|
|
51
|
+
table: {
|
|
52
|
+
type: { summary: "enum" },
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
as: {
|
|
56
|
+
description: "Change the wrapper html element.",
|
|
57
|
+
options: Object.values(SectionTypes),
|
|
58
|
+
control: "select",
|
|
59
|
+
table: {
|
|
60
|
+
type: { summary: "enum" },
|
|
61
|
+
defaultValue: { summary: SectionTypes.DIV },
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
container: {
|
|
65
|
+
description: "Create a container context inside the section.",
|
|
66
|
+
type: "boolean",
|
|
67
|
+
table: {
|
|
68
|
+
defaultValue: { summary: "false" },
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
title: {
|
|
72
|
+
description: "An optional [Heading](/?path=/docs/atom-heading--docs) component.",
|
|
73
|
+
control: "text",
|
|
74
|
+
table: {
|
|
75
|
+
type: { summary: "Heading" },
|
|
76
|
+
subcategory: "Section content",
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
content: {
|
|
80
|
+
description: "Content (can be anything).",
|
|
81
|
+
control: "text",
|
|
82
|
+
type: {
|
|
83
|
+
name: "string",
|
|
84
|
+
required: true,
|
|
85
|
+
},
|
|
86
|
+
table: {
|
|
87
|
+
type: { summary: "WysiwygText | HTMLElement" },
|
|
88
|
+
subcategory: "Section content",
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
link: {
|
|
92
|
+
description: "Optional content [Link](/?path=/docs/atom-link--docs).",
|
|
93
|
+
control: "text",
|
|
94
|
+
table: {
|
|
95
|
+
type: { summary: "Link" },
|
|
96
|
+
subcategory: "Section content",
|
|
97
|
+
},
|
|
46
98
|
},
|
|
47
|
-
as: { options: Object.values(SectionTypes), control: "select" },
|
|
48
|
-
container: { control: "boolean" },
|
|
49
|
-
// @ts-expect-error The controls follow the shape
|
|
50
|
-
"title.title": { control: "text" },
|
|
51
|
-
"title.as": { options: Object.values(HeadingTypes), control: "select" },
|
|
52
|
-
"link.href": { control: "text" },
|
|
53
|
-
"link.title": { control: "text" },
|
|
54
99
|
},
|
|
55
100
|
}
|
|
56
101
|
|
|
57
102
|
export default meta
|
|
58
|
-
type Story = StoryObj<
|
|
103
|
+
type Story = StoryObj<SectionType>
|
|
59
104
|
|
|
60
105
|
export const Section: Story = {}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Sections can have different top/bottom modifiers.
|
|
109
|
+
*/
|
|
110
|
+
export const Modifiers: Story = {
|
|
111
|
+
args: {
|
|
112
|
+
modifiers: [SectionModifiers.TOP_S, SectionModifiers.BOTTOM_XL],
|
|
113
|
+
},
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Heading and link are optional.
|
|
118
|
+
*/
|
|
119
|
+
export const Header: Story = {
|
|
120
|
+
args: {
|
|
121
|
+
title: null,
|
|
122
|
+
link: null,
|
|
123
|
+
},
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Background colours span the full width.
|
|
128
|
+
*/
|
|
129
|
+
export const Background: Story = {
|
|
130
|
+
args: {
|
|
131
|
+
background: BackgroundStyles.PRIMARY,
|
|
132
|
+
},
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* With the exception of the box.
|
|
137
|
+
*/
|
|
138
|
+
export const Box: Story = {
|
|
139
|
+
args: {
|
|
140
|
+
background: BackgroundStyles.BOX,
|
|
141
|
+
},
|
|
142
|
+
}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
JSX,
|
|
3
|
-
ComponentPropsWithoutRef,
|
|
4
|
-
PropsWithChildren,
|
|
5
|
-
useMemo,
|
|
6
|
-
} from "react"
|
|
1
|
+
import { JSX, ComponentPropsWithoutRef, PropsWithChildren, useMemo } from "react"
|
|
7
2
|
import classNames from "classnames"
|
|
8
3
|
import { PageWidths, SectionFlow, SectionStyles } from "../../enums"
|
|
9
4
|
import { SectionTypes } from "@pnx-mixtape/ids-shape"
|
|
@@ -13,11 +8,7 @@ type InnerTagProps = ComponentPropsWithoutRef<"div"> &
|
|
|
13
8
|
condition: boolean
|
|
14
9
|
}
|
|
15
10
|
|
|
16
|
-
const InnerTag = ({
|
|
17
|
-
condition,
|
|
18
|
-
children,
|
|
19
|
-
...props
|
|
20
|
-
}: InnerTagProps): JSX.Element =>
|
|
11
|
+
const InnerTag = ({ condition, children, ...props }: InnerTagProps): JSX.Element =>
|
|
21
12
|
condition ? <div {...props}>{children}</div> : <>{children}</>
|
|
22
13
|
|
|
23
14
|
type SectionProps = PropsWithChildren & {
|
|
@@ -46,8 +37,7 @@ const Section = ({
|
|
|
46
37
|
const Tag: JSX.ElementType = `${as}` as unknown as JSX.ElementType
|
|
47
38
|
const sizeClasses = useMemo<string[]>(() => {
|
|
48
39
|
if (!sizes) return []
|
|
49
|
-
if (Array.isArray(sizes))
|
|
50
|
-
return sizes.map((size: SectionStyles) => `mx-section--${size}`)
|
|
40
|
+
if (Array.isArray(sizes)) return sizes.map((size: SectionStyles) => `mx-section--${size}`)
|
|
51
41
|
return [`mx-section--${sizes}`]
|
|
52
42
|
}, [sizes])
|
|
53
43
|
|
|
@@ -34,8 +34,7 @@ const SectionGrid = ({
|
|
|
34
34
|
|
|
35
35
|
const sizeClasses = useMemo<string[]>(() => {
|
|
36
36
|
if (!sizes) return []
|
|
37
|
-
if (Array.isArray(sizes))
|
|
38
|
-
return sizes.map((size: SectionStyles) => `mx-section--${size}`)
|
|
37
|
+
if (Array.isArray(sizes)) return sizes.map((size: SectionStyles) => `mx-section--${size}`)
|
|
39
38
|
return [`mx-section--${sizes}`]
|
|
40
39
|
}, [sizes])
|
|
41
40
|
|
|
@@ -50,13 +49,7 @@ const SectionGrid = ({
|
|
|
50
49
|
})}
|
|
51
50
|
{...props}
|
|
52
51
|
>
|
|
53
|
-
<Grid
|
|
54
|
-
wrapper
|
|
55
|
-
container={container}
|
|
56
|
-
as={gridAs}
|
|
57
|
-
cols={cols}
|
|
58
|
-
className={innerClassName}
|
|
59
|
-
>
|
|
52
|
+
<Grid wrapper container={container} as={gridAs} cols={cols} className={innerClassName}>
|
|
60
53
|
{children}
|
|
61
54
|
</Grid>
|
|
62
55
|
</Tag>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://
|
|
1
|
+
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
2
|
|
|
3
3
|
exports[`Layout/Section/Background Background smoke-test 1`] = `
|
|
4
4
|
<div class="mx-page default">
|
|
5
|
-
<div class="mx-section mx-page
|
|
5
|
+
<div class="mx-section mx-page">
|
|
6
6
|
<figure class="mx-background--image mx-section--full"
|
|
7
7
|
aria-hidden="true"
|
|
8
8
|
>
|
|
@@ -23,7 +23,7 @@ exports[`Layout/Section/Background Background smoke-test 1`] = `
|
|
|
23
23
|
<span>
|
|
24
24
|
See more content
|
|
25
25
|
</span>
|
|
26
|
-
<span class="mx-icon mx-icon--arrow-right
|
|
26
|
+
<span class="mx-icon mx-icon--arrow-right">
|
|
27
27
|
</span>
|
|
28
28
|
</a>
|
|
29
29
|
</div>
|
|
@@ -58,7 +58,7 @@ exports[`Layout/Section/Background Dark smoke-test 1`] = `
|
|
|
58
58
|
<span>
|
|
59
59
|
See more content
|
|
60
60
|
</span>
|
|
61
|
-
<span class="mx-icon mx-icon--arrow-right
|
|
61
|
+
<span class="mx-icon mx-icon--arrow-right">
|
|
62
62
|
</span>
|
|
63
63
|
</a>
|
|
64
64
|
</div>
|
|
@@ -1,8 +1,98 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://
|
|
1
|
+
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
|
+
|
|
3
|
+
exports[`Layout/Section Background smoke-test 1`] = `
|
|
4
|
+
<div class="mx-page default">
|
|
5
|
+
<div class="mx-background--primary mx-section--xl">
|
|
6
|
+
<div class="mx-container">
|
|
7
|
+
<div class="mx-section__header">
|
|
8
|
+
<h2>
|
|
9
|
+
Section name
|
|
10
|
+
</h2>
|
|
11
|
+
<a class="mx-link--more"
|
|
12
|
+
href="#"
|
|
13
|
+
>
|
|
14
|
+
<span>
|
|
15
|
+
See more content
|
|
16
|
+
</span>
|
|
17
|
+
<span class="mx-icon mx-icon--arrow-right">
|
|
18
|
+
</span>
|
|
19
|
+
</a>
|
|
20
|
+
</div>
|
|
21
|
+
<p class="mx-text--lede">
|
|
22
|
+
A short description to help explain enough about the subject matter to encourage visitors to learn more.
|
|
23
|
+
</p>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
`;
|
|
28
|
+
|
|
29
|
+
exports[`Layout/Section Box smoke-test 1`] = `
|
|
30
|
+
<div class="mx-page default">
|
|
31
|
+
<div class="mx-background--box mx-section--xl">
|
|
32
|
+
<div class="mx-container">
|
|
33
|
+
<div class="mx-section__header">
|
|
34
|
+
<h2>
|
|
35
|
+
Section name
|
|
36
|
+
</h2>
|
|
37
|
+
<a class="mx-link--more"
|
|
38
|
+
href="#"
|
|
39
|
+
>
|
|
40
|
+
<span>
|
|
41
|
+
See more content
|
|
42
|
+
</span>
|
|
43
|
+
<span class="mx-icon mx-icon--arrow-right">
|
|
44
|
+
</span>
|
|
45
|
+
</a>
|
|
46
|
+
</div>
|
|
47
|
+
<p class="mx-text--lede">
|
|
48
|
+
A short description to help explain enough about the subject matter to encourage visitors to learn more.
|
|
49
|
+
</p>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
`;
|
|
54
|
+
|
|
55
|
+
exports[`Layout/Section Header smoke-test 1`] = `
|
|
56
|
+
<div class="mx-page default">
|
|
57
|
+
<div class="mx-section--xl">
|
|
58
|
+
<div class="mx-container">
|
|
59
|
+
<p class="mx-text--lede">
|
|
60
|
+
A short description to help explain enough about the subject matter to encourage visitors to learn more.
|
|
61
|
+
</p>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
`;
|
|
66
|
+
|
|
67
|
+
exports[`Layout/Section Modifiers smoke-test 1`] = `
|
|
68
|
+
<div class="mx-page default">
|
|
69
|
+
<div class="mx-section--top-s mx-section--bottom-xl">
|
|
70
|
+
<div class="mx-container">
|
|
71
|
+
<div class="mx-section__header">
|
|
72
|
+
<h2>
|
|
73
|
+
Section name
|
|
74
|
+
</h2>
|
|
75
|
+
<a class="mx-link--more"
|
|
76
|
+
href="#"
|
|
77
|
+
>
|
|
78
|
+
<span>
|
|
79
|
+
See more content
|
|
80
|
+
</span>
|
|
81
|
+
<span class="mx-icon mx-icon--arrow-right">
|
|
82
|
+
</span>
|
|
83
|
+
</a>
|
|
84
|
+
</div>
|
|
85
|
+
<p class="mx-text--lede">
|
|
86
|
+
A short description to help explain enough about the subject matter to encourage visitors to learn more.
|
|
87
|
+
</p>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
`;
|
|
2
92
|
|
|
3
93
|
exports[`Layout/Section Section smoke-test 1`] = `
|
|
4
94
|
<div class="mx-page default">
|
|
5
|
-
<div class="
|
|
95
|
+
<div class="mx-section--xl">
|
|
6
96
|
<div class="mx-container">
|
|
7
97
|
<div class="mx-section__header">
|
|
8
98
|
<h2>
|
|
@@ -14,7 +104,7 @@ exports[`Layout/Section Section smoke-test 1`] = `
|
|
|
14
104
|
<span>
|
|
15
105
|
See more content
|
|
16
106
|
</span>
|
|
17
|
-
<span class="mx-icon mx-icon--arrow-right
|
|
107
|
+
<span class="mx-icon mx-icon--arrow-right">
|
|
18
108
|
</span>
|
|
19
109
|
</a>
|
|
20
110
|
</div>
|
|
@@ -99,8 +99,7 @@
|
|
|
99
99
|
/* :first-in-island-of-class */
|
|
100
100
|
|
|
101
101
|
&:is(
|
|
102
|
-
:not([class*="mx-background"])
|
|
103
|
-
+ .mx-section--group[class*="mx-background"],
|
|
102
|
+
:not([class*="mx-background"]) + .mx-section--group[class*="mx-background"],
|
|
104
103
|
:not(.mx-section--group + .mx-section--group)
|
|
105
104
|
) {
|
|
106
105
|
padding-block-start: var(--group-spacing);
|
|
@@ -109,9 +108,7 @@
|
|
|
109
108
|
/* :last-in-island-of-class */
|
|
110
109
|
|
|
111
110
|
&:is(
|
|
112
|
-
:not([class*="mx-background"]):has(
|
|
113
|
-
+ .mx-section--group[class*="mx-background"]
|
|
114
|
-
),
|
|
111
|
+
:not([class*="mx-background"]):has(+ .mx-section--group[class*="mx-background"]),
|
|
115
112
|
:not(:has(+ .mx-section--group))
|
|
116
113
|
) {
|
|
117
114
|
padding-block-end: var(--group-spacing);
|
|
@@ -10,17 +10,47 @@ type SidebarArgs = {
|
|
|
10
10
|
sidebarContent?: string | HTMLElement
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* A CSS Grid sidebar layout.
|
|
15
|
+
*/
|
|
13
16
|
const meta: Meta<SidebarArgs> = {
|
|
14
17
|
tags: ["autodocs"],
|
|
15
18
|
component: Component,
|
|
16
|
-
argTypes: {
|
|
17
|
-
order: { options: Object.values(SidebarOrder), control: "select" },
|
|
18
|
-
before: { control: "boolean" },
|
|
19
|
-
},
|
|
20
19
|
args: {
|
|
21
20
|
content: "Main content",
|
|
22
21
|
sidebarContent: "Sidebar content",
|
|
23
22
|
},
|
|
23
|
+
argTypes: {
|
|
24
|
+
order: {
|
|
25
|
+
description: "Change the visual position of the sidebar.",
|
|
26
|
+
options: Object.values(SidebarOrder),
|
|
27
|
+
control: "radio",
|
|
28
|
+
table: {
|
|
29
|
+
type: { summary: "enum" },
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
before: {
|
|
33
|
+
description: "Change the semantic (html) position of the sidebar.",
|
|
34
|
+
type: "boolean",
|
|
35
|
+
table: {
|
|
36
|
+
defaultValue: { summary: "false" },
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
content: {
|
|
40
|
+
description: "The main column content",
|
|
41
|
+
table: {
|
|
42
|
+
type: { summary: "String | WysiwygText | HTMLElement" },
|
|
43
|
+
subcategory: "Content",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
sidebarContent: {
|
|
47
|
+
description: "The side column content",
|
|
48
|
+
table: {
|
|
49
|
+
type: { summary: "String | WysiwygText | HTMLElement" },
|
|
50
|
+
subcategory: "Content",
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
24
54
|
}
|
|
25
55
|
|
|
26
56
|
export default meta
|
|
@@ -28,24 +58,36 @@ type Story = StoryObj<SidebarArgs>
|
|
|
28
58
|
|
|
29
59
|
export const Sidebar: Story = {}
|
|
30
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Move the sidebar first in the HTML.
|
|
63
|
+
*/
|
|
31
64
|
export const SidebarFirst: Story = {
|
|
32
65
|
args: {
|
|
33
66
|
before: true,
|
|
34
67
|
},
|
|
35
68
|
}
|
|
36
69
|
|
|
70
|
+
/**
|
|
71
|
+
* Reverse at the medium breakpoint.
|
|
72
|
+
*/
|
|
37
73
|
export const RevserseMedium: Story = {
|
|
38
74
|
args: {
|
|
39
75
|
order: SidebarOrder.REVERSE,
|
|
40
76
|
},
|
|
41
77
|
}
|
|
42
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Only reverse for larger breakpoints.
|
|
81
|
+
*/
|
|
43
82
|
export const ReverseLarge: Story = {
|
|
44
83
|
args: {
|
|
45
84
|
order: SidebarOrder.REVERSE_L,
|
|
46
85
|
},
|
|
47
86
|
}
|
|
48
87
|
|
|
88
|
+
/**
|
|
89
|
+
* The sidebar is optional.
|
|
90
|
+
*/
|
|
49
91
|
export const NoSidebar: Story = {
|
|
50
92
|
args: {
|
|
51
93
|
sidebarContent: null,
|
|
@@ -25,9 +25,7 @@ const Sidebar = ({
|
|
|
25
25
|
>
|
|
26
26
|
{before && sidebar && <aside className={sidebarClassName}>{sidebar}</aside>}
|
|
27
27
|
<section className={contentClassName}>{children}</section>
|
|
28
|
-
{!before && sidebar &&
|
|
29
|
-
<aside className={sidebarClassName}>{sidebar}</aside>
|
|
30
|
-
)}
|
|
28
|
+
{!before && sidebar && <aside className={sidebarClassName}>{sidebar}</aside>}
|
|
31
29
|
</div>
|
|
32
30
|
)
|
|
33
31
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://
|
|
1
|
+
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
2
|
|
|
3
3
|
exports[`Layout/Sidebar NoSidebar smoke-test 1`] = `
|
|
4
4
|
<div class="mx-page default">
|
|
5
|
-
<div class="mx-grid--sidebar
|
|
5
|
+
<div class="mx-grid--sidebar">
|
|
6
6
|
<section>
|
|
7
7
|
Main content
|
|
8
8
|
</section>
|
|
@@ -38,7 +38,7 @@ exports[`Layout/Sidebar RevserseMedium smoke-test 1`] = `
|
|
|
38
38
|
|
|
39
39
|
exports[`Layout/Sidebar Sidebar smoke-test 1`] = `
|
|
40
40
|
<div class="mx-page default">
|
|
41
|
-
<div class="mx-grid--sidebar
|
|
41
|
+
<div class="mx-grid--sidebar">
|
|
42
42
|
<section>
|
|
43
43
|
Main content
|
|
44
44
|
</section>
|
|
@@ -51,7 +51,7 @@ exports[`Layout/Sidebar Sidebar smoke-test 1`] = `
|
|
|
51
51
|
|
|
52
52
|
exports[`Layout/Sidebar SidebarFirst smoke-test 1`] = `
|
|
53
53
|
<div class="mx-page default">
|
|
54
|
-
<div class="mx-grid--sidebar
|
|
54
|
+
<div class="mx-grid--sidebar">
|
|
55
55
|
<aside>
|
|
56
56
|
Sidebar content
|
|
57
57
|
</aside>
|
|
@@ -23,10 +23,9 @@ import {
|
|
|
23
23
|
type ImageComponentProps = ComponentPropsWithoutRef<"img">
|
|
24
24
|
type ImageComponentContextValue = (ImageComponentProps) => JSX.Element
|
|
25
25
|
|
|
26
|
-
const DefaultImageComponent = ({
|
|
27
|
-
alt
|
|
28
|
-
|
|
29
|
-
}: ImageComponentProps): JSX.Element => <img alt={alt} {...props} />
|
|
26
|
+
const DefaultImageComponent = ({ alt, ...props }: ImageComponentProps): JSX.Element => (
|
|
27
|
+
<img alt={alt} {...props} />
|
|
28
|
+
)
|
|
30
29
|
|
|
31
30
|
const ImageComponentContext: Context<ImageComponentContextValue> =
|
|
32
31
|
createContext<ImageComponentContextValue>(DefaultImageComponent)
|
|
@@ -36,10 +35,7 @@ type ImageComponentProviderProps = PropsWithChildren & {
|
|
|
36
35
|
component?: (ImageComponentProps) => JSX.Element
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
const ImageComponentProvider = ({
|
|
40
|
-
children,
|
|
41
|
-
component = null,
|
|
42
|
-
}: ImageComponentProviderProps) => (
|
|
38
|
+
const ImageComponentProvider = ({ children, component = null }: ImageComponentProviderProps) => (
|
|
43
39
|
<ImageComponentContext value={component}>{children}</ImageComponentContext>
|
|
44
40
|
)
|
|
45
41
|
|
|
@@ -26,11 +26,7 @@ type LinkComponentProps = ComponentPropsWithoutRef<"a"> &
|
|
|
26
26
|
}
|
|
27
27
|
type LinkComponentValue = (LinkComponentProps) => JSX.Element
|
|
28
28
|
|
|
29
|
-
const DefaultLinkComponent = ({
|
|
30
|
-
to,
|
|
31
|
-
children,
|
|
32
|
-
...props
|
|
33
|
-
}: LinkComponentProps): JSX.Element => (
|
|
29
|
+
const DefaultLinkComponent = ({ to, children, ...props }: LinkComponentProps): JSX.Element => (
|
|
34
30
|
<a href={to} {...props}>
|
|
35
31
|
{children}
|
|
36
32
|
</a>
|