@pnx-mixtape/mxds 0.0.15 → 0.0.17
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.css +113 -1
- package/dist/build/accordion.entry.js +83 -1
- package/dist/build/accordion.entry.js.map +1 -0
- package/dist/build/base.css +1012 -1
- package/dist/build/breadcrumb.css +55 -1
- package/dist/build/button.css +127 -1
- package/dist/build/callout.css +11 -1
- package/dist/build/card.css +160 -1
- package/dist/build/carousel.css +125 -1
- package/dist/build/chunks/Accordion-O-huO4At.js +61 -0
- package/dist/build/chunks/Accordion-O-huO4At.js.map +1 -0
- package/dist/build/chunks/disclosure-widget-CtNx0f8p.js +124 -0
- package/dist/build/chunks/disclosure-widget-CtNx0f8p.js.map +1 -0
- package/dist/build/chunks/drop-menu.entry-BEhZ_Je3.js +132 -0
- package/dist/build/chunks/drop-menu.entry-BEhZ_Je3.js.map +1 -0
- package/dist/build/chunks/keyboard-C73DHu0c.js +101 -0
- package/dist/build/chunks/keyboard-C73DHu0c.js.map +1 -0
- package/dist/build/chunks/polyfills-DoxMZOqh.js +806 -0
- package/dist/build/chunks/polyfills-DoxMZOqh.js.map +1 -0
- package/dist/build/chunks/popover-DzUcnIlX.js +797 -0
- package/dist/build/chunks/popover-DzUcnIlX.js.map +1 -0
- package/dist/build/chunks/utilities-DXELy_An.js +245 -0
- package/dist/build/chunks/utilities-DXELy_An.js.map +1 -0
- package/dist/build/constants.css +151 -1
- package/dist/build/container-grid.css +186 -1
- package/dist/build/content-block.css +36 -1
- package/dist/build/dialog.css +116 -1
- package/dist/build/dialog.entry.js +93 -1
- package/dist/build/dialog.entry.js.map +1 -0
- package/dist/build/drop-menu.css +89 -1
- package/dist/build/drop-menu.entry.js +2 -1
- package/dist/build/drop-menu.entry.js.map +1 -0
- package/dist/build/drupal.css +70 -1
- package/dist/build/filters.css +117 -1
- package/dist/build/filters.entry.js +138 -1
- package/dist/build/filters.entry.js.map +1 -0
- package/dist/build/footer.css +141 -1
- package/dist/build/form.css +505 -1
- package/dist/build/global-alert.css +60 -1
- package/dist/build/global-alert.entry.js +68 -1
- package/dist/build/global-alert.entry.js.map +1 -0
- package/dist/build/grid.css +201 -1
- package/dist/build/header.css +161 -1
- package/dist/build/header.entry.js +103 -1
- package/dist/build/header.entry.js.map +1 -0
- package/dist/build/hero-banner.css +67 -1
- package/dist/build/icon.css +399 -1
- package/dist/build/in-page-alert.css +93 -1
- package/dist/build/in-page-navigation.css +17 -1
- package/dist/build/in-page-navigation.entry.js +99 -1
- package/dist/build/in-page-navigation.entry.js.map +1 -0
- package/dist/build/link-list.css +45 -1
- package/dist/build/list-item.css +29 -1
- package/dist/build/masthead.css +53 -1
- package/dist/build/navigation.css +391 -1
- package/dist/build/navigation.entry.js +124 -1
- package/dist/build/navigation.entry.js.map +1 -0
- package/dist/build/page.css +65 -1
- package/dist/build/pagination.css +117 -1
- package/dist/build/results-bar.css +21 -1
- package/dist/build/section.css +147 -1
- package/dist/build/side-navigation.css +85 -1
- package/dist/build/sidebar.css +53 -1
- package/dist/build/social-links.css +20 -1
- package/dist/build/steps.css +118 -1
- package/dist/build/sticky.css +47 -1
- package/dist/build/sticky.entry.js +60 -1
- package/dist/build/sticky.entry.js.map +1 -0
- package/dist/build/tabs.css +108 -1
- package/dist/build/tabs.entry.js +202 -1
- package/dist/build/tabs.entry.js.map +1 -0
- package/dist/build/tag.css +70 -1
- package/dist/build/utilities.css +178 -1
- package/package.json +11 -4
- package/src/Component/Card/Card.stories.ts +1 -1
- package/src/Component/Carousel/Carousel.stories.ts +1 -1
- package/src/Component/DropMenu/drop-menu.css +1 -1
- package/src/Component/ListItem/ListItem.stories.ts +1 -1
- package/src/Component/Tag/Tag.stories.ts +3 -3
- package/src/Component/Tag/tags.twig +2 -2
- package/src/Layout/Section/Section.stories.ts +2 -1
- package/src/Layout/Section/section.twig +3 -1
- package/dist/build/chunks/Accordion-RtUfbsTy.js +0 -1
- package/dist/build/chunks/disclosure-widget-CPdkUWkq.js +0 -1
- package/dist/build/chunks/drop-menu.entry-BqBzLfVC.js +0 -1
- package/dist/build/chunks/keyboard-Cs0cduxq.js +0 -1
- package/dist/build/chunks/polyfills-5KNOJw2W.js +0 -1
- package/dist/build/chunks/popover-CiVl-0jk.js +0 -1
- package/dist/build/chunks/utilities-CE6xwgqF.js +0 -2
package/dist/build/accordion.css
CHANGED
|
@@ -1 +1,113 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Accordion
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
@layer design-system.defaults {
|
|
6
|
+
details summary {
|
|
7
|
+
list-style-type: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:is(details summary):is(::-webkit-details-marker,::marker) {
|
|
11
|
+
display: none;
|
|
12
|
+
content: "";
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:is(mx-accordion, mx-accordiondiv, mx-accordionmobile) {
|
|
16
|
+
display: block;
|
|
17
|
+
}
|
|
18
|
+
:where(:is(div.mx-accordion,mx-accordiondiv)) .mx-accordion__toggle {
|
|
19
|
+
-webkit-appearance: none;
|
|
20
|
+
-moz-appearance: none;
|
|
21
|
+
appearance: none;
|
|
22
|
+
color: inherit;
|
|
23
|
+
font-size: inherit;
|
|
24
|
+
background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
|
|
25
|
+
background: initial;
|
|
26
|
+
border: medium none currentcolor;
|
|
27
|
+
border: initial;
|
|
28
|
+
padding: 0;
|
|
29
|
+
padding: initial;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@layer design-system.components {
|
|
34
|
+
.mx-accordion__title {
|
|
35
|
+
margin-block-end: var(--spacing-m);
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-flow: row wrap;
|
|
38
|
+
gap: var(--spacing-s);
|
|
39
|
+
align-items: center;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.mx-accordions__toggle-all {
|
|
43
|
+
margin-inline-start: auto;
|
|
44
|
+
}
|
|
45
|
+
.mx-accordion .mx-accordion__toggle {
|
|
46
|
+
cursor: pointer;
|
|
47
|
+
inline-size: 100%;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.mx-accordion:is( > h2, > h3, > h4, > h5, > h6) {
|
|
51
|
+
all: unset;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.mx-accordion > .mx-accordion__content {
|
|
55
|
+
display: none;
|
|
56
|
+
opacity: 0;
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
}
|
|
59
|
+
:is(.mx-accordion:is([open],[data-open="true"]) > .mx-accordion__toggle) .mx-icon--chevron-down {
|
|
60
|
+
transform: rotate(180deg);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.mx-accordion:is([open],[data-open="true"]) > .mx-accordion__content {
|
|
64
|
+
opacity: 1;
|
|
65
|
+
display: block;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@starting-style {
|
|
69
|
+
|
|
70
|
+
.mx-accordion:is([open],[data-open="true"]) > .mx-accordion__content {
|
|
71
|
+
opacity: 0;
|
|
72
|
+
display: block;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.mx-accordion--divided {
|
|
77
|
+
border-block-end: 1px solid
|
|
78
|
+
var(--line-colour, var(--colour-border));
|
|
79
|
+
border-block-end: var(--line-width, 1px) solid
|
|
80
|
+
var(--line-colour, var(--colour-border));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.mx-accordion--divided .mx-accordion__toggle {
|
|
84
|
+
padding-block: var(--vertical-padding, var(--spacing-xxs));
|
|
85
|
+
padding-inline: 0;
|
|
86
|
+
padding-inline: var(--horizontal-padding, 0);
|
|
87
|
+
display: flex;
|
|
88
|
+
justify-content: space-between;
|
|
89
|
+
align-items: center;
|
|
90
|
+
gap: var(--spacing-xxs);
|
|
91
|
+
}
|
|
92
|
+
.mx-accordion--divided:is([open],[data-open="true"]) > .mx-accordion__content {
|
|
93
|
+
border-block-start: 1px solid
|
|
94
|
+
var(--line-colour, var(--colour-border));
|
|
95
|
+
border-block-start: var(--line-width, 1px) solid
|
|
96
|
+
var(--line-colour, var(--colour-border));
|
|
97
|
+
padding-block: var(--vertical-padding, var(--spacing-xxs));
|
|
98
|
+
padding-inline: 0;
|
|
99
|
+
padding-inline: var(--horizontal-padding, 0);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Print stylesheet
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
@media print {
|
|
108
|
+
.mx-accordion .mx-accordion__content {
|
|
109
|
+
display: block !important;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY29yZGlvbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7SUFFSTtNQUNFLHFCQUFxQjtJQU12Qjs7TUFKRTtRQUNFLGFBQWE7UUFDYixXQUFXO01BQ2I7O0VBSUo7SUFDRSxjQUFjO0VBQ2hCO0lBR0U7TUFDRSx3QkFBZ0I7U0FBaEIscUJBQWdCO2NBQWhCLGdCQUFnQjtNQUNoQixjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLGlGQUFtQjtNQUFuQixtQkFBbUI7TUFDbkIsZ0NBQWU7TUFBZixlQUFlO01BQ2YsVUFBZ0I7TUFBaEIsZ0JBQWdCO0lBQ2xCO0FBRUo7O0FBRUE7RUFDRTtJQUNFLGtDQUFrQztJQUNsQyxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixtQkFBbUI7RUFDckI7O0VBRUE7SUFDRSx5QkFBeUI7RUFDM0I7SUFHRTtNQUNFLGVBQWU7TUFDZixpQkFBaUI7SUFDbkI7O0lBRUE7TUFDRSxVQUFVO0lBQ1o7O0lBRUE7TUFDRSxhQUFhO01BQ2IsVUFBVTtNQUNWLGdCQUFnQjtJQUNsQjtRQUlJO1VBQ0UseUJBQXlCO1FBQzNCOztNQUdGO1FBQ0UsVUFBVTtRQUNWLGNBQWM7TUFNaEI7O1FBSkU7O01BSkY7VUFLSSxVQUFVO1VBQ1YsY0FBYztNQUVsQjtRQURFOztFQUtOO0lBQ0U7OENBQzBDO0lBRDFDOzhDQUMwQztFQW1CNUM7O0lBakJFO01BQ0UsMERBQTBEO01BQzFELGlCQUE0QztNQUE1Qyw0Q0FBNEM7TUFDNUMsYUFBYTtNQUNiLDhCQUE4QjtNQUM5QixtQkFBbUI7TUFDbkIsdUJBQXVCO0lBQ3pCO01BR0U7UUFDRTtrREFDMEM7UUFEMUM7a0RBQzBDO1FBQzFDLDBEQUEwRDtRQUMxRCxpQkFBNEM7UUFBNUMsNENBQTRDO01BQzlDO0FBR047O0FBRUE7O0VBRUU7O0FBRUY7SUFFSTtNQUNFLHlCQUF5QjtJQUMzQjtBQUVKIiwiZmlsZSI6ImFjY29yZGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFjY29yZGlvblxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgZGV0YWlscyB7XG4gICAgJiBzdW1tYXJ5IHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgJjppcyg6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIDo6bWFya2VyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmlzKG14LWFjY29yZGlvbiwgbXgtYWNjb3JkaW9uZGl2LCBteC1hY2NvcmRpb25tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIDp3aGVyZSg6aXMoZGl2Lm14LWFjY29yZGlvbiwgbXgtYWNjb3JkaW9uZGl2KSkge1xuICAgICYgLm14LWFjY29yZGlvbl9fdG9nZ2xlIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICBib3JkZXI6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LWFjY29yZGlvbl9fdGl0bGUge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLm14LWFjY29yZGlvbnNfX3RvZ2dsZS1hbGwge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XG4gIH1cblxuICAubXgtYWNjb3JkaW9uIHtcbiAgICAmIC5teC1hY2NvcmRpb25fX3RvZ2dsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICB9XG5cbiAgICAmOmlzKD4gaDIsID4gaDMsID4gaDQsID4gaDUsID4gaDYpIHtcbiAgICAgIGFsbDogdW5zZXQ7XG4gICAgfVxuXG4gICAgJiA+IC5teC1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICY6aXMoW29wZW5dLCBbZGF0YS1vcGVuPVwidHJ1ZVwiXSkge1xuICAgICAgJiA+IC5teC1hY2NvcmRpb25fX3RvZ2dsZSB7XG4gICAgICAgICYgLm14LWljb24tLWNoZXZyb24tZG93biB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gLm14LWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBzdGFydGluZy1zdHlsZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5teC1hY2NvcmRpb24tLWRpdmlkZWQge1xuICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgIHZhcigtLWxpbmUtY29sb3VyLCB2YXIoLS1jb2xvdXItYm9yZGVyKSk7XG5cbiAgICAmIC5teC1hY2NvcmRpb25fX3RvZ2dsZSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWhvcml6b250YWwtcGFkZGluZywgMCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogdmFyKC0tc3BhY2luZy14eHMpO1xuICAgIH1cblxuICAgICY6aXMoW29wZW5dLCBbZGF0YS1vcGVuPVwidHJ1ZVwiXSkge1xuICAgICAgJiA+IC5teC1hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgICAgICB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nLCB2YXIoLS1zcGFjaW5nLXh4cykpO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taG9yaXpvbnRhbC1wYWRkaW5nLCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBQcmludCBzdHlsZXNoZWV0XG4gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgLm14LWFjY29yZGlvbiB7XG4gICAgJiAubXgtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iXX0= */
|
|
@@ -1 +1,83 @@
|
|
|
1
|
-
import"./chunks/Accordion-
|
|
1
|
+
import "./chunks/Accordion-O-huO4At.js";
|
|
2
|
+
class AccordionGroup extends HTMLElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super();
|
|
5
|
+
this.handleClick = ({ target }) => {
|
|
6
|
+
if (target === this.expandTrigger) {
|
|
7
|
+
this.handleExpand();
|
|
8
|
+
}
|
|
9
|
+
if (target === this.collapseTrigger) {
|
|
10
|
+
this.handleCollapse();
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
this.handleExpand = () => {
|
|
14
|
+
this.accordions.forEach((detail) => detail.open = true);
|
|
15
|
+
this.expandTrigger.disabled = true;
|
|
16
|
+
this.collapseTrigger.disabled = false;
|
|
17
|
+
};
|
|
18
|
+
this.handleCollapse = () => {
|
|
19
|
+
this.accordions.forEach((detail) => detail.open = false);
|
|
20
|
+
this.expandTrigger.disabled = false;
|
|
21
|
+
this.collapseTrigger.disabled = true;
|
|
22
|
+
};
|
|
23
|
+
this.handleToggle = () => {
|
|
24
|
+
this.expandTrigger.disabled = [...this.accordions].every(
|
|
25
|
+
(details) => details.open === true
|
|
26
|
+
);
|
|
27
|
+
this.collapseTrigger.disabled = [...this.accordions].every(
|
|
28
|
+
(details) => details.open !== true
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
this.internals_ = this.attachInternals();
|
|
32
|
+
this.controller = new AbortController();
|
|
33
|
+
}
|
|
34
|
+
connectedCallback() {
|
|
35
|
+
if (!this.accordions || !this.expandTrigger || !this.collapseTrigger) return;
|
|
36
|
+
this.collapseTrigger.disabled = true;
|
|
37
|
+
const { signal } = this.controller;
|
|
38
|
+
this.addEventListener("click", this.handleClick, {
|
|
39
|
+
signal
|
|
40
|
+
});
|
|
41
|
+
this.accordions.forEach(
|
|
42
|
+
(details) => details.addEventListener("toggle", this.handleToggle, {
|
|
43
|
+
signal
|
|
44
|
+
})
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
disconnectedCallback() {
|
|
48
|
+
this.controller.abort();
|
|
49
|
+
}
|
|
50
|
+
get accordions() {
|
|
51
|
+
const accordions = this.querySelectorAll("details");
|
|
52
|
+
if (!accordions.length) {
|
|
53
|
+
throw new Error(
|
|
54
|
+
`${this.localName} must contain at least one <details> element.`
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
return accordions;
|
|
58
|
+
}
|
|
59
|
+
get expandTrigger() {
|
|
60
|
+
const trigger = this.querySelector(
|
|
61
|
+
"button[data-expand]"
|
|
62
|
+
);
|
|
63
|
+
if (!trigger) {
|
|
64
|
+
throw new Error(
|
|
65
|
+
`${this.localName} must contain a <button data-expand> element.`
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return trigger;
|
|
69
|
+
}
|
|
70
|
+
get collapseTrigger() {
|
|
71
|
+
const trigger = this.querySelector(
|
|
72
|
+
"button[data-collapse]"
|
|
73
|
+
);
|
|
74
|
+
if (!trigger) {
|
|
75
|
+
throw new Error(
|
|
76
|
+
`${this.localName} must contain a <button data-collapse> element.`
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
return trigger;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
customElements.define("mx-accordion-group", AccordionGroup);
|
|
83
|
+
//# sourceMappingURL=accordion.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.entry.js","sources":["../../src/Component/Accordion/Elements/AccordionGroup.ts"],"sourcesContent":["/**\n * Accordion Group\n * @file Support opening and closing all.\n */\n\nexport default class AccordionGroup 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.accordions || !this.expandTrigger || !this.collapseTrigger) return\n this.collapseTrigger.disabled = true\n const { signal }: AbortController = this.controller\n this.addEventListener(\"click\", this.handleClick, {\n signal,\n })\n this.accordions.forEach(details =>\n details.addEventListener(\"toggle\", this.handleToggle, {\n signal,\n }),\n )\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n }\n\n handleClick = ({ target }) => {\n if (target === this.expandTrigger) {\n this.handleExpand()\n }\n if (target === this.collapseTrigger) {\n this.handleCollapse()\n }\n }\n\n handleExpand = () => {\n this.accordions.forEach(detail => (detail.open = true))\n this.expandTrigger.disabled = true\n this.collapseTrigger.disabled = false\n }\n\n handleCollapse = () => {\n this.accordions.forEach(detail => (detail.open = false))\n this.expandTrigger.disabled = false\n this.collapseTrigger.disabled = true\n }\n\n handleToggle = () => {\n this.expandTrigger.disabled = [...this.accordions].every(\n details => details.open === true,\n )\n this.collapseTrigger.disabled = [...this.accordions].every(\n details => details.open !== true,\n )\n }\n\n get accordions(): NodeListOf<HTMLDetailsElement> | null {\n const accordions: NodeListOf<HTMLDetailsElement> | null =\n this.querySelectorAll(\"details\")\n if (!accordions.length) {\n throw new Error(\n `${this.localName} must contain at least one <details> element.`,\n )\n }\n return accordions\n }\n\n get expandTrigger(): HTMLButtonElement | null {\n const trigger: HTMLButtonElement | null = this.querySelector(\n \"button[data-expand]\",\n )\n if (!trigger) {\n throw new Error(\n `${this.localName} must contain a <button data-expand> element.`,\n )\n }\n return trigger\n }\n\n get collapseTrigger(): HTMLButtonElement | null {\n const trigger: HTMLButtonElement | null = this.querySelector(\n \"button[data-collapse]\",\n )\n if (!trigger) {\n throw new Error(\n `${this.localName} must contain a <button data-collapse> element.`,\n )\n }\n return trigger\n }\n}\n\ncustomElements.define(\"mx-accordion-group\", AccordionGroup)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-accordion-group\": AccordionGroup\n }\n}\n"],"names":[],"mappings":";AAKA,MAAqB,uBAAuB,YAAY;AAAA,EAItD,cAAc;AACN;AAuBM,SAAA,cAAA,CAAC,EAAE,aAAa;AACxB,UAAA,WAAW,KAAK,eAAe;AACjC,aAAK,aAAa;AAAA,MACpB;AACI,UAAA,WAAW,KAAK,iBAAiB;AACnC,aAAK,eAAe;AAAA,MACtB;AAAA,IAAA;AAGF,SAAA,eAAe,MAAM;AACnB,WAAK,WAAW,QAAQ,CAAW,WAAA,OAAO,OAAO,IAAK;AACtD,WAAK,cAAc,WAAW;AAC9B,WAAK,gBAAgB,WAAW;AAAA,IAAA;AAGlC,SAAA,iBAAiB,MAAM;AACrB,WAAK,WAAW,QAAQ,CAAW,WAAA,OAAO,OAAO,KAAM;AACvD,WAAK,cAAc,WAAW;AAC9B,WAAK,gBAAgB,WAAW;AAAA,IAAA;AAGlC,SAAA,eAAe,MAAM;AACnB,WAAK,cAAc,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE;AAAA,QACjD,CAAA,YAAW,QAAQ,SAAS;AAAA,MAAA;AAE9B,WAAK,gBAAgB,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE;AAAA,QACnD,CAAA,YAAW,QAAQ,SAAS;AAAA,MAAA;AAAA,IAC9B;AAjDK,SAAA,aAAa,KAAK;AAClB,SAAA,aAAa,IAAI;EACxB;AAAA,EAEA,oBAA0B;AACpB,QAAA,CAAC,KAAK,cAAc,CAAC,KAAK,iBAAiB,CAAC,KAAK,gBAAiB;AACtE,SAAK,gBAAgB,WAAW;AAC1B,UAAA,EAAE,OAAO,IAAqB,KAAK;AACpC,SAAA,iBAAiB,SAAS,KAAK,aAAa;AAAA,MAC/C;AAAA,IAAA,CACD;AACD,SAAK,WAAW;AAAA,MAAQ,CACtB,YAAA,QAAQ,iBAAiB,UAAU,KAAK,cAAc;AAAA,QACpD;AAAA,MAAA,CACD;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,uBAA6B;AAC3B,SAAK,WAAW;EAClB;AAAA,EAgCA,IAAI,aAAoD;AAChD,UAAA,aACJ,KAAK,iBAAiB,SAAS;AAC7B,QAAA,CAAC,WAAW,QAAQ;AACtB,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACO,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,gBAA0C;AAC5C,UAAM,UAAoC,KAAK;AAAA,MAC7C;AAAA,IAAA;AAEF,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACO,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,kBAA4C;AAC9C,UAAM,UAAoC,KAAK;AAAA,MAC7C;AAAA,IAAA;AAEF,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACO,WAAA;AAAA,EACT;AACF;AAEA,eAAe,OAAO,sBAAsB,cAAc;"}
|