@pnx-mixtape/mxds 0.0.12 → 0.0.14
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 +1 -1
- package/dist/build/chunks/{Accordion-DSze7pxN.js → Accordion-Bjaw7SdG.js} +2 -2
- package/dist/build/chunks/{Accordion-DSze7pxN.js.map → Accordion-Bjaw7SdG.js.map} +1 -1
- package/dist/build/chunks/{disclosure-widget-CQLPJ8Ta.js → disclosure-widget-DwuxsaOS.js} +2 -2
- package/dist/build/chunks/{disclosure-widget-CQLPJ8Ta.js.map → disclosure-widget-DwuxsaOS.js.map} +1 -1
- package/dist/build/chunks/{drop-menu.entry-BC6x9vst.js → drop-menu.entry-Cxpti_QG.js} +2 -2
- package/dist/build/chunks/{drop-menu.entry-BC6x9vst.js.map → drop-menu.entry-Cxpti_QG.js.map} +1 -1
- package/dist/build/chunks/{utilities-B4YZb689.js → utilities-DZ_l-he4.js} +1 -49
- package/dist/build/chunks/utilities-DZ_l-he4.js.map +1 -0
- package/dist/build/dialog.entry.js +1 -1
- package/dist/build/drop-menu.entry.js +1 -1
- package/dist/build/filters.entry.js +1 -1
- package/dist/build/global-alert.entry.js +1 -1
- package/dist/build/header.entry.js +2 -2
- package/dist/build/in-page-navigation.entry.js +19 -9
- package/dist/build/in-page-navigation.entry.js.map +1 -1
- package/dist/build/navigation.entry.js +2 -2
- package/dist/build/sidebar.css +18 -64
- package/dist/build/sticky.entry.js +1 -1
- package/dist/build/tabs.entry.js +2 -2
- package/package.json +11 -20
- package/src/Atom/Background/Backgrounds.stories.ts +13 -1
- package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +157 -81
- package/src/Atom/Background/_background.css +16 -10
- package/src/Atom/Base.mdx +25 -17
- package/src/Atom/Button/Button.stories.ts +1 -4
- package/src/Atom/Button/Button.stories.tsx +1 -1
- package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +47 -37
- package/src/Atom/Button/_buttons-styles.css +7 -7
- package/src/Atom/Button/_buttons.css +1 -6
- package/src/Atom/DefinitionList/DefinitionList.stories.ts +32 -0
- package/src/Atom/DefinitionList/DefinitionList.stories.tsx +1 -1
- package/src/Atom/DefinitionList/__snapshots__/DefinitionList.stories.ts.snap +32 -0
- package/src/Atom/DefinitionList/definition-list.twig +9 -0
- package/src/Atom/Heading/Heading.stories.ts +1 -1
- package/src/Atom/Heading/Heading.stories.tsx +1 -1
- package/src/Atom/Heading/__snapshots__/Heading.stories.ts.snap +5 -3
- package/src/Atom/Icon/Icon.mdx +1 -1
- package/src/Atom/Icon/Icon.stories.ts +1 -1
- package/src/Atom/Icon/Icon.stories.tsx +1 -1
- package/src/Atom/Icon/Icon.tsx +2 -2
- package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +14 -8
- package/src/Atom/Icon/_icon.css +4 -4
- package/src/Atom/Image/Image.stories.ts +1 -1
- package/src/Atom/Image/__snapshots__/Image.stories.ts.snap +7 -5
- package/src/Atom/Image/_image.css +2 -7
- package/src/Atom/Link/Link.stories.ts +1 -1
- package/src/Atom/Link/Link.stories.tsx +1 -1
- package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +50 -37
- package/src/Atom/Link/_links.css +2 -22
- package/src/Atom/Link/link.twig +1 -0
- package/src/Atom/Media/Media.stories.ts +1 -1
- package/src/Atom/Media/Media.stories.tsx +1 -1
- package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +25 -21
- package/src/Atom/Spacing/Spacing.stories.ts +1 -1
- package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +5 -3
- package/src/Atom/Table/Table.stories.ts +1 -1
- package/src/Atom/Table/TableResponsive.stories.ts +1 -1
- package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +256 -248
- package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +65 -63
- package/src/Atom/Text/Text.stories.tsx +1 -1
- package/src/Atom/Text/TextSizes.stories.ts +1 -1
- package/src/Atom/Text/__snapshots__/TextSizes.stories.ts.snap +59 -55
- package/src/Atom/Text/rich-text.twig +9 -0
- package/src/Atom/Video/Video.stories.ts +1 -1
- package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +9 -7
- package/src/Atom/_animated.css +0 -14
- package/src/Atom/_generic.css +56 -15
- package/src/Atom/base.css +1 -1
- package/src/Component/Accordion/Accordion.stories.ts +1 -4
- package/src/Component/Accordion/Accordion.stories.tsx +1 -1
- package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +60 -56
- package/src/Component/Accordion/accordion.css +16 -4
- package/src/Component/Breadcrumb/Breadcrumb.stories.ts +1 -1
- package/src/Component/Breadcrumb/Breadcrumb.stories.tsx +1 -1
- package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.ts.snap +31 -29
- package/src/Component/Breadcrumb/breadcrumb.css +4 -0
- package/src/Component/Callout/Callout.stories.ts +1 -9
- package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +9 -7
- package/src/Component/Card/Card.stories.ts +11 -18
- package/src/Component/Card/Card.stories.tsx +1 -1
- package/src/Component/Card/Card.tsx +9 -5
- package/src/Component/Card/__snapshots__/Card.stories.ts.snap +257 -229
- package/src/Component/Card/card.css +36 -33
- package/src/Component/Card/card.twig +6 -6
- package/src/Component/Carousel/Carousel.stories.ts +201 -0
- package/src/Component/Carousel/Elements/Carousel.ts +241 -0
- package/src/Component/Carousel/__snapshots__/Carousel.stories.ts.snap +912 -0
- package/src/Component/Carousel/carousel.css +119 -0
- package/src/Component/Carousel/carousel.twig +27 -0
- package/src/Component/ContentBlock/ContentBlock.stories.ts +27 -19
- package/src/Component/ContentBlock/ContentBlock.stories.tsx +1 -1
- package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +153 -93
- package/src/Component/Dialog/Dialog.stories.ts +76 -7
- package/src/Component/Dialog/Dialog.stories.tsx +1 -1
- package/src/Component/Dialog/Elements/Dialog.ts +14 -34
- package/src/Component/Dialog/__snapshots__/Dialog.stories.ts.snap +102 -66
- package/src/Component/Dialog/dialog.css +31 -19
- package/src/Component/Dialog/dialog.twig +14 -15
- package/src/Component/DropMenu/DropMenu.stories.ts +1 -1
- package/src/Component/DropMenu/DropMenu.stories.tsx +1 -1
- package/src/Component/DropMenu/__snapshots__/DropMenu.stories.ts.snap +28 -26
- package/src/Component/DropMenu/drop-menu.css +10 -2
- package/src/Component/Filters/Filters.stories.ts +1 -4
- package/src/Component/Filters/__snapshots__/Filters.stories.ts.snap +397 -389
- package/src/Component/Filters/filters.css +14 -5
- package/src/Component/GlobalAlert/GlobalAlert.stories.ts +1 -1
- package/src/Component/GlobalAlert/GlobalAlert.stories.tsx +1 -1
- package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +33 -29
- package/src/Component/GlobalAlert/global-alert.css +2 -2
- package/src/Component/HeroBanner/HeroBanner.stories.ts +1 -4
- package/src/Component/HeroBanner/HeroBanner.stories.tsx +1 -1
- package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +68 -64
- package/src/Component/HeroBanner/hero-banner.css +6 -1
- package/src/Component/HeroBanner/hero-banner.twig +3 -4
- package/src/Component/InPageAlert/InPageAlert.stories.ts +1 -1
- package/src/Component/InPageAlert/InPageAlert.stories.tsx +1 -1
- package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +10 -8
- package/src/Component/InPageAlert/in-page-alert.css +8 -8
- package/src/Component/InPageNavigation/Elements/InPageNavigation.ts +19 -9
- package/src/Component/InPageNavigation/InPageNavigation.stories.ts +30 -5
- package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +1 -1
- package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +64 -101
- package/src/Component/InPageNavigation/in-page-navigation.twig +5 -1
- package/src/Component/InPageNavigation/twig/content-example.twig +4 -12
- package/src/Component/LinkList/LinkList.stories.ts +1 -1
- package/src/Component/LinkList/LinkList.stories.tsx +1 -1
- package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +31 -29
- package/src/Component/ListItem/ListItem.stories.ts +2 -4
- package/src/Component/ListItem/ListItem.stories.tsx +1 -1
- package/src/Component/ListItem/__snapshots__/ListItem.stories.ts.snap +162 -148
- package/src/Component/ListItem/list-item.css +7 -88
- package/src/Component/ListItem/list-item.twig +8 -8
- package/src/Component/Navigation/Dropdown.stories.tsx +1 -1
- package/src/Component/Navigation/Navigation.stories.ts +1 -1
- package/src/Component/Navigation/Navigation.stories.tsx +1 -1
- package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +291 -283
- package/src/Component/Navigation/_navigation-collapsible.css +11 -14
- package/src/Component/Navigation/_navigation-dropdown.css +11 -17
- package/src/Component/Pagination/Pagination.stories.ts +1 -1
- package/src/Component/Pagination/Pagination.stories.tsx +1 -1
- package/src/Component/Pagination/__snapshots__/Pagination.stories.ts.snap +59 -57
- package/src/Component/Pagination/pagination.css +2 -8
- package/src/Component/ResultsBar/Components/ResultsBarInfo.tsx +28 -0
- package/src/Component/ResultsBar/Components/ResultsBarSort.tsx +17 -0
- package/src/Component/ResultsBar/ResultsBar.stories.ts +37 -0
- package/src/Component/ResultsBar/ResultsBar.stories.tsx +50 -0
- package/src/Component/ResultsBar/ResultsBar.tsx +7 -0
- package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.ts.snap +54 -0
- package/src/Component/ResultsBar/__snapshots__/ResultsBar.stories.tsx.snap +53 -0
- package/src/Component/ResultsBar/results-bar.css +19 -0
- package/src/Component/ResultsBar/results-bar.twig +24 -0
- package/src/Component/SideNavigation/SideNavigation.stories.ts +2 -2
- package/src/Component/SideNavigation/__snapshots__/SideNavigation.stories.ts.snap +82 -79
- package/src/Component/SideNavigation/side-navigation.css +2 -8
- package/src/Component/SideNavigation/side-navigation.twig +1 -1
- package/src/Component/SocialLinks/SocialLinks.stories.ts +1 -1
- package/src/Component/SocialLinks/__snapshots__/SocialLinks.stories.ts.snap +30 -28
- package/src/Component/Steps/Steps.stories.ts +1 -1
- package/src/Component/Steps/__snapshots__/Steps.stories.ts.snap +86 -78
- package/src/Component/Steps/steps.css +1 -1
- package/src/Component/Sticky/Sticky.stories.ts +1 -1
- package/src/Component/Sticky/Sticky.stories.tsx +1 -1
- package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +9 -7
- package/src/Component/Tabs/Tabs.stories.ts +1 -1
- package/src/Component/Tabs/Tabs.stories.tsx +1 -1
- package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +73 -71
- package/src/Component/Tabs/tabs.css +14 -21
- package/src/Component/Tag/Tag.stories.ts +1 -1
- package/src/Component/Tag/Tag.stories.tsx +1 -1
- package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +59 -53
- package/src/Component/Tag/tag.css +6 -6
- package/src/Component/Tile/Tile.stories.ts +38 -12
- package/src/Component/Tile/Tile.stories.tsx +2 -2
- package/src/Component/Tile/Tile.tsx +30 -17
- package/src/Component/Tile/__snapshots__/Tile.stories.ts.snap +49 -75
- package/src/Form/Checkbox/Checkbox.stories.ts +1 -1
- package/src/Form/Checkbox/FormCheckbox.stories.tsx +1 -1
- package/src/Form/Checkbox/__snapshots__/Checkbox.stories.ts.snap +23 -19
- package/src/Form/Description/Description.stories.ts +1 -1
- package/src/Form/Description/FormDescription.stories.tsx +1 -1
- package/src/Form/Description/FormStatus.stories.ts +1 -1
- package/src/Form/Description/__snapshots__/Description.stories.ts.snap +7 -5
- package/src/Form/Description/__snapshots__/FormStatus.stories.ts.snap +14 -10
- package/src/Form/Form/Form.stories.tsx +1 -1
- package/src/Form/Form/FormTitle.stories.tsx +1 -1
- package/src/Form/FormItem/FormItem.stories.ts +1 -4
- package/src/Form/FormItem/FormItem.stories.tsx +1 -1
- package/src/Form/FormItem/__snapshots__/FormItem.stories.ts.snap +119 -109
- package/src/Form/Label/FormLabel.stories.tsx +1 -1
- package/src/Form/Label/FormLabel.tsx +1 -1
- package/src/Form/Label/Label.stories.ts +1 -1
- package/src/Form/Label/__snapshots__/Label.stories.ts.snap +21 -15
- package/src/Form/Radio/FormRadio.stories.tsx +1 -1
- package/src/Form/Radio/Radio.stories.ts +1 -1
- package/src/Form/Radio/__snapshots__/Radio.stories.ts.snap +55 -51
- package/src/Form/Search/Search.stories.ts +3 -31
- package/src/Form/Search/__snapshots__/Search.stories.ts.snap +23 -21
- package/src/Form/Search/search-form.twig +5 -2
- package/src/Form/Select/FormSelect.stories.tsx +1 -1
- package/src/Form/Select/FormSelect.tsx +1 -1
- package/src/Form/Select/Select.stories.ts +1 -1
- package/src/Form/Select/__snapshots__/Select.stories.ts.snap +18 -16
- package/src/Form/TextInput/FormText.stories.tsx +1 -1
- package/src/Form/TextInput/InputDivider.stories.ts +1 -1
- package/src/Form/TextInput/TextInput.stories.ts +1 -1
- package/src/Form/TextInput/__snapshots__/InputDivider.stories.ts.snap +24 -22
- package/src/Form/TextInput/__snapshots__/TextInput.stories.ts.snap +18 -14
- package/src/Form/Textarea/FormTextarea.stories.tsx +1 -1
- package/src/Form/Textarea/Textarea.stories.ts +1 -1
- package/src/Form/Textarea/__snapshots__/Textarea.stories.ts.snap +9 -7
- package/src/Form/form.css +24 -34
- package/src/Layout/Footer/Footer.stories.ts +1 -6
- package/src/Layout/Footer/Footer.stories.tsx +1 -1
- package/src/Layout/Footer/__snapshots__/Footer.stories.ts.snap +10 -10
- package/src/Layout/Footer/footer.css +2 -6
- package/src/Layout/Footer/footer.twig +0 -1
- package/src/Layout/Grid/Grid.stories.ts +8 -8
- package/src/Layout/Grid/Grid.stories.tsx +1 -1
- package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +38 -32
- package/src/Layout/Grid/container-grid.css +1 -1
- package/src/Layout/Grid/grid-item.twig +3 -1
- package/src/Layout/Grid/grid.css +1 -1
- package/src/Layout/Header/Header.stories.ts +10 -8
- package/src/Layout/Header/Header.stories.tsx +1 -1
- package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +11 -11
- package/src/Layout/Header/_header.css +18 -16
- package/src/Layout/Header/header.twig +2 -9
- package/src/Layout/Masthead/Masthead.stories.ts +1 -3
- package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +6 -6
- package/src/Layout/Masthead/masthead.twig +0 -2
- package/src/Layout/Page/Page.stories.tsx +1 -1
- package/src/Layout/Page/page.css +16 -40
- package/src/Layout/Page/page.twig +6 -1
- package/src/Layout/Section/Background.stories.ts +60 -8
- package/src/Layout/Section/Breakouts.stories.ts +1 -3
- package/src/Layout/Section/Flow.stories.ts +1 -3
- package/src/Layout/Section/Section.stories.ts +1 -6
- package/src/Layout/Section/Section.stories.tsx +1 -1
- package/src/Layout/Section/SectionGrid.stories.tsx +1 -1
- package/src/Layout/Section/__snapshots__/Background.stories.ts.snap +36 -24
- package/src/Layout/Section/__snapshots__/Breakouts.stories.ts.snap +54 -52
- package/src/Layout/Section/__snapshots__/Flow.stories.ts.snap +18 -18
- package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +2 -2
- package/src/Layout/Section/section.css +2 -5
- package/src/Layout/Section/section.twig +0 -1
- package/src/Layout/Section/twig/section-background.twig +29 -10
- package/src/Layout/Section/twig/sections-breakout.twig +28 -33
- package/src/Layout/Section/twig/sections-flow.twig +17 -17
- package/src/Layout/Section/twig/sections-stacked.twig +4 -4
- package/src/Layout/Sidebar/Sidebar.stories.ts +1 -5
- package/src/Layout/Sidebar/Sidebar.stories.tsx +1 -1
- package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.ts.snap +5 -5
- package/src/Layout/Sidebar/sidebar.css +16 -35
- package/src/Layout/Sidebar/sidebar.twig +4 -2
- package/src/Utility/Drupal/drupal.css +1 -5
- package/src/constants.css +53 -24
- package/src/enums.ts +1 -0
- package/src/react.ts +3 -0
- package/src/tokens.js +19 -19
- package/dist/build/chunks/utilities-B4YZb689.js.map +0 -1
- package/src/Component/Tile/tile.twig +0 -10
- package/src/Component/Tile/tiles.css +0 -58
- package/src/Component/Tile/twig/tiles.twig +0 -18
- package/src/Layout/images/mixtape-logo.png +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as makeAnchor } from "./utilities-
|
|
1
|
+
import { m as makeAnchor } from "./utilities-DZ_l-he4.js";
|
|
2
2
|
class Accordion extends HTMLElement {
|
|
3
3
|
constructor() {
|
|
4
4
|
super();
|
|
@@ -58,4 +58,4 @@ customElements.define("mx-accordion", Accordion);
|
|
|
58
58
|
export {
|
|
59
59
|
Accordion as A
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=Accordion-
|
|
61
|
+
//# sourceMappingURL=Accordion-Bjaw7SdG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion-
|
|
1
|
+
{"version":3,"file":"Accordion-Bjaw7SdG.js","sources":["../../../src/Component/Accordion/Elements/Accordion.ts"],"sourcesContent":["/**\n * Accordion\n * @file Support opening on hash, adding an ID attribute and toggling on print.\n */\n\nimport { makeAnchor } from \"../../../Utility/utilities\"\n\nexport default class Accordion extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n connectedCallback(): void {\n if (!this.details || !this.trigger) return\n\n const { signal }: AbortController = this.controller\n document.addEventListener(\"beforeprint\", this.handleOpen, {\n signal,\n })\n document.addEventListener(\"afterprint\", this.handleClose, {\n signal,\n })\n this.handleHash()\n document.addEventListener(\"hashchange\", this.handleHash, { signal })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n }\n\n handleOpen = (): void => {\n if (!this.details) return\n this.details.open = true\n }\n\n handleClose = (): void => {\n if (!this.details) return\n this.details.open = false\n }\n\n handleHash = (): void => {\n const { hash }: Location = window.location\n if (hash && hash === `#${this.details?.id}`) {\n this.handleOpen()\n }\n }\n\n get details(): HTMLDetailsElement | null {\n const details: HTMLDetailsElement | null = this.querySelector(\"details\")\n if (!details) {\n throw new Error(`${this.localName} must contain a <details> element.`)\n }\n details.id = details.id || this.generatedId()\n return details\n }\n\n get trigger(): HTMLElement | null {\n const trigger: HTMLElement | null = this.querySelector(\"summary\")\n if (!trigger) {\n throw new Error(`${this.localName} must contain a <summary> element.`)\n }\n return trigger\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n\ncustomElements.define(\"mx-accordion\", Accordion)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-accordion\": Accordion\n }\n}\n"],"names":[],"mappings":";AAOA,MAAqB,kBAAkB,YAAY;AAAA,EAIjD,cAAc;AACN;AAuBR,SAAA,aAAa,MAAY;AACnB,UAAA,CAAC,KAAK,QAAS;AACnB,WAAK,QAAQ,OAAO;AAAA,IAAA;AAGtB,SAAA,cAAc,MAAY;AACpB,UAAA,CAAC,KAAK,QAAS;AACnB,WAAK,QAAQ,OAAO;AAAA,IAAA;AAGtB,SAAA,aAAa,MAAY;AACjB,YAAA,EAAE,KAAK,IAAc,OAAO;AAClC,UAAI,QAAQ,SAAS,IAAI,KAAK,SAAS,EAAE,IAAI;AAC3C,aAAK,WAAW;AAAA,MAClB;AAAA,IAAA;AAoBF,SAAA,cAAc,MAAc;AAC1B,YAAM,SAA6B,KAAK,SAAS,aAAa,KAAK;AACnE,aAAO,CAAC,SAAS,KAAK,WAAW,MAAM;AAAA,IAAA;AA1DlC,SAAA,aAAa,KAAK;AAClB,SAAA,aAAa,IAAI;EACxB;AAAA,EAEA,oBAA0B;AACxB,QAAI,CAAC,KAAK,WAAW,CAAC,KAAK,QAAS;AAE9B,UAAA,EAAE,OAAO,IAAqB,KAAK;AAChC,aAAA,iBAAiB,eAAe,KAAK,YAAY;AAAA,MACxD;AAAA,IAAA,CACD;AACQ,aAAA,iBAAiB,cAAc,KAAK,aAAa;AAAA,MACxD;AAAA,IAAA,CACD;AACD,SAAK,WAAW;AAChB,aAAS,iBAAiB,cAAc,KAAK,YAAY,EAAE,QAAQ;AAAA,EACrE;AAAA,EAEA,uBAA6B;AAC3B,SAAK,WAAW;EAClB;AAAA,EAmBA,IAAI,UAAqC;AACjC,UAAA,UAAqC,KAAK,cAAc,SAAS;AACvE,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,GAAG,KAAK,SAAS,oCAAoC;AAAA,IACvE;AACA,YAAQ,KAAK,QAAQ,MAAM,KAAK,YAAY;AACrC,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,UAA8B;AAC1B,UAAA,UAA8B,KAAK,cAAc,SAAS;AAChE,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,MAAM,GAAG,KAAK,SAAS,oCAAoC;AAAA,IACvE;AACO,WAAA;AAAA,EACT;AAMF;AAEA,eAAe,OAAO,gBAAgB,SAAS;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as makeAnchor } from "./utilities-
|
|
1
|
+
import { m as makeAnchor } from "./utilities-DZ_l-he4.js";
|
|
2
2
|
class DisclosureWidget {
|
|
3
3
|
constructor(trigger, element, overrides, context = document) {
|
|
4
4
|
this.init = () => {
|
|
@@ -121,4 +121,4 @@ class DisclosureWidget {
|
|
|
121
121
|
export {
|
|
122
122
|
DisclosureWidget as D
|
|
123
123
|
};
|
|
124
|
-
//# sourceMappingURL=disclosure-widget-
|
|
124
|
+
//# sourceMappingURL=disclosure-widget-DwuxsaOS.js.map
|
package/dist/build/chunks/{disclosure-widget-CQLPJ8Ta.js.map → disclosure-widget-DwuxsaOS.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disclosure-widget-
|
|
1
|
+
{"version":3,"file":"disclosure-widget-DwuxsaOS.js","sources":["../../../src/Utility/Elements/disclosure-widget.ts"],"sourcesContent":["/**\n * Class for a generic Disclosure Widget.\n */\nimport { makeAnchor } from \"../utilities\"\n\ntype DisclosureWidgetOptions = {\n attribute?: string\n shouldPreventDefault?: boolean\n setInitialAttribute?: boolean\n clickEvent?: \"click\" | \"mouseover\"\n}\n\nexport type DisclosureWidgetEvent = {\n isOpen: boolean\n id: string\n options: DisclosureWidgetOptions\n target: Element\n}\n\nexport default class DisclosureWidget {\n options: DisclosureWidgetOptions\n context: Document | Element\n trigger: Element & { disclosureWidget?: DisclosureWidget }\n element: Element\n id: string\n isOpen?: boolean\n attached?: boolean\n\n constructor(\n trigger: Element,\n element: Element,\n overrides?: DisclosureWidgetOptions,\n context: Element | Document = document,\n ) {\n if (!trigger) {\n throw new Error(\"toggle is required.\")\n }\n if (!element) {\n throw new Error(\"element is required.\")\n }\n const options: DisclosureWidgetOptions = {\n attribute: \"inert\",\n shouldPreventDefault: true,\n setInitialAttribute: true,\n clickEvent: \"click\",\n }\n\n this.options = { ...options, ...overrides }\n this.context = context || document\n this.trigger = trigger\n this.element = element\n this.id = this.element.id || this.generatedId()\n }\n\n init = (): void => {\n if (Object.prototype.hasOwnProperty.call(this.trigger, \"disclosureWidget\"))\n return\n const { attribute, setInitialAttribute } = this.options\n this.trigger.disclosureWidget = this\n if (setInitialAttribute) this.element.setAttribute(attribute, \"\")\n this.attach()\n }\n\n handleToggle = (): void => {\n const { attribute, setInitialAttribute } = this.options\n this.element.toggleAttribute(attribute)\n const hasAttribute: boolean = this.element.hasAttribute(attribute)\n this.isOpen = setInitialAttribute ? !hasAttribute : hasAttribute\n this.trigger.setAttribute(\"aria-expanded\", String(this.isOpen))\n const newEvent: CustomEvent<DisclosureWidgetEvent> = new CustomEvent(\n \"disclosure-toggle\",\n {\n bubbles: true,\n cancelable: true,\n detail: {\n isOpen: this.isOpen,\n id: this.id,\n options: this.options,\n target: this.element,\n },\n },\n )\n this.trigger.dispatchEvent(newEvent)\n }\n\n handleMouse = (event: MouseEvent): void => {\n const { currentTarget, type, relatedTarget } = event\n\n if (type === \"mouseover\" || type === \"mouseout\") {\n const triggerParent = this.trigger.parentNode\n if (\n triggerParent !== currentTarget ||\n triggerParent.contains(relatedTarget as HTMLElement)\n )\n return\n } else if (this.trigger !== currentTarget) return\n\n const { shouldPreventDefault } = this.options\n this.handleToggle()\n if (shouldPreventDefault) {\n event.preventDefault()\n event.stopPropagation()\n }\n }\n\n handleKeyboard = (event: KeyboardEvent): void => {\n const { key, target } = event\n if (this.trigger !== target) return\n const { isOpen } = this\n const { shouldPreventDefault } = this.options\n\n switch (key) {\n // Down/Enter should open it.\n case \"ArrowDown\":\n case \"Enter\":\n if (!isOpen) this.handleToggle()\n if (shouldPreventDefault) event.preventDefault()\n break\n\n // Up/Esc should close it.\n case \"ArrowUp\":\n case \"Escape\":\n if (isOpen) this.handleToggle()\n if (shouldPreventDefault) event.preventDefault()\n break\n\n default:\n break\n }\n }\n\n attach = (): void => {\n if (this.attached) return\n const { clickEvent } = this.options\n if (clickEvent === \"mouseover\") {\n const parent = this.trigger.parentNode\n parent.addEventListener(\"mouseover\", this.handleMouse)\n parent.addEventListener(\"mouseout\", this.handleMouse)\n } else {\n this.trigger.addEventListener(\"click\", this.handleMouse)\n }\n this.trigger.addEventListener(\"keydown\", this.handleKeyboard)\n\n this.trigger.setAttribute(\"aria-expanded\", \"false\")\n if (!this.trigger.hasAttribute(\"aria-controls\"))\n this.trigger.setAttribute(\"aria-controls\", this.id)\n this.attached = true\n }\n\n detach = (): void => {\n if (!this.attached) return\n if (this.isOpen) {\n this.handleToggle()\n }\n const { clickEvent } = this.options\n if (clickEvent === \"mouseover\") {\n const parent = this.trigger.parentNode\n parent.removeEventListener(\"mouseover\", this.handleMouse)\n parent.removeEventListener(\"mouseout\", this.handleMouse)\n } else {\n this.trigger.removeEventListener(\"click\", this.handleMouse)\n }\n this.trigger.removeEventListener(\"keydown\", this.handleKeyboard)\n\n this.trigger.removeAttribute(\"aria-expanded\")\n this.attached = false\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as makeAnchor } from "./utilities-
|
|
1
|
+
import { m as makeAnchor } from "./utilities-DZ_l-he4.js";
|
|
2
2
|
import { K as Keyboard } from "./keyboard-C73DHu0c.js";
|
|
3
3
|
class DropMenu extends HTMLElement {
|
|
4
4
|
constructor() {
|
|
@@ -129,4 +129,4 @@ customElements.define("mx-dropmenu", DropMenu);
|
|
|
129
129
|
export {
|
|
130
130
|
DropMenu as D
|
|
131
131
|
};
|
|
132
|
-
//# sourceMappingURL=drop-menu.entry-
|
|
132
|
+
//# sourceMappingURL=drop-menu.entry-Cxpti_QG.js.map
|
package/dist/build/chunks/{drop-menu.entry-BC6x9vst.js.map → drop-menu.entry-Cxpti_QG.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drop-menu.entry-
|
|
1
|
+
{"version":3,"file":"drop-menu.entry-Cxpti_QG.js","sources":["../../../src/Component/DropMenu/Elements/DropMenu.ts"],"sourcesContent":["/**\n * DropMenu\n * @file Create a DropMenu using the Popover and Anchor APIs\n */\n\nimport { Keyboard, makeAnchor } from \"../../../Utility/utilities\"\n\nexport type DropMenuEvent = CustomEvent<{\n event: MouseEvent | KeyboardEvent\n target: HTMLButtonElement | HTMLAnchorElement\n}>\n\nexport default class DropMenu extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n keyboard: Keyboard = new Keyboard()\n closeOnClick: boolean\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n async connectedCallback() {\n if (!this.menu || !this.trigger) return\n\n // Polyfill anchor (everywhere so far).\n if (!(\"anchorName\" in document.documentElement.style)) {\n const { default: Polyfills } = await import(\"../polyfills.js\")\n new Polyfills(this.menu) // eslint-disable-line no-new\n }\n // Polyfill popover (FF only)\n if (!Object.hasOwn(HTMLElement, \"popover\")) {\n await import(\"@oddbird/popover-polyfill\")\n }\n this.closeOnClick = this.hasAttribute(\"closeonclick\")\n\n const { signal }: AbortController = this.controller\n document.addEventListener(\n \"click\",\n (event: MouseEvent): void => {\n const { target } = event\n if (\n (target as HTMLElement) !== this.menu &&\n ![...this.items].includes(\n target as HTMLButtonElement | HTMLAnchorElement,\n )\n )\n return\n this.handleSelect(event)\n event.preventDefault()\n },\n {\n signal,\n },\n )\n\n document.addEventListener(\n \"keydown\",\n (event: KeyboardEvent): void => {\n const { target, key } = event\n if (\n (target as HTMLElement) !== this.menu &&\n ![...this.items].includes(\n target as HTMLButtonElement | HTMLAnchorElement,\n )\n )\n return\n if (key === \"Enter\") this.handleSelect(event)\n event.preventDefault()\n },\n {\n signal,\n },\n )\n\n this.keyboard.attachEventListeners(signal)\n this.menu.addEventListener(\"focusin\", this.attachKeyboardMenu, {\n signal,\n })\n this.menu.addEventListener(\"focusout\", this.detachKeyboardMenu, {\n signal,\n })\n this.menu.addEventListener(\"toggle\", this.handleToggle, {\n signal,\n })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n this.keyboard.detachMenu()\n }\n\n handleSelect = (event: MouseEvent | KeyboardEvent): void => {\n const target = event.target as HTMLButtonElement | HTMLAnchorElement\n this.items.forEach(item => {\n if (!(item instanceof HTMLButtonElement)) return\n item.setAttribute(\"aria-checked\", String(item === target))\n })\n const newEvent: DropMenuEvent = new CustomEvent(\"drop-menu-select\", {\n bubbles: true,\n cancelable: true,\n detail: {\n event,\n target,\n },\n })\n this.menu.dispatchEvent(newEvent)\n if (this.closeOnClick) this.menu.togglePopover()\n }\n\n handleToggle = ({ newState }: ToggleEvent): void => {\n const handleClose = () => this.menu.togglePopover()\n if (newState === \"open\") {\n this.keyboard.attachPopup(this.menu.id, handleClose)\n } else {\n this.keyboard.detachPopup(this.menu.id)\n }\n }\n\n attachKeyboardMenu = (): void => {\n this.keyboard.attachMenu(this.menu, this.items)\n }\n\n detachKeyboardMenu = (): void => {\n this.keyboard.detachMenu()\n }\n\n get menu(): HTMLDivElement | null {\n const menu: HTMLDivElement | null = this.querySelector(\"[popover]\")\n if (!menu) {\n throw new Error(`${this.localName} must contain a <div popover> element.`)\n }\n menu.id = menu.id || this.generatedId()\n return menu\n }\n\n get items(): NodeListOf<HTMLButtonElement | HTMLAnchorElement> {\n const items: NodeListOf<HTMLButtonElement | HTMLAnchorElement> =\n this.menu.querySelectorAll(\":scope > *\")\n if (!items) {\n throw new Error(`${this.localName} must contain some menu items.`)\n }\n return items\n }\n\n get trigger(): HTMLButtonElement | null {\n const trigger: HTMLButtonElement | null = this.querySelector(\n `[popovertarget=${this.menu?.id}]`,\n )\n if (!trigger) {\n throw new Error(\n `${this.localName} must contain a <button popovertarget=\"${this.menu.id}\">`,\n )\n }\n return trigger\n }\n\n generatedId = (): string => {\n const string: string | undefined = this.trigger?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n}\n\ncustomElements.define(\"mx-dropmenu\", DropMenu)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-dropmenu\": DropMenu\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -135,54 +135,6 @@ _IntersectionLoader.create = (selector, callback) => {
|
|
|
135
135
|
});
|
|
136
136
|
};
|
|
137
137
|
let IntersectionLoader = _IntersectionLoader;
|
|
138
|
-
const _BreakpointLoader = class _BreakpointLoader {
|
|
139
|
-
constructor(el, callback, options = { mediaQuery: "(max-width: 720px)" }) {
|
|
140
|
-
this.init = () => {
|
|
141
|
-
this.responsiveCheck(this.breakpoint);
|
|
142
|
-
this.breakpoint.addEventListener("change", this.responsiveCheck);
|
|
143
|
-
this.fallbackBtn?.addEventListener("click", this.handleClick);
|
|
144
|
-
};
|
|
145
|
-
this.responsiveCheck = ({ matches }) => {
|
|
146
|
-
matches && this.load().catch((error) => this.handleError(error));
|
|
147
|
-
};
|
|
148
|
-
this.load = async () => {
|
|
149
|
-
try {
|
|
150
|
-
await this.callback();
|
|
151
|
-
} catch (error) {
|
|
152
|
-
this.handleError(error);
|
|
153
|
-
}
|
|
154
|
-
this.breakpoint.removeEventListener("change", this.responsiveCheck);
|
|
155
|
-
};
|
|
156
|
-
this.handleClick = () => {
|
|
157
|
-
this.load().catch((error) => this.handleError(error));
|
|
158
|
-
};
|
|
159
|
-
this.handleError = (error) => {
|
|
160
|
-
console.error(error);
|
|
161
|
-
this.errorMsg?.removeAttribute("hidden");
|
|
162
|
-
};
|
|
163
|
-
if (!el) {
|
|
164
|
-
throw new Error("Element is null or empty.");
|
|
165
|
-
}
|
|
166
|
-
this.el = el;
|
|
167
|
-
this.callback = callback;
|
|
168
|
-
this.breakpoint = window.matchMedia(options.mediaQuery);
|
|
169
|
-
this.options = { ...options };
|
|
170
|
-
this.fallbackBtn = this.el.querySelector("[data-load-fallback]");
|
|
171
|
-
this.errorMsg = this.el.querySelector("[data-load-error]");
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
|
-
_BreakpointLoader.create = (selector, callback, options = {}) => {
|
|
175
|
-
if (!Object.hasOwn(window, "once")) return;
|
|
176
|
-
window.once("breakpoint-loader", selector)?.forEach((el) => {
|
|
177
|
-
const loader = new _BreakpointLoader(
|
|
178
|
-
el,
|
|
179
|
-
callback,
|
|
180
|
-
options
|
|
181
|
-
);
|
|
182
|
-
loader.init();
|
|
183
|
-
});
|
|
184
|
-
};
|
|
185
|
-
let BreakpointLoader = _BreakpointLoader;
|
|
186
138
|
const makeAnchor = (string, length = 20) => {
|
|
187
139
|
if (typeof string !== "string" || !string) return "";
|
|
188
140
|
let id = string.toLowerCase().trim().replace(/\s+/g, "-").replace(/[^-a-z0-9]/g, "").replace(/[\n\r]+|[\s]{2,}/g, "");
|
|
@@ -240,4 +192,4 @@ export {
|
|
|
240
192
|
handleOutsideClick as h,
|
|
241
193
|
makeAnchor as m
|
|
242
194
|
};
|
|
243
|
-
//# sourceMappingURL=utilities-
|
|
195
|
+
//# sourceMappingURL=utilities-DZ_l-he4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities-DZ_l-he4.js","sources":["../../../node_modules/js-cookie/dist/js.cookie.mjs","../../../src/Utility/Elements/io-loader.ts","../../../src/Utility/utilities.ts"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Lazy Load on an Intersection Observer\n */\n\nexport default class IntersectionLoader {\n el: HTMLElement\n callback: () => any\n observer: IntersectionObserver\n fallbackBtn?: HTMLButtonElement\n errorMsg?: HTMLElement\n\n constructor(el: HTMLElement, callback: () => any) {\n this.el = el\n this.callback = callback\n this.fallbackBtn = this.el.querySelector(\"[data-load-fallback]\")\n this.errorMsg = this.el.querySelector(\"[data-load-error]\")\n }\n\n init = (): void => {\n this.observer = new IntersectionObserver(items => {\n items.forEach(({ isIntersecting }) => {\n if (isIntersecting) this.load().catch(error => this.handleError(error))\n })\n })\n this.observer.observe(this.el)\n this.fallbackBtn?.addEventListener(\"click\", this.handleClick)\n }\n\n load = async (): Promise<void> => {\n try {\n await this.callback()\n } catch (error) {\n this.handleError(error)\n }\n this.observer.unobserve(this.el)\n }\n\n handleClick = (): void => {\n this.load().catch(error => this.handleError(error))\n }\n\n handleError = (error): void => {\n console.error(error) // eslint-disable-line no-console\n this.errorMsg?.removeAttribute(\"hidden\")\n }\n\n static create = (selector: string, callback: () => any): void => {\n if (!Object.hasOwn(window, \"once\")) return\n window\n .once(\"intersection-loader\", selector)\n ?.forEach((el: HTMLElement): void => {\n const loader: IntersectionLoader = new IntersectionLoader(el, callback)\n loader.init()\n })\n }\n}\n","/* eslint-disable no-console */\n/**\n * @file utilities.\n */\n\nexport { default as DisclosureWidget } from \"./Elements/disclosure-widget\"\nexport type { DisclosureWidgetEvent } from \"./Elements/disclosure-widget\"\nexport { default as Keyboard } from \"./Elements/keyboard\"\nexport { default as CookieCompliance } from \"./Elements/cookie-compliance\"\nexport { default as IntersectionLoader } from \"./Elements/io-loader\"\nexport { default as BreakpointLoader } from \"./Elements/breakpoint-loader\"\n\nexport const makeAnchor = (string: string, length: number = 20): string => {\n if (typeof string !== \"string\" || !string) return \"\"\n // Convert the string to lowercase and remove non-alphanumeric characters.\n let id: string = string\n .toLowerCase()\n .trim()\n .replace(/\\s+/g, \"-\")\n .replace(/[^-a-z0-9]/g, \"\")\n .replace(/[\\n\\r]+|[\\s]{2,}/g, \"\")\n // Ensure we start the id with a letter.\n // Only run this several times.\n const times: number[] = [...Array(6).keys()]\n times.forEach((): void => {\n if (!id.charAt(0).match(/[a-z]/g)) {\n id = id.substring(1)\n }\n })\n // Cut to the desired length.\n if (length) id = id.substring(0, length + 1)\n\n return id\n}\n\nexport const makeCamelCase = (string: string): string => {\n if (typeof string !== \"string\" || !string) return \"\"\n const output: string = string\n .trim()\n .replace(\n /(?:^\\w|[A-Z]|\\b\\w|\\s+)/g,\n (match: string, index: number): string => {\n if (+match === 0) return \"\"\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n },\n )\n return output.replace(/[^\\w\\s]/gi, \"\")\n}\n\nexport const isInternalLink = (\n href: string,\n internalHostnames: string[],\n): boolean => {\n if (typeof href !== \"string\" || !href || !Array.isArray(internalHostnames)) {\n return false\n }\n\n try {\n const { hostname }: { hostname: string } = new URL(href)\n return (\n window.location.hostname === hostname ||\n internalHostnames.includes(hostname)\n )\n } catch (error) {\n console.error(error)\n return false\n }\n}\n\nexport const createElement = (string: string): Element | null => {\n try {\n const el: HTMLDivElement = document.createElement(\"div\")\n el.innerHTML = string\n return el.firstElementChild\n } catch (error) {\n console.error(error)\n return null\n }\n}\n\nexport const getElementBox = (\n element: HTMLElement,\n once: boolean = false,\n content: boolean = false,\n): void => {\n const observer: ResizeObserver = new ResizeObserver(entries => {\n entries.forEach(({ contentBoxSize, borderBoxSize }) => {\n const [{ inlineSize, blockSize }] = content\n ? contentBoxSize\n : borderBoxSize\n element.style.setProperty(\"--inline-size\", `${inlineSize.toFixed(1)}px`)\n element.style.setProperty(\"--block-size\", `${blockSize.toFixed(1)}px`)\n if (once) observer.unobserve(element)\n })\n })\n observer.observe(element)\n}\n\nexport const handleOutsideClick = (\n event: MouseEvent,\n container: HTMLElement,\n callback: () => void,\n ignored: HTMLElement[] = [],\n): void => {\n const {\n target,\n clientY,\n clientX,\n }: { target: EventTarget; clientY: number; clientX: number } = event\n // FF treating option click as outside click.\n const isOption: boolean =\n target instanceof HTMLOptionElement || target instanceof HTMLSelectElement\n // Or it's in the ignored list.\n\n const isIgnored: HTMLElement[] = ignored?.filter(\n item => item === target || item.contains(target as HTMLElement),\n )\n // Exit early if we can.\n if (isIgnored.length || isOption) return\n // Check if click is inside the dialog content.\n const obs: IntersectionObserver = new IntersectionObserver(\n ([{ boundingClientRect }]) => {\n const { top, height, width, left } = boundingClientRect\n const isInDialog: boolean =\n top <= clientY &&\n clientY <= top + height &&\n left <= clientX &&\n clientX <= left + width\n\n if (!isInDialog) {\n callback()\n }\n obs.disconnect()\n },\n )\n obs.observe(container)\n}\n\nexport const handleEscape = (\n event: KeyboardEvent,\n callback: () => void,\n): void => {\n const { key } = event\n if (key === \"Escape\") {\n callback()\n }\n}\n\n/* eslint-disable no-unused-vars, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access */\nexport const loadOnReady = (\n callback: (this: Window, ev: Event) => void,\n name: string,\n): void => {\n // @ts-expect-error Drupal is global\n if (Object.hasOwn(window, \"Drupal\") && Object.hasOwn(Drupal, \"behaviors\")) {\n // @ts-expect-error Drupal is global\n Drupal.behaviors[name] = {\n attach: callback,\n }\n return\n }\n window.addEventListener(\"DOMContentLoaded\", callback.bind(document, document))\n}\n"],"names":["converter"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./chunks/drop-menu.entry-
|
|
1
|
+
import "./chunks/drop-menu.entry-Cxpti_QG.js";
|
|
2
2
|
//# sourceMappingURL=drop-menu.entry.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { D as DisclosureWidget } from "./chunks/disclosure-widget-
|
|
2
|
-
import "./chunks/utilities-
|
|
1
|
+
import { D as DisclosureWidget } from "./chunks/disclosure-widget-DwuxsaOS.js";
|
|
2
|
+
import "./chunks/utilities-DZ_l-he4.js";
|
|
3
3
|
class GlobalToggle extends HTMLElement {
|
|
4
4
|
constructor() {
|
|
5
5
|
super();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as makeAnchor, c as createElement } from "./chunks/utilities-
|
|
1
|
+
import { m as makeAnchor, c as createElement } from "./chunks/utilities-DZ_l-he4.js";
|
|
2
2
|
class InPageNavigation extends HTMLElement {
|
|
3
3
|
constructor() {
|
|
4
4
|
super();
|
|
@@ -15,13 +15,23 @@ class InPageNavigation extends HTMLElement {
|
|
|
15
15
|
}
|
|
16
16
|
connectedCallback() {
|
|
17
17
|
if (!this.menu || !this.headings) return;
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
if (!this.links.length) {
|
|
19
|
+
this.headings.forEach((heading) => {
|
|
20
|
+
const listItem = this.generateListItem(heading);
|
|
21
|
+
const link = this.generateAnchor(heading);
|
|
22
|
+
this.items.push({ link, heading });
|
|
23
|
+
listItem.appendChild(link);
|
|
24
|
+
this.menu?.appendChild(listItem);
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
this.links.forEach((link) => {
|
|
28
|
+
const heading = this.container.querySelector(
|
|
29
|
+
link.href
|
|
30
|
+
);
|
|
31
|
+
if (!heading) return;
|
|
32
|
+
this.items.push({ link, heading });
|
|
33
|
+
});
|
|
34
|
+
}
|
|
25
35
|
const { signal } = this.controller;
|
|
26
36
|
this.menu.addEventListener(
|
|
27
37
|
"click",
|
|
@@ -73,7 +83,7 @@ class InPageNavigation extends HTMLElement {
|
|
|
73
83
|
const targetID = id || this.generatedId(heading);
|
|
74
84
|
if (!id) heading.id = targetID;
|
|
75
85
|
const item = createElement(
|
|
76
|
-
`<a href="#${targetID}" class="mx-icon mx-icon--chevron-right">${linkText}</a>`
|
|
86
|
+
`<a href="#${targetID}"><span class="mx-icon mx-icon--chevron-right"></span><span>${linkText}</span></a>`
|
|
77
87
|
);
|
|
78
88
|
return item;
|
|
79
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-page-navigation.entry.js","sources":["../../src/Component/InPageNavigation/Elements/InPageNavigation.ts"],"sourcesContent":["/**\n * DialogBase\n * @file Support opening/closing, and adding a scroll lock to the body.\n */\n\nimport { makeAnchor, createElement } from \"../../../Utility/utilities\"\n\nexport default class InPageNavigation extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n headingLevels: string\n items: { link: HTMLAnchorElement; heading: HTMLHeadingElement }[]\n active: { link: HTMLAnchorElement; heading: HTMLHeadingElement } | undefined\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n this.headingLevels = this.dataset?.headings || \"h2\"\n this.items = []\n }\n\n connectedCallback(): void {\n if (!this.menu || !this.headings) return\n\n
|
|
1
|
+
{"version":3,"file":"in-page-navigation.entry.js","sources":["../../src/Component/InPageNavigation/Elements/InPageNavigation.ts"],"sourcesContent":["/**\n * DialogBase\n * @file Support opening/closing, and adding a scroll lock to the body.\n */\n\nimport { makeAnchor, createElement } from \"../../../Utility/utilities\"\n\nexport default class InPageNavigation extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n headingLevels: string\n items: { link: HTMLAnchorElement; heading: HTMLHeadingElement }[]\n active: { link: HTMLAnchorElement; heading: HTMLHeadingElement } | undefined\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n this.headingLevels = this.dataset?.headings || \"h2\"\n this.items = []\n }\n\n connectedCallback(): void {\n if (!this.menu || !this.headings) return\n if (!this.links.length) {\n // Build links if not provided.\n this.headings.forEach((heading: HTMLHeadingElement) => {\n const listItem: HTMLLIElement = this.generateListItem(heading)\n const link: HTMLAnchorElement = this.generateAnchor(heading)\n this.items.push({ link, heading })\n listItem.appendChild(link)\n this.menu?.appendChild(listItem)\n })\n } else {\n this.links.forEach((link: HTMLAnchorElement) => {\n const heading: HTMLHeadingElement = this.container.querySelector(\n link.href,\n )\n if (!heading) return\n this.items.push({ link, heading })\n })\n }\n\n const { signal }: AbortController = this.controller\n\n // Open on toggle click.\n this.menu.addEventListener(\n \"click\",\n (e: MouseEvent): void => {\n const { target } = e\n if (!(target instanceof HTMLAnchorElement)) return\n this.handleClick(target)\n },\n {\n signal,\n },\n )\n }\n\n disconnectedCallback(): void {\n if (!this.menu || !this.headings) return\n this.menu.textContent = \"\"\n this.items = []\n this.controller.abort()\n }\n\n handleClick = (target: EventTarget | null): void => {\n this.active = this.items.find(item => item.link === target)\n if (!this.links || !this.active) return\n this.links.forEach(link => link.classList.remove(\"is-active\"))\n this.active.link.classList.add(\"is-active\")\n }\n\n get menu(): HTMLUListElement | HTMLOListElement | null {\n const menu: HTMLUListElement | HTMLOListElement | null =\n this.querySelector(\"ul, ol\")\n if (!menu) {\n throw new Error(`${this.localName} must contain a <ul> or <ol> element.`)\n }\n return menu\n }\n\n get container(): HTMLElement | null {\n const selector: string | null = this.getAttribute(\"data-content\")\n if (!selector) {\n throw new Error(\n `${this.localName} must have a [data-content] attribute that contains the content selector.`,\n )\n }\n return this.closest(selector) || this.parentElement.querySelector(selector)\n }\n\n get headings(): NodeListOf<HTMLHeadingElement> | undefined {\n return this.container?.querySelectorAll(this.headingLevels)\n }\n\n get links(): NodeListOf<HTMLAnchorElement> | undefined {\n return this.menu?.querySelectorAll(\"a\")\n }\n\n generatedId(heading: HTMLHeadingElement): string {\n const string: string | undefined = heading?.textContent?.trim()\n return !string ? \"\" : makeAnchor(string)\n }\n\n generateAnchor(heading: HTMLHeadingElement): HTMLAnchorElement {\n const { textContent, id } = heading\n const linkText: string | null =\n heading.getAttribute(\"data-in-page-navigation-title\") || textContent\n const targetID: string = id || this.generatedId(heading)\n if (!id) heading.id = targetID\n const item: Element = createElement(\n `<a href=\"#${targetID}\"><span class=\"mx-icon mx-icon--chevron-right\"></span><span>${linkText}</span></a>`,\n )\n\n return item as HTMLAnchorElement\n }\n\n generateListItem(heading: HTMLHeadingElement): HTMLLIElement {\n const { tagName } = heading\n const item: Element = createElement(\n `<li class=\"mx-in-page-navigation__level--${tagName.toLowerCase()}\"></li>`,\n )\n\n return item as HTMLLIElement\n }\n}\n\ncustomElements.define(\"mx-in-page-navigation\", InPageNavigation)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-in-page-navigation\": InPageNavigation\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { m as makeAnchor } from "./chunks/utilities-
|
|
1
|
+
import { m as makeAnchor } from "./chunks/utilities-DZ_l-he4.js";
|
|
2
2
|
import { K as Keyboard } from "./chunks/keyboard-C73DHu0c.js";
|
|
3
|
-
import { D as DisclosureWidget } from "./chunks/disclosure-widget-
|
|
3
|
+
import { D as DisclosureWidget } from "./chunks/disclosure-widget-DwuxsaOS.js";
|
|
4
4
|
class Navigation extends HTMLElement {
|
|
5
5
|
constructor() {
|
|
6
6
|
super();
|
package/dist/build/sidebar.css
CHANGED
|
@@ -6,62 +6,28 @@
|
|
|
6
6
|
.mx-grid--sidebar:where(:not(:has(> aside))) {
|
|
7
7
|
grid-column: narrow;
|
|
8
8
|
}
|
|
9
|
-
@media (min-width: 720px) {
|
|
10
9
|
|
|
11
10
|
.mx-grid--sidebar:where(:has(> aside)) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
gap: var(--sidebar-gap, var(--gap));
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-wrap: wrap;
|
|
13
|
+
gap: var(--sidebar-gap, var(--gap));
|
|
14
|
+
justify-content: space-between;
|
|
17
15
|
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@media (min-width: 720px) {
|
|
21
|
-
|
|
22
|
-
@media (min-width: 946px) {
|
|
23
|
-
|
|
24
|
-
@media (max-color:2147477350) and (max-color:2147477350) {
|
|
25
|
-
|
|
26
|
-
.mx-grid--sidebar:where(:has(> aside)) {
|
|
27
|
-
--sidebar-gap: 18ch;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@media not all and (min-width: 946px) {
|
|
33
|
-
|
|
34
|
-
@media (max-color:2147477350) and (color:2147477350) {
|
|
35
|
-
|
|
36
|
-
.mx-grid--sidebar:where(:has(> aside)) {
|
|
37
|
-
--sidebar-gap: 18ch;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
@media not all and (min-width: 720px) {
|
|
44
|
-
|
|
45
|
-
@media (min-width: 946px) {
|
|
46
16
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
@media not all and (min-width: 946px) {
|
|
56
|
-
|
|
57
|
-
@media (color:2147477350) and (color:2147477350) {
|
|
17
|
+
.mx-grid--sidebar:where(:has(> aside)) > aside {
|
|
18
|
+
flex-grow: 1;
|
|
19
|
+
max-inline-size: 24ch;
|
|
20
|
+
max-inline-size: var(--sidebar-width, 24ch);
|
|
21
|
+
}
|
|
58
22
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
23
|
+
.mx-grid--sidebar:where(:has(> aside)) > section {
|
|
24
|
+
flex-basis: 0;
|
|
25
|
+
flex-grow: 999;
|
|
26
|
+
min-inline-size: 50%;
|
|
27
|
+
min-inline-size: var(--content-min, 50%);
|
|
28
|
+
max-inline-size: 76ch;
|
|
29
|
+
max-inline-size: var(--container-max-width, 76ch);
|
|
30
|
+
}
|
|
65
31
|
.mx-grid--sidebar.mx-grid--sidebar-rev:where(:has(> aside)) > :is(section, aside):first-child {
|
|
66
32
|
order: 2;
|
|
67
33
|
}
|
|
@@ -78,18 +44,6 @@
|
|
|
78
44
|
order: 1;
|
|
79
45
|
}
|
|
80
46
|
}
|
|
81
|
-
@media (min-width: 946px) {
|
|
82
|
-
|
|
83
|
-
.mx-grid--sidebar:where(:has(> aside)):is(.mx-grid--sidebar-rev, .mx-grid--sidebar-rev-lg) {
|
|
84
|
-
grid-template-columns: auto 76ch;
|
|
85
|
-
grid-template-columns: auto var(--container-max-width, 76ch);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.mx-grid--sidebar:where(:has(> aside:first-child)) {
|
|
90
|
-
grid-template-columns: auto 76ch;
|
|
91
|
-
grid-template-columns: auto var(--container-max-width, 76ch);
|
|
92
|
-
}
|
|
93
47
|
}
|
|
94
48
|
|
|
95
49
|
/**
|
|
@@ -102,4 +56,4 @@
|
|
|
102
56
|
}
|
|
103
57
|
}
|
|
104
58
|
|
|
105
|
-
/*# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZGViYXIuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0lBRUk7TUFDRSxtQkFBbUI7SUFDckI7O0lBRUE7TUFDRSxhQUFhO01BQ2IsZUFBZTtNQUNmLG1DQUFtQztNQUNuQyw4QkFBOEI7SUF1Q2hDOztNQXJDRTtRQUNFLFlBQVk7UUFDWixxQkFBMkM7UUFBM0MsMkNBQTJDO01BQzdDOztNQUVBO1FBQ0UsYUFBYTtRQUNiLGNBQWM7UUFDZCxvQkFBd0M7UUFBeEMsd0NBQXdDO1FBQ3hDLHFCQUFpRDtRQUFqRCxpREFBaUQ7TUFDbkQ7VUFJSTtZQUNFLFFBQVE7VUFDVjs7VUFFQTtZQUNFLFFBQVE7VUFDVjtRQUtGO1lBRUk7Y0FDRSxRQUFRO1lBQ1Y7O1lBRUE7Y0FDRSxRQUFRO1lBQ1Y7UUFFSjtBQUlSOztBQUVBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxhQUFhO0VBQ2Y7QUFDRiIsImZpbGUiOiJzaWRlYmFyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGFnZSB3aXRoIFNpZGViYXJcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5sYXlvdXRzIHtcbiAgLm14LWdyaWQtLXNpZGViYXIge1xuICAgICY6d2hlcmUoOm5vdCg6aGFzKD4gYXNpZGUpKSkge1xuICAgICAgZ3JpZC1jb2x1bW46IG5hcnJvdztcbiAgICB9XG5cbiAgICAmOndoZXJlKDpoYXMoPiBhc2lkZSkpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IHZhcigtLXNpZGViYXItZ2FwLCB2YXIoLS1nYXApKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgJiA+IGFzaWRlIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtaW5saW5lLXNpemU6IHZhcigtLXNpZGViYXItd2lkdGgsIDI0Y2gpO1xuICAgICAgfVxuXG4gICAgICAmID4gc2VjdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogOTk5O1xuICAgICAgICBtaW4taW5saW5lLXNpemU6IHZhcigtLWNvbnRlbnQtbWluLCA1MCUpO1xuICAgICAgICBtYXgtaW5saW5lLXNpemU6IHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgsIDc2Y2gpO1xuICAgICAgfVxuXG4gICAgICAmLm14LWdyaWQtLXNpZGViYXItcmV2IHtcbiAgICAgICAgJiA+IDppcyhzZWN0aW9uLCBhc2lkZSkge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm14LWdyaWQtLXNpZGViYXItcmV2LWxnIHtcbiAgICAgICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgICAgICYgPiA6aXMoc2VjdGlvbiwgYXNpZGUpIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUHJpbnQgc3R5bGVzaGVldFxuICovXG5cbkBtZWRpYSBwcmludCB7XG4gIC5teC1wYWdlX19zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iXX0= */
|
package/dist/build/tabs.entry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { D as DropMenu } from "./chunks/drop-menu.entry-
|
|
2
|
-
import { c as createElement, m as makeAnchor } from "./chunks/utilities-
|
|
1
|
+
import { D as DropMenu } from "./chunks/drop-menu.entry-Cxpti_QG.js";
|
|
2
|
+
import { c as createElement, m as makeAnchor } from "./chunks/utilities-DZ_l-he4.js";
|
|
3
3
|
class Tabs extends HTMLElement {
|
|
4
4
|
constructor() {
|
|
5
5
|
super();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnx-mixtape/mxds",
|
|
3
3
|
"description": "The Mixtape Design System",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.14",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "concurrently -k -n \"VITE,STORYBOOK\" -c \"#636cff,#ff4785\" \"npm run dev-vite\" \"npm run dev-storybook\"",
|
|
7
7
|
"build": "concurrently -n \"VITE,STORYBOOK\" -c \"#636cff,#ff4785\" \"npm run build-vite\" \"npm run build-storybook\"",
|
|
@@ -48,19 +48,12 @@
|
|
|
48
48
|
"@eslint/eslintrc": "^3.1.0",
|
|
49
49
|
"@eslint/js": "^8.57.0",
|
|
50
50
|
"@rollup/plugin-terser": "^0.4.4",
|
|
51
|
-
"@storybook/addon-a11y": "^
|
|
52
|
-
"@storybook/addon-
|
|
53
|
-
"@storybook/addon-
|
|
54
|
-
"@storybook/
|
|
55
|
-
"@storybook/
|
|
56
|
-
"@storybook/
|
|
57
|
-
"@storybook/html-vite": "^8.5.3",
|
|
58
|
-
"@storybook/manager-api": "^8.5.3",
|
|
59
|
-
"@storybook/react": "^8.5.3",
|
|
60
|
-
"@storybook/react-vite": "^8.5.3",
|
|
61
|
-
"@storybook/test": "^8.5.3",
|
|
62
|
-
"@storybook/test-runner": "^0.21.1",
|
|
63
|
-
"@storybook/types": "^8.5.3",
|
|
51
|
+
"@storybook/addon-a11y": "^9.0.12",
|
|
52
|
+
"@storybook/addon-docs": "^9.0.12",
|
|
53
|
+
"@storybook/addon-links": "^9.0.12",
|
|
54
|
+
"@storybook/html-vite": "^9.0.12",
|
|
55
|
+
"@storybook/react-vite": "^9.0.12",
|
|
56
|
+
"@storybook/test-runner": "^0.23.0",
|
|
64
57
|
"@svgr/rollup": "^8.1.0",
|
|
65
58
|
"@testing-library/dom": "^10.1.0",
|
|
66
59
|
"@testing-library/jest-dom": "^6.6.3",
|
|
@@ -74,10 +67,11 @@
|
|
|
74
67
|
"clean-css": "^5.3.3",
|
|
75
68
|
"cli-progress": "^3.12.0",
|
|
76
69
|
"concurrently": "^8.2.2",
|
|
70
|
+
"drupal-attribute": "^1.1.0",
|
|
77
71
|
"eslint": "^8.57.0",
|
|
78
72
|
"eslint-config-prettier": "^9.1.0",
|
|
79
73
|
"eslint-plugin-react": "^7.34.1",
|
|
80
|
-
"eslint-plugin-storybook": "^0.
|
|
74
|
+
"eslint-plugin-storybook": "^9.0.12",
|
|
81
75
|
"eslint-plugin-testing-library": "^6.2.2",
|
|
82
76
|
"eslint-plugin-unused-imports": "^3.2.0",
|
|
83
77
|
"eslint-plugin-vitest": "^0.5.4",
|
|
@@ -91,17 +85,14 @@
|
|
|
91
85
|
"postcss-preset-env": "^9.5.13",
|
|
92
86
|
"postcss-pxtorem": "^6.1.0",
|
|
93
87
|
"prettier": "^3.3.2",
|
|
94
|
-
"storybook": "^
|
|
95
|
-
"storybook-addon-deep-controls": "^0.9.2",
|
|
88
|
+
"storybook": "^9.0.12",
|
|
96
89
|
"stylelint": "^16.5.0",
|
|
97
90
|
"stylelint-config-standard": "^36.0.0",
|
|
98
91
|
"stylelint-use-logical-spec": "^5.0.1",
|
|
99
92
|
"tinyglobby": "^0.2.2",
|
|
100
93
|
"typescript": "^5.4.5",
|
|
101
94
|
"typescript-eslint": "^7.9.0",
|
|
102
|
-
"vite": "^
|
|
103
|
-
"vite-plugin-twig-drupal": "^1.3.0",
|
|
104
|
-
"vitest": "^1.6.0"
|
|
95
|
+
"vite-plugin-twig-drupal": "^1.3.0"
|
|
105
96
|
},
|
|
106
97
|
"optionalDependencies": {
|
|
107
98
|
"@esbuild/linux-arm64": "^0.23.0",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Meta, StoryObj } from "@storybook/html"
|
|
1
|
+
import { Meta, StoryObj } from "@storybook/html-vite"
|
|
2
2
|
import Component from "./backgrounds.twig"
|
|
3
3
|
import "./_background.css"
|
|
4
4
|
import { BackgroundStyles } from "../../enums"
|
|
@@ -34,3 +34,15 @@ export const Reverse: Story = {
|
|
|
34
34
|
modifier: BackgroundStyles.REVERSE,
|
|
35
35
|
},
|
|
36
36
|
}
|
|
37
|
+
|
|
38
|
+
export const Primary: Story = {
|
|
39
|
+
args: {
|
|
40
|
+
modifier: BackgroundStyles.PRIMARY,
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export const Accent: Story = {
|
|
45
|
+
args: {
|
|
46
|
+
modifier: BackgroundStyles.ACCENT,
|
|
47
|
+
},
|
|
48
|
+
}
|