@pnx-mixtape/mxds 0.0.14 → 0.0.15

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.
Files changed (126) hide show
  1. package/README.md +37 -23
  2. package/dist/build/accordion.css +1 -98
  3. package/dist/build/accordion.entry.js +1 -83
  4. package/dist/build/base.css +1 -996
  5. package/dist/build/breadcrumb.css +1 -51
  6. package/dist/build/button.css +1 -132
  7. package/dist/build/callout.css +1 -11
  8. package/dist/build/card.css +1 -149
  9. package/dist/build/carousel.css +1 -0
  10. package/dist/build/chunks/Accordion-RtUfbsTy.js +1 -0
  11. package/dist/build/chunks/disclosure-widget-CPdkUWkq.js +1 -0
  12. package/dist/build/chunks/drop-menu.entry-BqBzLfVC.js +1 -0
  13. package/dist/build/chunks/keyboard-Cs0cduxq.js +1 -0
  14. package/dist/build/chunks/polyfills-5KNOJw2W.js +1 -0
  15. package/dist/build/chunks/popover-CiVl-0jk.js +1 -0
  16. package/dist/build/chunks/utilities-CE6xwgqF.js +2 -0
  17. package/dist/build/constants.css +1 -120
  18. package/dist/build/container-grid.css +1 -208
  19. package/dist/build/content-block.css +1 -36
  20. package/dist/build/dialog.css +1 -98
  21. package/dist/build/dialog.entry.js +1 -113
  22. package/dist/build/drop-menu.css +1 -78
  23. package/dist/build/drop-menu.entry.js +1 -2
  24. package/dist/build/drupal.css +1 -74
  25. package/dist/build/filters.css +1 -105
  26. package/dist/build/filters.entry.js +1 -137
  27. package/dist/build/footer.css +1 -151
  28. package/dist/build/form.css +1 -517
  29. package/dist/build/global-alert.css +1 -60
  30. package/dist/build/global-alert.entry.js +1 -68
  31. package/dist/build/grid.css +1 -200
  32. package/dist/build/header.css +1 -153
  33. package/dist/build/header.entry.js +1 -103
  34. package/dist/build/hero-banner.css +1 -62
  35. package/dist/build/icon.css +1 -399
  36. package/dist/build/in-page-alert.css +1 -94
  37. package/dist/build/in-page-navigation.css +1 -17
  38. package/dist/build/in-page-navigation.entry.js +1 -99
  39. package/dist/build/link-list.css +1 -45
  40. package/dist/build/list-item.css +1 -114
  41. package/dist/build/masthead.css +1 -53
  42. package/dist/build/navigation.css +1 -396
  43. package/dist/build/navigation.entry.js +1 -124
  44. package/dist/build/page.css +1 -80
  45. package/dist/build/pagination.css +1 -130
  46. package/dist/build/results-bar.css +1 -0
  47. package/dist/build/section.css +1 -163
  48. package/dist/build/side-navigation.css +1 -88
  49. package/dist/build/sidebar.css +1 -59
  50. package/dist/build/social-links.css +1 -20
  51. package/dist/build/steps.css +1 -118
  52. package/dist/build/sticky.css +1 -47
  53. package/dist/build/sticky.entry.js +1 -60
  54. package/dist/build/tabs.css +1 -109
  55. package/dist/build/tabs.entry.js +1 -202
  56. package/dist/build/tag.css +1 -71
  57. package/dist/build/utilities.css +1 -178
  58. package/package.json +54 -53
  59. package/src/Atom/Heading/_headings.css +24 -24
  60. package/src/Atom/Media/Media.stories.ts +1 -0
  61. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +0 -17
  62. package/src/Atom/Media/_media.css +8 -8
  63. package/src/Atom/Text/_text-sizes.css +17 -17
  64. package/src/Atom/_generic.css +3 -2
  65. package/src/Component/Accordion/Accordion.stories.tsx +0 -1
  66. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +0 -1
  67. package/src/Component/Dialog/Dialog.stories.ts +2 -3
  68. package/src/Component/Dialog/dialog.css +1 -1
  69. package/src/Component/DropMenu/Components/DropMenuContext.tsx +7 -9
  70. package/src/Component/DropMenu/Components/DropMenuItem.tsx +1 -1
  71. package/src/Component/DropMenu/Elements/DropMenu.ts +1 -1
  72. package/src/Component/DropMenu/drop-menu.css +1 -1
  73. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.tsx.snap +2 -2
  74. package/src/Component/HeroBanner/hero-banner.css +1 -1
  75. package/src/Component/Pagination/Components/PaginationContext.tsx +4 -8
  76. package/src/Component/Tabs/Tabs.tsx +4 -4
  77. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +0 -2
  78. package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +6 -16
  79. package/src/Form/Checkbox/FormCheckbox.tsx +5 -7
  80. package/src/Form/FormItem/__snapshots__/FormItem.stories.tsx.snap +4 -4
  81. package/src/Form/Radio/FormRadio.tsx +4 -4
  82. package/src/Form/TextInput/__snapshots__/FormText.stories.tsx.snap +1 -1
  83. package/src/Form/Textarea/__snapshots__/FormTextarea.stories.tsx.snap +1 -1
  84. package/src/Introduction.mdx +40 -0
  85. package/src/Layout/Grid/Grid.stories.tsx +1 -1
  86. package/src/Layout/Grid/container-grid.css +9 -9
  87. package/src/Layout/Grid/grid.css +2 -2
  88. package/src/Layout/Header/__snapshots__/Header.stories.tsx.snap +3 -3
  89. package/src/Layout/Page/__snapshots__/Page.stories.tsx.snap +3 -3
  90. package/src/Layout/Section/section.css +13 -13
  91. package/src/Utility/Context/ImageComponent.tsx +3 -6
  92. package/src/Utility/Context/LinkComponent.tsx +3 -6
  93. package/src/Utility/Elements/breakpoint-loader.ts +0 -1
  94. package/src/Utility/Elements/cookie-compliance.ts +0 -1
  95. package/src/Utility/Elements/io-loader.ts +0 -1
  96. package/src/Utility/Hooks/useLocalStorage.ts +0 -1
  97. package/src/Utility/Hooks/useMediaQuery.ts +0 -1
  98. package/src/Utility/Hooks/useToggle.ts +0 -1
  99. package/src/Utility/global.d.ts +0 -1
  100. package/src/Utility/utilities.ts +0 -1
  101. package/src/enums.ts +0 -2
  102. package/dist/build/accordion.entry.js.map +0 -1
  103. package/dist/build/chunks/Accordion-Bjaw7SdG.js +0 -61
  104. package/dist/build/chunks/Accordion-Bjaw7SdG.js.map +0 -1
  105. package/dist/build/chunks/disclosure-widget-DwuxsaOS.js +0 -124
  106. package/dist/build/chunks/disclosure-widget-DwuxsaOS.js.map +0 -1
  107. package/dist/build/chunks/drop-menu.entry-Cxpti_QG.js +0 -132
  108. package/dist/build/chunks/drop-menu.entry-Cxpti_QG.js.map +0 -1
  109. package/dist/build/chunks/keyboard-C73DHu0c.js +0 -101
  110. package/dist/build/chunks/keyboard-C73DHu0c.js.map +0 -1
  111. package/dist/build/chunks/polyfills-CJ5uTmUJ.js +0 -749
  112. package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +0 -1
  113. package/dist/build/chunks/popover-wbPSyFRj.js +0 -654
  114. package/dist/build/chunks/popover-wbPSyFRj.js.map +0 -1
  115. package/dist/build/chunks/utilities-DZ_l-he4.js +0 -195
  116. package/dist/build/chunks/utilities-DZ_l-he4.js.map +0 -1
  117. package/dist/build/dialog.entry.js.map +0 -1
  118. package/dist/build/drop-menu.entry.js.map +0 -1
  119. package/dist/build/filters.entry.js.map +0 -1
  120. package/dist/build/global-alert.entry.js.map +0 -1
  121. package/dist/build/header.entry.js.map +0 -1
  122. package/dist/build/in-page-navigation.entry.js.map +0 -1
  123. package/dist/build/navigation.entry.js.map +0 -1
  124. package/dist/build/sticky.entry.js.map +0 -1
  125. package/dist/build/tabs.entry.js.map +0 -1
  126. package/dist/build/tiles.css +0 -61
@@ -1,47 +1 @@
1
- /**
2
- * Sticky
3
- */
4
-
5
- @layer design-system.defaults {
6
- mx-sticky {
7
- display: block;
8
- }
9
- }
10
-
11
- @layer design-system.components {
12
- .sticky {
13
- position: sticky;
14
- inset-block-start: 0;
15
- inset-block-start: var(--sticky-offset, 0);
16
- z-index: 1;
17
- z-index: var(--z-index, 1);
18
- }
19
- @media (min-width: 720px) {
20
-
21
- .sticky--m {
22
- position: sticky;
23
- inset-block-start: 0;
24
- inset-block-start: var(--sticky-offset, 0);
25
- z-index: 1;
26
- z-index: var(--z-index, 1);
27
- }
28
- }
29
- @media (min-width: 946px) {
30
-
31
- .sticky--l {
32
- position: sticky;
33
- inset-block-start: 0;
34
- inset-block-start: var(--sticky-offset, 0);
35
- z-index: 1;
36
- z-index: var(--z-index, 1);
37
- }
38
- }
39
-
40
- .sticky__trigger {
41
- position: absolute;
42
- inline-size: 1px;
43
- block-size: 1px;
44
- }
45
- }
46
-
47
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0aWNreS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBUUY7RUFDRTtJQUNFLGNBQWM7RUFDaEI7QUFDRjs7QUFFQTtFQUNFO0lBWkEsZ0JBQWdCO0lBQ2hCLG9CQUEwQztJQUExQywwQ0FBMEM7SUFDMUMsVUFBMEI7SUFBMUIsMEJBQTBCO0VBWTFCO0lBR0U7O0VBREY7TUFoQkEsZ0JBQWdCO01BQ2hCLG9CQUEwQztNQUExQywwQ0FBMEM7TUFDMUMsVUFBMEI7TUFBMUIsMEJBQTBCO0VBa0IxQjtJQURFO0lBSUE7O0VBREY7TUF0QkEsZ0JBQWdCO01BQ2hCLG9CQUEwQztNQUExQywwQ0FBMEM7TUFDMUMsVUFBMEI7TUFBMUIsMEJBQTBCO0VBd0IxQjtJQURFOztFQUdGO0lBQ0Usa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixlQUFlO0VBQ2pCO0FBQ0YiLCJmaWxlIjoic3RpY2t5LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RpY2t5XG4gKi9cblxuQGRlZmluZS1taXhpbiBzdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0tc3RpY2t5LW9mZnNldCwgMCk7XG4gIHotaW5kZXg6IHZhcigtLXotaW5kZXgsIDEpO1xufVxuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5kZWZhdWx0cyB7XG4gIG14LXN0aWNreSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5zdGlja3kge1xuICAgIEBtaXhpbiBzdGlja3k7XG4gIH1cblxuICAuc3RpY2t5LS1tIHtcbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBAbWl4aW4gc3RpY2t5O1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3ktLWwge1xuICAgIEBtZWRpYSAoLS1sYXJnZS11cCkge1xuICAgICAgQG1peGluIHN0aWNreTtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5X190cmlnZ2VyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5saW5lLXNpemU6IDFweDtcbiAgICBibG9jay1zaXplOiAxcHg7XG4gIH1cbn1cbiJdfQ== */
1
+ @layer design-system.defaults{mx-sticky{display:block}}@layer design-system.components{.sticky{position:sticky;inset-block-start:0;inset-block-start:var(--sticky-offset, 0);z-index:1;z-index:var(--z-index, 1)}@media (min-width: 720px){.sticky--m{position:sticky;inset-block-start:0;inset-block-start:var(--sticky-offset, 0);z-index:1;z-index:var(--z-index, 1)}}@media (min-width: 946px){.sticky--l{position:sticky;inset-block-start:0;inset-block-start:var(--sticky-offset, 0);z-index:1;z-index:var(--z-index, 1)}}.sticky__trigger{position:absolute;inline-size:1px;block-size:1px}}
@@ -1,60 +1 @@
1
- import { c as createElement } from "./chunks/utilities-DZ_l-he4.js";
2
- class Sticky extends HTMLElement {
3
- constructor() {
4
- super();
5
- this.root = null;
6
- this.rootMargin = "0px 0px 0px 0px";
7
- this.thresholds = [0];
8
- this.internals_ = this.attachInternals();
9
- }
10
- connectedCallback() {
11
- this.offsetPropName = this.getAttribute("offsetpropname");
12
- const options = {
13
- root: this.root,
14
- rootMargin: this.rootMargin,
15
- thresholds: this.thresholds
16
- };
17
- this.iO = new IntersectionObserver(([{ boundingClientRect }]) => {
18
- const isSticky = boundingClientRect.y < 0;
19
- this.classList.toggle("is-stuck", isSticky);
20
- const newEvent = new CustomEvent("sticky-toggle", {
21
- bubbles: true,
22
- cancelable: true,
23
- detail: {
24
- isSticky,
25
- options,
26
- target: this
27
- }
28
- });
29
- this.dispatchEvent(newEvent);
30
- }, options);
31
- this.iO.observe(this.trigger);
32
- if (!this.offsetPropName) return;
33
- this.rO = new ResizeObserver((entries) => {
34
- entries.forEach(({ borderBoxSize }) => {
35
- const [{ blockSize }] = borderBoxSize;
36
- document.body.style.setProperty(
37
- this.offsetPropName,
38
- `${blockSize.toFixed(1)}px`
39
- );
40
- });
41
- });
42
- this.rO.observe(this);
43
- }
44
- disconnectedCallback() {
45
- this.iO.unobserve(this.trigger);
46
- this.rO.disconnect();
47
- }
48
- get trigger() {
49
- let trigger = this.querySelector(".sticky__trigger");
50
- if (!trigger) {
51
- trigger = createElement(
52
- '<div class="sticky__trigger"></div>'
53
- );
54
- this.insertAdjacentElement("beforebegin", trigger);
55
- }
56
- return trigger;
57
- }
58
- }
59
- customElements.define("mx-sticky", Sticky);
60
- //# sourceMappingURL=sticky.entry.js.map
1
+ import{c as t}from"./chunks/utilities-CE6xwgqF.js";class e extends HTMLElement{constructor(){super(),this.root=null,this.rootMargin="0px 0px 0px 0px",this.thresholds=[0],this.internals_=this.attachInternals()}connectedCallback(){this.offsetPropName=this.getAttribute("offsetpropname");const t={root:this.root,rootMargin:this.rootMargin,thresholds:this.thresholds};this.iO=new IntersectionObserver((([{boundingClientRect:e}])=>{const s=e.y<0;this.classList.toggle("is-stuck",s);const i=new CustomEvent("sticky-toggle",{bubbles:!0,cancelable:!0,detail:{isSticky:s,options:t,target:this}});this.dispatchEvent(i)}),t),this.iO.observe(this.trigger),this.offsetPropName&&(this.rO=new ResizeObserver((t=>{t.forEach((({borderBoxSize:t})=>{const[{blockSize:e}]=t;document.body.style.setProperty(this.offsetPropName,`${e.toFixed(1)}px`)}))})),this.rO.observe(this))}disconnectedCallback(){this.iO.unobserve(this.trigger),this.rO.disconnect()}get trigger(){let e=this.querySelector(".sticky__trigger");return e||(e=t('<div class="sticky__trigger"></div>'),this.insertAdjacentElement("beforebegin",e)),e}}customElements.define("mx-sticky",e);
@@ -1,109 +1 @@
1
- /**
2
- * Tabs
3
- */
4
-
5
- @layer design-system.defaults {
6
- :is(mx-tabs, mx-tabs mx-dropmenu) {
7
- display: block;
8
- }
9
- }
10
-
11
- @layer design-system.components {
12
- .mx-tabs {
13
- position: relative;
14
- }
15
-
16
- .mx-tabs:where(:not(:first-child)) {
17
- margin-block-start: var(--flow-gap, var(--gap));
18
- }
19
- @media (min-width: 720px) {
20
-
21
- .mx-tabs .mx-tabs__list {
22
- display: flex;
23
- flex-wrap: wrap;
24
- gap: var(--spacing-xxs);
25
- }
26
- }
27
-
28
- .mx-tabs .mx-tabs__list button {
29
- border: 0;
30
- display: block;
31
- font-family: inherit;
32
- outline-offset: var(--outline-offset);
33
- min-inline-size: 0;
34
- min-inline-size: var(--tab-min-width, 0);
35
- padding-block: var(--vertical-padding, var(--spacing-xxs));
36
- padding-inline: var(--horizontal-padding, var(--spacing-m));
37
- background-color: var(
38
- --tab-background,
39
- var(--background, var(--colour-background))
40
- );
41
- color: var(
42
- --tab-foreground,
43
- var(--foreground, var(--colour-foreground))
44
- );
45
- }
46
-
47
- .mx-tabs .mx-tabs__list button[aria-selected="true"] {
48
- background-color: var(
49
- --tab-active-background,
50
- var(--colour-background-alt)
51
- );
52
- color: var(--tab-active-foreground, var(--colour-foreground));
53
- }
54
-
55
- .mx-tabs .mx-tabs__panel {
56
- inline-size: 100%;
57
- }
58
-
59
- .mx-tabs .mx-tabs__panel:is(:focus-visible, :focus) {
60
- outline-offset: var(--outline-offset);
61
- }
62
-
63
- .mx-tabs .mx-tabs__panel[inert] {
64
- display: none;
65
- }
66
- @media (min-width: 720px) {
67
- .mx-tabs.mx-tabs--lined .mx-tabs__list {
68
- border-block-end: 1px solid
69
- var(--line-colour, var(--colour-border));
70
- border-block-end: var(--line-width, 1px) solid
71
- var(--line-colour, var(--colour-border));
72
- }
73
-
74
- .mx-tabs.mx-tabs--lined .mx-tabs__list button {
75
- border-radius: var(--border-radius) var(--border-radius) 0 0;
76
- border: 1px solid
77
- var(--line-colour, var(--colour-border));
78
- border: var(--line-width, 1px) solid
79
- var(--line-colour, var(--colour-border));
80
- border-block-end: 0;
81
- }
82
- }
83
- @media (min-width: 720px) {
84
- .mx-tabs.mx-tabs--centered .mx-tabs__list {
85
- align-content: center;
86
- justify-content: center;
87
- place-content: center;
88
- }
89
- }
90
-
91
- .mx-tabs.mx-tabs--same-height {
92
- display: grid;
93
- }
94
-
95
- .mx-tabs.mx-tabs--same-height .mx-tabs__panel {
96
- grid-column-start: 1;
97
- grid-row-start: 2;
98
- z-index: 2;
99
- transition: opacity 0.2s ease-in-out;
100
- }
101
-
102
- .mx-tabs.mx-tabs--same-height .mx-tabs__panel[inert] {
103
- display: block;
104
- opacity: 0;
105
- z-index: 1;
106
- }
107
- }
108
-
109
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhYnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxjQUFjO0VBQ2hCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGtCQUFrQjtFQTRGcEI7O0lBMUZFO01BQ0UsK0NBQStDO0lBQ2pEO01BR0U7O0lBREY7UUFFSSxhQUFhO1FBQ2IsZUFBZTtRQUNmLHVCQUF1QjtJQTRCM0I7TUEzQkU7O01BRUE7UUFDRSxTQUFTO1FBQ1QsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixxQ0FBcUM7UUFDckMsa0JBQXdDO1FBQXhDLHdDQUF3QztRQUN4QywwREFBMEQ7UUFDMUQsMkRBQTJEO1FBQzNEOzs7U0FHQztRQUNEOzs7U0FHQztNQVNIOztRQVBFO1VBQ0U7OztXQUdDO1VBQ0QsNkRBQTZEO1FBQy9EOztJQUlKO01BQ0UsaUJBQWlCO0lBU25COztNQVBFO1FBQ0UscUNBQXFDO01BQ3ZDOztNQUVBO1FBQ0UsYUFBYTtNQUNmO01BSUE7UUFDRTtVQUNFO29EQUMwQztVQUQxQztvREFDMEM7UUFRNUM7O1VBTkU7WUFDRSw0REFBNEQ7WUFDNUQ7c0RBQzBDO1lBRDFDO3NEQUMwQztZQUMxQyxtQkFBbUI7VUFDckI7TUFFSjtNQUlBO1FBQ0U7VUFDRSxxQkFBcUI7VUFBckIsdUJBQXFCO1VBQXJCLHFCQUFxQjtRQUN2QjtNQUNGOztJQUdGO01BQ0UsYUFBYTtJQWNmOztNQVpFO1FBQ0Usb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1Ysb0NBQW9DO01BT3RDOztRQUxFO1VBQ0UsY0FBYztVQUNkLFVBQVU7VUFDVixVQUFVO1FBQ1o7QUFJUiIsImZpbGUiOiJ0YWJzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGFic1xuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmRlZmF1bHRzIHtcbiAgOmlzKG14LXRhYnMsIG14LXRhYnMgbXgtZHJvcG1lbnUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LXRhYnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6d2hlcmUoOm5vdCg6Zmlyc3QtY2hpbGQpKSB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWZsb3ctZ2FwLCB2YXIoLS1nYXApKTtcbiAgICB9XG5cbiAgICAmIC5teC10YWJzX19saXN0IHtcbiAgICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNpbmcteHhzKTtcbiAgICAgIH1cblxuICAgICAgJiBidXR0b24ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IHZhcigtLW91dGxpbmUtb2Zmc2V0KTtcbiAgICAgICAgbWluLWlubGluZS1zaXplOiB2YXIoLS10YWItbWluLXdpZHRoLCAwKTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0tdmVydGljYWwtcGFkZGluZywgdmFyKC0tc3BhY2luZy14eHMpKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWhvcml6b250YWwtcGFkZGluZywgdmFyKC0tc3BhY2luZy1tKSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcihcbiAgICAgICAgICAtLXRhYi1iYWNrZ3JvdW5kLFxuICAgICAgICAgIHZhcigtLWJhY2tncm91bmQsIHZhcigtLWNvbG91ci1iYWNrZ3JvdW5kKSlcbiAgICAgICAgKTtcbiAgICAgICAgY29sb3I6IHZhcihcbiAgICAgICAgICAtLXRhYi1mb3JlZ3JvdW5kLFxuICAgICAgICAgIHZhcigtLWZvcmVncm91bmQsIHZhcigtLWNvbG91ci1mb3JlZ3JvdW5kKSlcbiAgICAgICAgKTtcblxuICAgICAgICAmW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAtLXRhYi1hY3RpdmUtYmFja2dyb3VuZCxcbiAgICAgICAgICAgIHZhcigtLWNvbG91ci1iYWNrZ3JvdW5kLWFsdClcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS10YWItYWN0aXZlLWZvcmVncm91bmQsIHZhcigtLWNvbG91ci1mb3JlZ3JvdW5kKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC10YWJzX19wYW5lbCB7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcblxuICAgICAgJjppcyg6Zm9jdXMtdmlzaWJsZSwgOmZvY3VzKSB7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1vdXRsaW5lLW9mZnNldCk7XG4gICAgICB9XG5cbiAgICAgICZbaW5lcnRdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14LXRhYnMtLWxpbmVkIHtcbiAgICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgICAgJiAubXgtdGFic19fbGlzdCB7XG4gICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogdmFyKC0tbGluZS13aWR0aCwgMXB4KSBzb2xpZFxuICAgICAgICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcblxuICAgICAgICAgICYgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDAgMDtcbiAgICAgICAgICAgIGJvcmRlcjogdmFyKC0tbGluZS13aWR0aCwgMXB4KSBzb2xpZFxuICAgICAgICAgICAgICB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpO1xuICAgICAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm14LXRhYnMtLWNlbnRlcmVkIHtcbiAgICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgICAgJiAubXgtdGFic19fbGlzdCB7XG4gICAgICAgICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5teC10YWJzLS1zYW1lLWhlaWdodCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgICAmIC5teC10YWJzX19wYW5lbCB7XG4gICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgICAgICBncmlkLXJvdy1zdGFydDogMjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICZbaW5lcnRdIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
1
+ @layer design-system.defaults{:is(mx-tabs,mx-tabs mx-dropmenu){display:block}}@layer design-system.components{.mx-tabs{position:relative;display:grid;grid-template-areas:"tabs" "panels"}.mx-tabs:where(:not(:first-child)){margin-block-start:var(--flow-gap, var(--gap))}.mx-tabs mx-dropmenu{grid-area:tabs}.mx-tabs .mx-tabs__list{grid-area:tabs}@media (min-width: 720px){.mx-tabs .mx-tabs__list{display:flex;flex-wrap:wrap;gap:var(--spacing-xxs)}}:is(.mx-tabs .mx-tabs__list) button{border:0;display:block;font-family:inherit;min-inline-size:0;min-inline-size:var(--tab-min-width, 0);padding-block:var(--vertical-padding, var(--spacing-xxs));padding-inline:var(--horizontal-padding, var(--spacing-m));background-color:var( --tab-background, var(--background, var(--colour-background)) );color:var( --tab-foreground, var(--foreground, var(--colour-foreground)) )}[aria-selected=true]:is(:is(.mx-tabs .mx-tabs__list) button){background-color:var( --tab-active-background, var(--colour-background-alt) );color:var(--tab-active-foreground, var(--colour-foreground))}.mx-tabs .mx-tabs__panel{grid-area:panels;inline-size:100%;opacity:1}@starting-style{.mx-tabs .mx-tabs__panel{opacity:0}}[inert]:is(.mx-tabs .mx-tabs__panel){opacity:0;transition-duration:.4s}@media (min-width: 720px){.mx-tabs.mx-tabs--lined .mx-tabs__list{border-block-end:1px solid var(--line-colour, var(--colour-border));border-block-end:var(--line-width, 1px) solid var(--line-colour, var(--colour-border))}:is(.mx-tabs.mx-tabs--lined .mx-tabs__list) button{border-radius:var(--border-radius) var(--border-radius) 0 0;border:1px solid var(--line-colour, var(--colour-border));border:var(--line-width, 1px) solid var(--line-colour, var(--colour-border));border-block-end:0}}@media (min-width: 720px){.mx-tabs.mx-tabs--centered .mx-tabs__list{align-content:center;justify-content:center;place-content:center}}}
@@ -1,202 +1 @@
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
- class Tabs extends HTMLElement {
4
- constructor() {
5
- super();
6
- this.tabFocus = 0;
7
- this.handleBreakpoint = ({
8
- matches
9
- }) => {
10
- const { signal } = this.controller;
11
- this.dropMenuTrigger.toggleAttribute("hidden", !matches);
12
- this.tabList.toggleAttribute("hidden", matches);
13
- if (matches) {
14
- this.dropMenuMenu.addEventListener(
15
- "drop-menu-select",
16
- this.handleDropMenuSelect,
17
- { signal }
18
- );
19
- this.tabList.removeEventListener("click", this.handleClick);
20
- this.tabList.removeEventListener("keydown", this.handleKeydown);
21
- } else {
22
- this.tabList.addEventListener("click", this.handleClick, { signal });
23
- this.tabList.addEventListener("keydown", this.handleKeydown, { signal });
24
- this.dropMenuMenu.removeEventListener(
25
- "drop-menu-select",
26
- this.handleDropMenuSelect
27
- );
28
- }
29
- };
30
- this.handleKeydown = ({ key }) => {
31
- if (key === "ArrowRight" || key === "ArrowLeft") {
32
- this.triggers[this.tabFocus].setAttribute("tabindex", "-1");
33
- if (key === "ArrowRight") {
34
- this.tabFocus += 1;
35
- if (this.tabFocus >= this.triggers.length) {
36
- this.tabFocus = 0;
37
- }
38
- } else if (key === "ArrowLeft") {
39
- this.tabFocus -= 1;
40
- if (this.tabFocus < 0) {
41
- this.tabFocus = this.triggers.length - 1;
42
- }
43
- }
44
- this.triggers[this.tabFocus].setAttribute("tabindex", "0");
45
- this.triggers[this.tabFocus].focus();
46
- }
47
- };
48
- this.handleClick = (event) => {
49
- const target = event.target;
50
- if (!(target instanceof HTMLButtonElement)) return;
51
- event.preventDefault();
52
- const id = target.getAttribute("aria-controls");
53
- this.handleTabChange(id);
54
- };
55
- this.handleDropMenuSelect = (event) => {
56
- const target = event.detail.target;
57
- if (!(target instanceof HTMLButtonElement)) return;
58
- const id = target.getAttribute("aria-controls");
59
- this.handleTabChange(id);
60
- };
61
- this.handleTabChange = (id) => {
62
- this.active = id;
63
- this.handleUrlParams(id);
64
- const { panel, tab, button } = this.tabs.get(id);
65
- panel.focus({ preventScroll: true });
66
- const newEvent = new CustomEvent("tab-toggle", {
67
- bubbles: true,
68
- cancelable: true,
69
- detail: { id, tab, button, panel }
70
- });
71
- this.dispatchEvent(newEvent);
72
- };
73
- this.handleUrlParams = (id) => {
74
- const urlParams = new URLSearchParams(
75
- window.location.search
76
- );
77
- if (urlParams.get("tab") === id) return;
78
- urlParams.set("tab", id);
79
- window.history.replaceState(
80
- {},
81
- "",
82
- `${window.location.pathname}?${urlParams.toString()}`
83
- );
84
- };
85
- this.internals_ = this.attachInternals();
86
- this.controller = new AbortController();
87
- this.mq = this.getAttribute("mq") || "(max-width: 720px)";
88
- }
89
- connectedCallback() {
90
- if (!this.panels) return;
91
- this.locationHash = window.location.hash;
92
- this.tabs = /* @__PURE__ */ new Map();
93
- this.panels.forEach((panel) => {
94
- const id = panel.id;
95
- const name = panel.getAttribute("aria-label");
96
- const tabTemplate = `<button type="button" role="tab" aria-controls="${id}" aria-selected="false">${name}</button>`;
97
- const tab = createElement(tabTemplate);
98
- this.tabList.appendChild(tab);
99
- const button = createElement(tabTemplate);
100
- this.dropMenuMenu.appendChild(button);
101
- if (id && panel && button) {
102
- this.tabs.set(id, { panel, tab, button });
103
- }
104
- });
105
- const { signal } = this.controller;
106
- this.handleBreakpoint(this.breakpoint);
107
- this.breakpoint.addEventListener("change", this.handleBreakpoint, {
108
- signal
109
- });
110
- const hashEl = this.locationHash ? this.querySelector(this.locationHash) : null;
111
- if (hashEl) {
112
- this.active = hashEl.id;
113
- } else if (!this.active) {
114
- this.active = this.panels[0].id;
115
- }
116
- }
117
- disconnectedCallback() {
118
- this.controller.abort();
119
- }
120
- get dropMenu() {
121
- const existingMenu = this.querySelector("mx-dropmenu");
122
- if (existingMenu) return existingMenu;
123
- this.dropTriggerClasses = this.getAttribute("dropTriggerClasses") || "mx-button mx-icon mx-icon--chevron-down mx-icon--end";
124
- this.dropMenuId = this.id || makeAnchor("tab-drop-menu");
125
- const name = `${this.dropMenuId}-target`;
126
- const tabDropMenu = new DropMenu();
127
- tabDropMenu.setAttribute("closeOnClick", "true");
128
- const trigger = createElement(`<button
129
- id="${name}"
130
- class="mx-drop-menu__trigger ${this.dropTriggerClasses}"
131
- popovertarget="${this.dropMenuId}"
132
- hidden
133
- ></button>`);
134
- const menu = createElement(
135
- `<div
136
- class="mx-drop-menu"
137
- id="${this.dropMenuId}"
138
- aria-labelledby="${name}"
139
- anchor="${name}"
140
- popover
141
- role="tablist"
142
- ></div>`
143
- );
144
- tabDropMenu.append(trigger, menu);
145
- this.prepend(tabDropMenu);
146
- return tabDropMenu;
147
- }
148
- get dropMenuMenu() {
149
- return this.dropMenu.querySelector('[popover][role="tablist"]');
150
- }
151
- get dropMenuTrigger() {
152
- return this.dropMenu.querySelector("[popovertarget]");
153
- }
154
- get tabList() {
155
- this.tabListClasses = this.getAttribute("tabListClasses") || "mx-tabs__list";
156
- const existingTabList = this.querySelector(
157
- '[role="tablist"]:not([popover])'
158
- );
159
- if (existingTabList) return existingTabList;
160
- const tabList = createElement(
161
- `<div class="${this.tabListClasses}" role="tablist" hidden></div>`
162
- );
163
- this.prepend(tabList);
164
- return tabList;
165
- }
166
- get triggers() {
167
- const triggers = this.tabList.querySelectorAll('[role="tab"]');
168
- if (!triggers.length) {
169
- throw new Error(`${this.localName} must contain [role="tab"]`);
170
- }
171
- return triggers;
172
- }
173
- get panels() {
174
- const panels = this.querySelectorAll('[role="tabpanel"]');
175
- if (!panels.length) {
176
- throw new Error(`${this.localName} must contain [role="tabpanel"]`);
177
- }
178
- return panels;
179
- }
180
- get active() {
181
- return this.querySelector('[aria-selected="true"]');
182
- }
183
- get breakpoint() {
184
- return window.matchMedia(this.mq);
185
- }
186
- set active(id) {
187
- this.tabs.forEach(({ tab, panel }, key) => {
188
- if (key === id) {
189
- tab.setAttribute("aria-selected", "true");
190
- tab.setAttribute("tab-index", "0");
191
- panel.removeAttribute("inert");
192
- this.dropMenuTrigger.textContent = tab.textContent;
193
- } else {
194
- tab.setAttribute("aria-selected", "false");
195
- tab.setAttribute("tab-index", "-1");
196
- panel.setAttribute("inert", "");
197
- }
198
- });
199
- }
200
- }
201
- customElements.define("mx-tabs", Tabs);
202
- //# sourceMappingURL=tabs.entry.js.map
1
+ import{D as t}from"./chunks/drop-menu.entry-BqBzLfVC.js";import{c as e,m as s}from"./chunks/utilities-CE6xwgqF.js";class i extends HTMLElement{constructor(){super(),this.tabFocus=0,this.handleBreakpoint=({matches:t})=>{const{signal:e}=this.controller;this.dropMenuTrigger.toggleAttribute("hidden",!t),this.tabList.toggleAttribute("hidden",t),t?(this.dropMenuMenu.addEventListener("drop-menu-select",this.handleDropMenuSelect,{signal:e}),this.tabList.removeEventListener("click",this.handleClick),this.tabList.removeEventListener("keydown",this.handleKeydown)):(this.tabList.addEventListener("click",this.handleClick,{signal:e}),this.tabList.addEventListener("keydown",this.handleKeydown,{signal:e}),this.dropMenuMenu.removeEventListener("drop-menu-select",this.handleDropMenuSelect))},this.handleKeydown=({key:t})=>{("ArrowRight"===t||"ArrowLeft"===t)&&(this.triggers[this.tabFocus].setAttribute("tabindex","-1"),"ArrowRight"===t?(this.tabFocus+=1,this.tabFocus>=this.triggers.length&&(this.tabFocus=0)):"ArrowLeft"===t&&(this.tabFocus-=1,this.tabFocus<0&&(this.tabFocus=this.triggers.length-1)),this.triggers[this.tabFocus].setAttribute("tabindex","0"),this.triggers[this.tabFocus].focus())},this.handleClick=t=>{const e=t.target;if(!(e instanceof HTMLButtonElement))return;t.preventDefault();const s=e.getAttribute("aria-controls");this.handleTabChange(s)},this.handleDropMenuSelect=t=>{const e=t.detail.target;if(!(e instanceof HTMLButtonElement))return;const s=e.getAttribute("aria-controls");this.handleTabChange(s)},this.handleTabChange=t=>{this.active=t,this.handleUrlParams(t);const{panel:e,tab:s,button:i}=this.tabs.get(t);e.focus({preventScroll:!0});const n=new CustomEvent("tab-toggle",{bubbles:!0,cancelable:!0,detail:{id:t,tab:s,button:i,panel:e}});this.dispatchEvent(n)},this.handleUrlParams=t=>{const e=new URLSearchParams(window.location.search);e.get("tab")!==t&&(e.set("tab",t),window.history.replaceState({},"",`${window.location.pathname}?${e.toString()}`))},this.internals_=this.attachInternals(),this.controller=new AbortController,this.mq=this.getAttribute("mq")||"(max-width: 720px)"}connectedCallback(){if(!this.panels)return;this.locationHash=window.location.hash,this.tabs=new Map,this.panels.forEach((t=>{const s=t.id,i=`<button type="button" role="tab" aria-controls="${s}" aria-selected="false">${t.getAttribute("aria-label")}</button>`,n=e(i);this.tabList.appendChild(n);const r=e(i);this.dropMenuMenu.appendChild(r),s&&t&&r&&this.tabs.set(s,{panel:t,tab:n,button:r})}));const{signal:t}=this.controller;this.handleBreakpoint(this.breakpoint),this.breakpoint.addEventListener("change",this.handleBreakpoint,{signal:t});const s=this.locationHash?this.querySelector(this.locationHash):null;s?this.active=s.id:this.active||(this.active=this.panels[0].id)}disconnectedCallback(){this.controller.abort()}get dropMenu(){const i=this.querySelector("mx-dropmenu");if(i)return i;this.dropTriggerClasses=this.getAttribute("dropTriggerClasses")||"mx-button mx-icon mx-icon--chevron-down mx-icon--end",this.dropMenuId=this.id||s("tab-drop-menu");const n=`${this.dropMenuId}-target`,r=new t;r.setAttribute("closeOnClick","true");const a=e(`<button\n id="${n}"\n class="mx-drop-menu__trigger ${this.dropTriggerClasses}"\n popovertarget="${this.dropMenuId}"\n hidden\n ></button>`),o=e(`<div\n class="mx-drop-menu"\n id="${this.dropMenuId}"\n aria-labelledby="${n}"\n anchor="${n}"\n popover\n role="tablist"\n ></div>`);return r.append(a,o),this.prepend(r),r}get dropMenuMenu(){return this.dropMenu.querySelector('[popover][role="tablist"]')}get dropMenuTrigger(){return this.dropMenu.querySelector("[popovertarget]")}get tabList(){this.tabListClasses=this.getAttribute("tabListClasses")||"mx-tabs__list";const t=this.querySelector('[role="tablist"]:not([popover])');if(t)return t;const s=e(`<div class="${this.tabListClasses}" role="tablist" hidden></div>`);return this.prepend(s),s}get triggers(){const t=this.tabList.querySelectorAll('[role="tab"]');if(!t.length)throw new Error(`${this.localName} must contain [role="tab"]`);return t}get panels(){const t=this.querySelectorAll('[role="tabpanel"]');if(!t.length)throw new Error(`${this.localName} must contain [role="tabpanel"]`);return t}get active(){return this.querySelector('[aria-selected="true"]')}get breakpoint(){return window.matchMedia(this.mq)}set active(t){this.tabs.forEach((({tab:e,panel:s},i)=>{i===t?(e.setAttribute("aria-selected","true"),e.setAttribute("tab-index","0"),s.removeAttribute("inert"),this.dropMenuTrigger.textContent=e.textContent):(e.setAttribute("aria-selected","false"),e.setAttribute("tab-index","-1"),s.setAttribute("inert",""))}))}}customElements.define("mx-tabs",i);
@@ -1,71 +1 @@
1
- /**
2
- * Tag
3
- */
4
-
5
- @layer design-system.components {
6
- .mx-tag {
7
- display: inline-block;
8
- inline-size: -moz-fit-content;
9
- inline-size: fit-content;
10
- padding-inline: var(--horizontal-padding, var(--spacing-xxxs));
11
- background: var(
12
- --tag-background,
13
- var(--background, var(--colour-background))
14
- );
15
- color: var(--tag-foreground, var(--foreground, var(--colour-foreground)));
16
- text-transform: uppercase;
17
- font-weight: var(--font-weight, var(--font-weight-bold));
18
- font-size: var(--tag-font-size, var(--font-size-xs));
19
- line-height: 2;
20
- line-height: var(--line-height, 2);
21
- border-radius: var(--border-radius);
22
- border: 1px solid currentcolor;
23
- border: var(--line-width, 1px) solid var(--line-colour, currentcolor);
24
- -webkit-text-decoration: none;
25
- text-decoration: none;
26
- overflow: hidden;
27
- }
28
-
29
- .mx-tag:has(input:focus) {
30
- --outline-size: max(0.125rem, 0.15em);
31
-
32
- outline: max(0.125rem, 0.15em)
33
- solid currentcolor;
34
-
35
- outline: var(--outline-width, var(--outline-size))
36
- var(--outline-style, solid) var(--outline-color, currentcolor);
37
- outline-offset: max(0.125rem, 0.15em);
38
- outline-offset: var(--outline-offset, var(--outline-size));
39
- }
40
-
41
- .mx-tag input {
42
- position: absolute;
43
- inset-block-start: -100px;
44
- inset-inline-start: -100px;
45
- }
46
-
47
- .mx-tag label {
48
- font-size: inherit;
49
- color: inherit;
50
- margin: 0;
51
- }
52
-
53
- .mx-tag:is(a:hover, :has(input:checked)) {
54
- --tag-foreground: var(--link-colour, var(--colour-primary));
55
- }
56
-
57
- .mx-tag:empty {
58
- display: none;
59
- }
60
-
61
- .mx-tags {
62
- padding-inline: 0;
63
- list-style: none;
64
- display: flex;
65
- flex-flow: row wrap;
66
- align-items: center;
67
- gap: var(--tags-gap, var(--spacing-s));
68
- }
69
- }
70
-
71
- /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhZy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLHFCQUFxQjtJQUNyQiw2QkFBd0I7SUFBeEIsd0JBQXdCO0lBQ3hCLDhEQUE4RDtJQUM5RDs7O0tBR0M7SUFDRCx5RUFBeUU7SUFDekUseUJBQXlCO0lBQ3pCLHdEQUF3RDtJQUN4RCxvREFBb0Q7SUFDcEQsY0FBa0M7SUFBbEMsa0NBQWtDO0lBQ2xDLG1DQUFtQztJQUNuQyw4QkFBcUU7SUFBckUscUVBQXFFO0lBQ3JFLDZCQUFxQjtJQUFyQixxQkFBcUI7SUFDckIsZ0JBQWdCO0VBNkJsQjs7SUEzQkU7TUFDRSxxQ0FBcUM7O01BRXJDOzBCQUNnRTs7TUFEaEU7c0VBQ2dFO01BQ2hFLHFDQUEwRDtNQUExRCwwREFBMEQ7SUFDNUQ7O0lBRUE7TUFDRSxrQkFBa0I7TUFDbEIseUJBQXlCO01BQ3pCLDBCQUEwQjtJQUM1Qjs7SUFFQTtNQUNFLGtCQUFrQjtNQUNsQixjQUFjO01BQ2QsU0FBUztJQUNYOztJQUVBO01BQ0UsMkRBQTJEO0lBQzdEOztJQUVBO01BQ0UsYUFBYTtJQUNmOztFQUdGO0lBQ0UsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixzQ0FBc0M7RUFDeEM7QUFDRiIsImZpbGUiOiJ0YWcuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUYWdcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5jb21wb25lbnRzIHtcbiAgLm14LXRhZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGlubGluZS1zaXplOiBmaXQtY29udGVudDtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taG9yaXpvbnRhbC1wYWRkaW5nLCB2YXIoLS1zcGFjaW5nLXh4eHMpKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoXG4gICAgICAtLXRhZy1iYWNrZ3JvdW5kLFxuICAgICAgdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQpKVxuICAgICk7XG4gICAgY29sb3I6IHZhcigtLXRhZy1mb3JlZ3JvdW5kLCB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodCwgdmFyKC0tZm9udC13ZWlnaHQtYm9sZCkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGFnLWZvbnQtc2l6ZSwgdmFyKC0tZm9udC1zaXplLXhzKSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LCAyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWQgdmFyKC0tbGluZS1jb2xvdXIsIGN1cnJlbnRjb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmhhcyhpbnB1dDpmb2N1cykge1xuICAgICAgLS1vdXRsaW5lLXNpemU6IG1heCgwLjEyNXJlbSwgMC4xNWVtKTtcblxuICAgICAgb3V0bGluZTogdmFyKC0tb3V0bGluZS13aWR0aCwgdmFyKC0tb3V0bGluZS1zaXplKSlcbiAgICAgICAgdmFyKC0tb3V0bGluZS1zdHlsZSwgc29saWQpIHZhcigtLW91dGxpbmUtY29sb3IsIGN1cnJlbnRjb2xvcik7XG4gICAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0tb3V0bGluZS1vZmZzZXQsIHZhcigtLW91dGxpbmUtc2l6ZSkpO1xuICAgIH1cblxuICAgICYgaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IC0xMDBweDtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogLTEwMHB4O1xuICAgIH1cblxuICAgICYgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjppcyhhOmhvdmVyLCA6aGFzKGlucHV0OmNoZWNrZWQpKSB7XG4gICAgICAtLXRhZy1mb3JlZ3JvdW5kOiB2YXIoLS1saW5rLWNvbG91ciwgdmFyKC0tY29sb3VyLXByaW1hcnkpKTtcbiAgICB9XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm14LXRhZ3Mge1xuICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS10YWdzLWdhcCwgdmFyKC0tc3BhY2luZy1zKSk7XG4gIH1cbn1cbiJdfQ== */
1
+ @layer design-system.components{.mx-tag{display:inline-flex;inline-size:-moz-fit-content;inline-size:fit-content;padding-inline:var(--horizontal-padding, var(--spacing-xxxs));background:var( --tag-background, var(--background, var(--colour-background)) );color:var(--tag-foreground, var(--foreground, var(--colour-foreground)));text-transform:uppercase;font-weight:var(--font-weight, var(--font-weight-bold));font-size:var(--tag-font-size, var(--font-size-xs));line-height:2;line-height:var(--line-height, 2);border-radius:var(--border-radius);border:1px solid currentcolor;border:var(--line-width, 1px) solid var(--line-colour, currentcolor);-webkit-text-decoration:none;text-decoration:none;overflow:hidden}.mx-tag:has(input:focus){outline:2px solid currentcolor;outline:var(--outline-size, 2px) var(--outline-style, solid) var(--outline-color, currentcolor);outline-offset:2px;outline-offset:var(--outline-size, 2px)}.mx-tag input{position:absolute;inset-block-start:-100px;inset-inline-start:-100px}.mx-tag label{font-size:inherit;color:inherit;margin:0}.mx-tag:is(a:hover,:has(input:checked)){--tag-foreground: var(--link-colour, var(--colour-primary))}.mx-tag:empty{display:none}.mx-tags{padding-inline:0;list-style:none;display:flex;flex-flow:row wrap;align-items:center;gap:var(--tags-gap, var(--spacing-s));overflow:clip;overflow-clip-margin:var(--spacing-xxxs)}}