@pnx-mixtape/mxds 0.0.5 → 0.0.6

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 (168) hide show
  1. package/dist/build/accordion.css +108 -0
  2. package/dist/build/accordion.entry.js +139 -0
  3. package/dist/build/accordion.entry.js.map +1 -0
  4. package/dist/build/base.css +999 -0
  5. package/dist/build/breadcrumb.css +47 -0
  6. package/dist/build/button.css +132 -0
  7. package/dist/build/callout.css +11 -0
  8. package/dist/build/card.css +136 -0
  9. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js +124 -0
  10. package/dist/build/chunks/disclosure-widget-CQLPJ8Ta.js.map +1 -0
  11. package/dist/build/chunks/keyboard-C73DHu0c.js +101 -0
  12. package/dist/build/chunks/keyboard-C73DHu0c.js.map +1 -0
  13. package/dist/build/chunks/polyfills-CJ5uTmUJ.js +749 -0
  14. package/dist/build/chunks/polyfills-CJ5uTmUJ.js.map +1 -0
  15. package/dist/build/chunks/popover-wbPSyFRj.js +654 -0
  16. package/dist/build/chunks/popover-wbPSyFRj.js.map +1 -0
  17. package/dist/build/chunks/utilities-B4YZb689.js +243 -0
  18. package/dist/build/chunks/utilities-B4YZb689.js.map +1 -0
  19. package/dist/build/constants.css +120 -0
  20. package/dist/build/container-grid.css +208 -0
  21. package/dist/build/content-block.css +23 -0
  22. package/dist/build/dialog.css +98 -0
  23. package/dist/build/dialog.entry.js +113 -0
  24. package/dist/build/dialog.entry.js.map +1 -0
  25. package/dist/build/drop-menu.css +78 -0
  26. package/dist/build/drop-menu.entry.js +129 -0
  27. package/dist/build/drop-menu.entry.js.map +1 -0
  28. package/dist/build/drupal.css +74 -0
  29. package/dist/build/footer-menu.css +32 -0
  30. package/dist/build/footer.css +61 -0
  31. package/dist/build/form.css +589 -0
  32. package/dist/build/global-alert.css +60 -0
  33. package/dist/build/global-alert.entry.js +68 -0
  34. package/dist/build/global-alert.entry.js.map +1 -0
  35. package/dist/build/grid.css +200 -0
  36. package/dist/build/header.css +131 -0
  37. package/dist/build/header.entry.js +98 -0
  38. package/dist/build/header.entry.js.map +1 -0
  39. package/dist/build/hero-banner.css +62 -0
  40. package/dist/build/icon.css +399 -0
  41. package/dist/build/in-page-alert.css +94 -0
  42. package/dist/build/in-page-navigation.css +17 -0
  43. package/dist/build/in-page-navigation.entry.js +89 -0
  44. package/dist/build/in-page-navigation.entry.js.map +1 -0
  45. package/dist/build/link-list.css +72 -0
  46. package/dist/build/masthead.css +39 -0
  47. package/dist/build/nav-list.css +26 -0
  48. package/dist/build/navigation.css +371 -0
  49. package/dist/build/navigation.entry.js +123 -0
  50. package/dist/build/navigation.entry.js.map +1 -0
  51. package/dist/build/page.css +184 -0
  52. package/dist/build/pagination.css +123 -0
  53. package/dist/build/section.css +163 -0
  54. package/dist/build/sidebar.css +105 -0
  55. package/dist/build/sticky.css +47 -0
  56. package/dist/build/sticky.entry.js +60 -0
  57. package/dist/build/sticky.entry.js.map +1 -0
  58. package/dist/build/tabs.css +106 -0
  59. package/dist/build/tabs.entry.js +161 -0
  60. package/dist/build/tabs.entry.js.map +1 -0
  61. package/dist/build/tag.css +67 -0
  62. package/dist/build/tiles.css +61 -0
  63. package/dist/build/utilities.css +175 -0
  64. package/package.json +3 -3
  65. package/src/Atom/Background/__snapshots__/Backgrounds.stories.ts.snap +12 -12
  66. package/src/Atom/Background/_background.css +8 -8
  67. package/src/Atom/Background/backgrounds.twig +4 -4
  68. package/src/Atom/Button/Button.tsx +8 -8
  69. package/src/Atom/Button/__snapshots__/Button.stories.ts.snap +6 -6
  70. package/src/Atom/Button/_buttons-styles.css +4 -4
  71. package/src/Atom/Button/_buttons.css +5 -5
  72. package/src/Atom/Button/button.twig +1 -1
  73. package/src/Atom/Heading/Heading.stories.ts +5 -2
  74. package/src/Atom/Heading/_headings.css +20 -20
  75. package/src/Atom/Heading/heading.twig +1 -1
  76. package/src/Atom/Icon/Icon.mdx +1 -1
  77. package/src/Atom/Icon/Icon.tsx +5 -5
  78. package/src/Atom/Icon/__snapshots__/Icon.stories.ts.snap +3 -3
  79. package/src/Atom/Icon/_icon.css +17 -17
  80. package/src/Atom/Icon/_mixin-icon.css +1 -1
  81. package/src/Atom/Icon/icon.twig +1 -1
  82. package/src/Atom/Link/Link.tsx +2 -2
  83. package/src/Atom/Link/__snapshots__/Link.stories.ts.snap +8 -8
  84. package/src/Atom/Link/_links.css +9 -9
  85. package/src/Atom/Link/link.twig +1 -1
  86. package/src/Atom/Media/Media.tsx +1 -1
  87. package/src/Atom/Media/__snapshots__/Media.stories.ts.snap +3 -3
  88. package/src/Atom/Media/_media.css +12 -4
  89. package/src/Atom/Media/media.twig +1 -1
  90. package/src/Atom/NavList/__snapshots__/NavList.stories.ts.snap +2 -2
  91. package/src/Atom/NavList/nav-list.css +3 -9
  92. package/src/Atom/NavList/nav-list.twig +2 -2
  93. package/src/Atom/Spacing/__snapshots__/Spacing.stories.ts.snap +1 -1
  94. package/src/Atom/{_mixins.css → Spacing/_mixins.css} +5 -5
  95. package/src/Atom/Spacing/_spacing.css +6 -6
  96. package/src/Atom/Spacing/spacing.twig +1 -1
  97. package/src/Atom/Table/__snapshots__/Table.stories.ts.snap +3 -3
  98. package/src/Atom/Table/__snapshots__/TableResponsive.stories.ts.snap +2 -2
  99. package/src/Atom/Table/_table.css +4 -4
  100. package/src/Atom/Table/table-responsive.twig +2 -2
  101. package/src/Atom/Table/table.twig +1 -1
  102. package/src/Atom/Text/__snapshots__/TextSizes.stories.ts.snap +16 -16
  103. package/src/Atom/Text/_text-align.css +3 -3
  104. package/src/Atom/Text/_text-sizes.css +29 -29
  105. package/src/Atom/Text/text-alignment.twig +3 -3
  106. package/src/Atom/Text/text-styles-example.twig +16 -16
  107. package/src/Atom/Video/Video.tsx +1 -1
  108. package/src/Atom/Video/__snapshots__/Video.stories.ts.snap +1 -1
  109. package/src/Atom/Video/_video.css +2 -2
  110. package/src/Atom/Video/video.twig +1 -4
  111. package/src/Atom/_animated.css +5 -5
  112. package/src/Atom/_flow.css +5 -9
  113. package/src/Atom/_print.css +1 -12
  114. package/src/Component/Accordion/Accordion.tsx +11 -11
  115. package/src/Component/Accordion/Elements/AccordionGroup.ts +2 -2
  116. package/src/Component/Accordion/__snapshots__/Accordion.stories.ts.snap +23 -23
  117. package/src/Component/Accordion/accordion-item.twig +4 -4
  118. package/src/Component/Accordion/accordion.css +15 -15
  119. package/src/Component/Accordion/accordion.twig +4 -4
  120. package/src/Component/Callout/__snapshots__/Callout.stories.ts.snap +1 -1
  121. package/src/Component/Callout/callout.css +1 -1
  122. package/src/Component/Callout/callout.twig +2 -2
  123. package/src/Component/Card/Card.tsx +7 -7
  124. package/src/Component/Card/__snapshots__/Card.stories.ts.snap +43 -43
  125. package/src/Component/Card/card-grid.twig +2 -2
  126. package/src/Component/Card/card.css +14 -13
  127. package/src/Component/Card/card.twig +7 -7
  128. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.ts.snap +1 -1
  129. package/src/Component/GlobalAlert/Elements/ClosableAlert.ts +2 -2
  130. package/src/Component/GlobalAlert/GlobalAlert.tsx +5 -5
  131. package/src/Component/GlobalAlert/__snapshots__/GlobalAlert.stories.ts.snap +9 -9
  132. package/src/Component/GlobalAlert/global-alert.css +4 -4
  133. package/src/Component/GlobalAlert/global-alert.twig +6 -6
  134. package/src/Component/HeroBanner/HeroBanner.tsx +4 -4
  135. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +15 -15
  136. package/src/Component/HeroBanner/hero-banner.css +6 -6
  137. package/src/Component/HeroBanner/hero-banner.twig +7 -7
  138. package/src/Component/InPageAlert/__snapshots__/InPageAlert.stories.ts.snap +1 -1
  139. package/src/Component/InPageAlert/in-page-alert.css +5 -5
  140. package/src/Component/InPageAlert/in-page-alert.twig +1 -1
  141. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.ts.snap +1 -1
  142. package/src/Component/LinkList/LinkList.tsx +4 -4
  143. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +4 -4
  144. package/src/Component/LinkList/link-list.css +8 -8
  145. package/src/Component/LinkList/link-list.twig +3 -3
  146. package/src/Component/Navigation/__snapshots__/Navigation.stories.ts.snap +1 -1
  147. package/src/Component/Navigation/_navigation.css +5 -5
  148. package/src/Component/Navigation/navigation.twig +1 -1
  149. package/src/Component/Sticky/__snapshots__/Sticky.stories.ts.snap +1 -1
  150. package/src/Component/Tabs/__snapshots__/Tabs.stories.ts.snap +15 -15
  151. package/src/Component/Tag/Tag.tsx +1 -1
  152. package/src/Component/Tag/__snapshots__/Tag.stories.ts.snap +9 -9
  153. package/src/Component/Tag/tag.css +2 -2
  154. package/src/Component/Tag/tags.twig +2 -2
  155. package/src/Layout/Grid/Grid.tsx +4 -4
  156. package/src/Layout/Grid/__snapshots__/Grid.stories.ts.snap +4 -4
  157. package/src/Layout/Grid/container-grid.css +1 -0
  158. package/src/Layout/Grid/grid-item.twig +2 -2
  159. package/src/Layout/Grid/grid.css +29 -29
  160. package/src/Layout/Grid/grid.twig +1 -1
  161. package/src/Layout/Masthead/__snapshots__/Masthead.stories.ts.snap +1 -1
  162. package/src/Layout/Section/Section.tsx +5 -5
  163. package/src/Layout/Section/SectionGrid.tsx +4 -4
  164. package/src/Layout/Section/__snapshots__/Section.stories.ts.snap +5 -5
  165. package/src/Layout/Section/section.css +29 -26
  166. package/src/Layout/Section/section.twig +4 -4
  167. package/src/enums.ts +21 -21
  168. package/src/Atom/_flow-legacy.css +0 -48
@@ -0,0 +1,89 @@
1
+ import { m as makeAnchor, c as createElement } from "./chunks/utilities-B4YZb689.js";
2
+ class InPageNavigation extends HTMLElement {
3
+ constructor() {
4
+ super();
5
+ this.handleClick = (target) => {
6
+ this.active = this.items.find((item) => item.link === target);
7
+ if (!this.links || !this.active) return;
8
+ this.links.forEach((link) => link.classList.remove("is-active"));
9
+ this.active.link.classList.add("is-active");
10
+ };
11
+ this.internals_ = this.attachInternals();
12
+ this.controller = new AbortController();
13
+ this.headingLevels = this.dataset?.headings || "h2";
14
+ this.items = [];
15
+ }
16
+ connectedCallback() {
17
+ if (!this.menu || !this.headings) return;
18
+ this.headings.forEach((heading) => {
19
+ const listItem = this.generateListItem(heading);
20
+ const link = this.generateAnchor(heading);
21
+ this.items.push({ link, heading });
22
+ listItem.appendChild(link);
23
+ this.menu?.appendChild(listItem);
24
+ });
25
+ const { signal } = this.controller;
26
+ this.menu.addEventListener(
27
+ "click",
28
+ (e) => {
29
+ const { target } = e;
30
+ if (!(target instanceof HTMLAnchorElement)) return;
31
+ this.handleClick(target);
32
+ },
33
+ {
34
+ signal
35
+ }
36
+ );
37
+ }
38
+ disconnectedCallback() {
39
+ if (!this.menu || !this.headings) return;
40
+ this.menu.textContent = "";
41
+ this.items = [];
42
+ this.controller.abort();
43
+ }
44
+ get menu() {
45
+ const menu = this.querySelector("ul, ol");
46
+ if (!menu) {
47
+ throw new Error(`${this.localName} must contain a <ul> or <ol> element.`);
48
+ }
49
+ return menu;
50
+ }
51
+ get container() {
52
+ const selector = this.getAttribute("data-content");
53
+ if (!selector) {
54
+ throw new Error(
55
+ `${this.localName} must have a [data-content] attribute that contains the content selector.`
56
+ );
57
+ }
58
+ return this.closest(selector) || this.parentElement.querySelector(selector);
59
+ }
60
+ get headings() {
61
+ return this.container?.querySelectorAll(this.headingLevels);
62
+ }
63
+ get links() {
64
+ return this.menu?.querySelectorAll("a");
65
+ }
66
+ generatedId(heading) {
67
+ const string = heading?.textContent?.trim();
68
+ return !string ? "" : makeAnchor(string);
69
+ }
70
+ generateAnchor(heading) {
71
+ const { textContent, id } = heading;
72
+ const linkText = heading.getAttribute("data-in-page-navigation-title") || textContent;
73
+ const targetID = id || this.generatedId(heading);
74
+ if (!id) heading.id = targetID;
75
+ const item = createElement(
76
+ `<a href="#${targetID}" class="icon icon--chevron-right">${linkText}</a>`
77
+ );
78
+ return item;
79
+ }
80
+ generateListItem(heading) {
81
+ const { tagName } = heading;
82
+ const item = createElement(
83
+ `<li class="in-page-navigation__level--${tagName.toLowerCase()}"></li>`
84
+ );
85
+ return item;
86
+ }
87
+ }
88
+ customElements.define("mx-in-page-navigation", InPageNavigation);
89
+ //# sourceMappingURL=in-page-navigation.entry.js.map
@@ -0,0 +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 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\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}\" class=\"icon icon--chevron-right\">${linkText}</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=\"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":";AAOA,MAAqB,yBAAyB,YAAY;AAAA,EAOxD,cAAc;AACN;AAyCR,SAAA,cAAc,CAAC,WAAqC;AAClD,WAAK,SAAS,KAAK,MAAM,KAAK,CAAQ,SAAA,KAAK,SAAS,MAAM;AAC1D,UAAI,CAAC,KAAK,SAAS,CAAC,KAAK,OAAQ;AACjC,WAAK,MAAM,QAAQ,CAAA,SAAQ,KAAK,UAAU,OAAO,WAAW,CAAC;AAC7D,WAAK,OAAO,KAAK,UAAU,IAAI,WAAW;AAAA,IAAA;AA5CrC,SAAA,aAAa,KAAK;AAClB,SAAA,aAAa,IAAI;AACjB,SAAA,gBAAgB,KAAK,SAAS,YAAY;AAC/C,SAAK,QAAQ;EACf;AAAA,EAEA,oBAA0B;AACxB,QAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,SAAU;AAE7B,SAAA,SAAS,QAAQ,CAAC,YAAgC;AAC/C,YAAA,WAA0B,KAAK,iBAAiB,OAAO;AACvD,YAAA,OAA0B,KAAK,eAAe,OAAO;AAC3D,WAAK,MAAM,KAAK,EAAE,MAAM,QAAS,CAAA;AACjC,eAAS,YAAY,IAAI;AACpB,WAAA,MAAM,YAAY,QAAQ;AAAA,IAAA,CAChC;AAEK,UAAA,EAAE,OAAO,IAAqB,KAAK;AAGzC,SAAK,KAAK;AAAA,MACR;AAAA,MACA,CAAC,MAAwB;AACjB,cAAA,EAAE,OAAW,IAAA;AACf,YAAA,EAAE,kBAAkB,mBAAoB;AAC5C,aAAK,YAAY,MAAM;AAAA,MACzB;AAAA,MACA;AAAA,QACE;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,uBAA6B;AAC3B,QAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,SAAU;AAClC,SAAK,KAAK,cAAc;AACxB,SAAK,QAAQ;AACb,SAAK,WAAW;EAClB;AAAA,EASA,IAAI,OAAmD;AAC/C,UAAA,OACJ,KAAK,cAAc,QAAQ;AAC7B,QAAI,CAAC,MAAM;AACT,YAAM,IAAI,MAAM,GAAG,KAAK,SAAS,uCAAuC;AAAA,IAC1E;AACO,WAAA;AAAA,EACT;AAAA,EAEA,IAAI,YAAgC;AAC5B,UAAA,WAA0B,KAAK,aAAa,cAAc;AAChE,QAAI,CAAC,UAAU;AACb,YAAM,IAAI;AAAA,QACR,GAAG,KAAK,SAAS;AAAA,MAAA;AAAA,IAErB;AACA,WAAO,KAAK,QAAQ,QAAQ,KAAK,KAAK,cAAc,cAAc,QAAQ;AAAA,EAC5E;AAAA,EAEA,IAAI,WAAuD;AACzD,WAAO,KAAK,WAAW,iBAAiB,KAAK,aAAa;AAAA,EAC5D;AAAA,EAEA,IAAI,QAAmD;AAC9C,WAAA,KAAK,MAAM,iBAAiB,GAAG;AAAA,EACxC;AAAA,EAEA,YAAY,SAAqC;AACzC,UAAA,SAA6B,SAAS,aAAa,KAAK;AAC9D,WAAO,CAAC,SAAS,KAAK,WAAW,MAAM;AAAA,EACzC;AAAA,EAEA,eAAe,SAAgD;AACvD,UAAA,EAAE,aAAa,GAAO,IAAA;AAC5B,UAAM,WACJ,QAAQ,aAAa,+BAA+B,KAAK;AAC3D,UAAM,WAAmB,MAAM,KAAK,YAAY,OAAO;AACnD,QAAA,CAAC,GAAI,SAAQ,KAAK;AACtB,UAAM,OAAgB;AAAA,MACpB,aAAa,QAAQ,sCAAsC,QAAQ;AAAA,IAAA;AAG9D,WAAA;AAAA,EACT;AAAA,EAEA,iBAAiB,SAA4C;AACrD,UAAA,EAAE,QAAY,IAAA;AACpB,UAAM,OAAgB;AAAA,MACpB,yCAAyC,QAAQ,YAAA,CAAa;AAAA,IAAA;AAGzD,WAAA;AAAA,EACT;AACF;AAEA,eAAe,OAAO,yBAAyB,gBAAgB;"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Link List
3
+ */
4
+
5
+ @layer design-system.components {
6
+ .mx-link-list {
7
+ list-style-type: none;
8
+ padding-inline-start: 0;
9
+ }
10
+
11
+ .mx-link-list a {
12
+ display: block;
13
+ text-decoration-line: none;
14
+ color: inherit;
15
+ }
16
+
17
+ .mx-link-list a:hover {
18
+ text-decoration-line: underline;
19
+ }
20
+
21
+ .mx-link-list li {
22
+ min-block-size: var(--min-height, var(--spacing-xl));
23
+ border-block-end: 1px solid
24
+ var(--line-colour, var(--colour-border));
25
+ border-block-end: var(--line-width, 1px) solid
26
+ var(--line-colour, var(--colour-border));
27
+ }
28
+
29
+ .mx-link-list li:last-child {
30
+ border-block-end: 0;
31
+ }
32
+
33
+ .mx-link-list .mx-icon {
34
+ position: relative;
35
+ display: flex;
36
+ align-items: center;
37
+ padding-block: var(--spacing-xxxs);
38
+ inline-size: 100%;
39
+ gap: var(--spacing-s);
40
+ }
41
+
42
+ .mx-link-list .mx-icon::before {
43
+ flex: 0 0 auto;
44
+ -webkit-mask-position: left center;
45
+ mask-position: left center;
46
+ }
47
+
48
+ .mx-link-list:where(:not(.mx-link-list--reverse)) .mx-icon {
49
+ justify-content: space-between;
50
+ }
51
+
52
+ .mx-link-list:where(:not(.mx-link-list--reverse)) .mx-icon::before {
53
+ -webkit-mask-position: right center;
54
+ mask-position: right center;
55
+ order: 2;
56
+ }
57
+ [dir="rtl"] .mx-link-list .mx-icon::before, .translated-rtl .mx-link-list .mx-icon::before {
58
+ -webkit-mask-position: left center;
59
+ mask-position: left center;
60
+ }
61
+
62
+ [dir="rtl"] .mx-link-list.mx-link-list--reverse .mx-icon::before, .translated-rtl .mx-link-list.mx-link-list--reverse .mx-icon::before {
63
+ -webkit-mask-position: right center;
64
+ mask-position: right center;
65
+ }
66
+
67
+ * + .mx-link-list {
68
+ margin-block-start: var(--spacing-m);
69
+ }
70
+ }
71
+
72
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpbmstbGlzdC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLHFCQUFxQjtJQUNyQix1QkFBdUI7RUE0Q3pCOztJQTFDRTtNQUNFLGNBQWM7TUFDZCwwQkFBMEI7TUFDMUIsY0FBYztJQUtoQjs7TUFIRTtRQUNFLCtCQUErQjtNQUNqQzs7SUFHRjtNQUNFLG9EQUFvRDtNQUNwRDtnREFDMEM7TUFEMUM7Z0RBQzBDO0lBSzVDOztNQUhFO1FBQ0UsbUJBQW1CO01BQ3JCOztJQUdGO01BQ0Usa0JBQWtCO01BQ2xCLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsa0NBQWtDO01BQ2xDLGlCQUFpQjtNQUNqQixxQkFBcUI7SUFNdkI7O01BSkU7UUFDRSxjQUFjO1FBQ2Qsa0NBQTBCO2dCQUExQiwwQkFBMEI7TUFDNUI7O0lBR0Y7TUFDRSw4QkFBOEI7SUFNaEM7O01BSkU7UUFDRSxtQ0FBMkI7Z0JBQTNCLDJCQUEyQjtRQUMzQixRQUFRO01BQ1Y7SUFNRjtNQUNFLGtDQUEwQjtjQUExQiwwQkFBMEI7SUFDNUI7O0lBRUE7TUFDRSxtQ0FBMkI7Y0FBM0IsMkJBQTJCO0lBQzdCOztFQUdGO0lBQ0Usb0NBQW9DO0VBQ3RDO0FBQ0YiLCJmaWxlIjoibGluay1saXN0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTGluayBMaXN0XG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5teC1saW5rLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcblxuICAgICYgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgbGkge1xuICAgICAgbWluLWJsb2NrLXNpemU6IHZhcigtLW1pbi1oZWlnaHQsIHZhcigtLXNwYWNpbmcteGwpKTtcbiAgICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0tc3BhY2luZy14eHhzKTtcbiAgICAgIGlubGluZS1zaXplOiAxMDAlO1xuICAgICAgZ2FwOiB2YXIoLS1zcGFjaW5nLXMpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFzay1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjp3aGVyZSg6bm90KC5teC1saW5rLWxpc3QtLXJldmVyc2UpKSAubXgtaWNvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hc2stcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgW2Rpcj1cInJ0bFwiXSAubXgtbGluay1saXN0LFxuICAudHJhbnNsYXRlZC1ydGwgLm14LWxpbmstbGlzdCB7XG4gICAgJiAubXgtaWNvbjo6YmVmb3JlIHtcbiAgICAgIG1hc2stcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIH1cblxuICAgICYubXgtbGluay1saXN0LS1yZXZlcnNlIC5teC1pY29uOjpiZWZvcmUge1xuICAgICAgbWFzay1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICogKyAubXgtbGluay1saXN0IHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNwYWNpbmctbSk7XG4gIH1cbn1cbiJdfQ== */
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Masthead
3
+ */
4
+
5
+ @layer design-system.layouts {
6
+ .masthead .flex {
7
+ justify-content: space-between;
8
+ align-items: center;
9
+ padding-block: var(--secondary-gap, var(--spacing-xxs));
10
+ padding-inline: 0;
11
+ }
12
+
13
+ .masthead .flex::after {
14
+ display: none;
15
+ }
16
+
17
+ .masthead__nav {
18
+ display: none;
19
+ }
20
+
21
+ @media (min-width: 720px) {
22
+
23
+ .masthead__nav {
24
+ display: inline-block;
25
+ }
26
+ }
27
+
28
+ .masthead__nav ul {
29
+ margin: auto;
30
+ }
31
+ }
32
+
33
+ @media print {
34
+ .masthead {
35
+ display: none;
36
+ }
37
+ }
38
+
39
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1hc3RoZWFkLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7RUFFRTs7QUFFRjtJQUVJO01BQ0UsOEJBQThCO01BQzlCLG1CQUFtQjtNQUNuQix1REFBdUQ7TUFDdkQsaUJBQWlCO0lBS25COztNQUhFO1FBQ0UsYUFBYTtNQUNmOztFQUlKO0lBQ0UsYUFBYTtFQVNmOztJQVBFOztFQUhGO01BSUkscUJBQXFCO0VBTXpCO0lBTEU7O0lBRUE7TUFDRSxZQUFZO0lBQ2Q7QUFFSjs7QUFFQTtFQUNFO0lBQ0UsYUFBYTtFQUNmO0FBQ0YiLCJmaWxlIjoibWFzdGhlYWQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYXN0aGVhZFxuICovXG5cbkBsYXllciBkZXNpZ24tc3lzdGVtLmxheW91dHMge1xuICAubWFzdGhlYWQge1xuICAgICYgLmZsZXgge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLXNlY29uZGFyeS1nYXAsIHZhcigtLXNwYWNpbmcteHhzKSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogMDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXN0aGVhZF9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmIHVsIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLm1hc3RoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iXX0= */
@@ -0,0 +1,26 @@
1
+ /**
2
+ * List Navigation
3
+ */
4
+
5
+ @layer design-system.atoms {
6
+ .mx-nav--list {
7
+ margin-block-end: var(--spacing-m);
8
+ }
9
+
10
+ .mx-nav--list ul {
11
+ display: grid;
12
+ grid-gap: var(--nav-gap, var(--spacing-xxxs));
13
+ gap: var(--nav-gap, var(--spacing-xxxs));
14
+ }
15
+
16
+ .mx-nav--list [aria-current="page"] {
17
+ text-decoration-line: underline;
18
+ }
19
+
20
+ h2 + .mx-nav--list,
21
+ h3 + .mx-nav--list {
22
+ margin-block-start: var(--spacing-m);
23
+ }
24
+ }
25
+
26
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdi1saXN0LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7RUFFRTs7QUFFRjtFQUNFO0lBQ0Usa0NBQWtDO0VBVXBDOztJQVJFO01BQ0UsYUFBYTtNQUNiLDZDQUF3QztNQUF4Qyx3Q0FBd0M7SUFDMUM7O0lBRUE7TUFDRSwrQkFBK0I7SUFDakM7O0VBR0Y7O0lBRUUsb0NBQW9DO0VBQ3RDO0FBQ0YiLCJmaWxlIjoibmF2LWxpc3QuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaXN0IE5hdmlnYXRpb25cbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5hdG9tcyB7XG4gIC5teC1uYXYtLWxpc3Qge1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXNwYWNpbmctbSk7XG5cbiAgICAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBnYXA6IHZhcigtLW5hdi1nYXAsIHZhcigtLXNwYWNpbmcteHh4cykpO1xuICAgIH1cblxuICAgICYgW2FyaWEtY3VycmVudD1cInBhZ2VcIl0ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICBoMiArIC5teC1uYXYtLWxpc3QsXG4gIGgzICsgLm14LW5hdi0tbGlzdCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLW0pO1xuICB9XG59XG4iXX0= */
@@ -0,0 +1,371 @@
1
+ /**
2
+ * Navigation
3
+ */
4
+
5
+ @layer design-system.components {
6
+ .mx-nav ul {
7
+ display: flex;
8
+ flex-direction: column;
9
+ list-style-type: none;
10
+ padding-inline-start: 0;
11
+ font-size: var(--nav-font-size, var(--font-size));
12
+ }
13
+
14
+ .mx-nav a:where(:not([class])) {
15
+ text-decoration-line: none;
16
+ color: inherit;
17
+ }
18
+
19
+ .mx-nav a:where(:not([class])):hover {
20
+ text-decoration-line: underline;
21
+ text-decoration-line: var(--nav-active-underline, underline);
22
+ }
23
+ .mx-nav--inline > ul {
24
+ flex-flow: row wrap;
25
+ align-items: center;
26
+ gap: var(--nav-gap, var(--spacing-s));
27
+ }
28
+
29
+ .mx-nav__toggle {
30
+ background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
31
+ background: initial;
32
+ padding: 0;
33
+ border: 0;
34
+ -webkit-appearance: none;
35
+ -moz-appearance: none;
36
+ appearance: none;
37
+ position: absolute;
38
+ color: var(
39
+ --toggle-foreground,
40
+ var(--foreground, var(--colour-foreground))
41
+ );
42
+ inline-size: var(--spacing-l);
43
+ block-size: var(--spacing-l);
44
+ inset-block-start: 12px;
45
+ inset-block-start: var(--toggle-top, 12px);
46
+ inset-inline-end: 0;
47
+ cursor: pointer;
48
+ }
49
+ .mx-nav--open > .mx-nav__toggle::before {
50
+ transform: rotate(180deg);
51
+ }
52
+ }
53
+
54
+ /**
55
+ * Dropdown Navigation
56
+ */
57
+
58
+ @layer design-system.components {
59
+ .nav--dropdown {
60
+ --nav-active-underline: none;
61
+
62
+ margin-block: var(--spacing-m);
63
+ }
64
+
65
+ @media (min-width: 720px) {
66
+ .nav--dropdown {
67
+ margin-block: 0;
68
+ }
69
+ }
70
+
71
+ .nav--dropdown li {
72
+ margin: 0;
73
+ }
74
+
75
+ .nav--dropdown li:is(.nav__has-subnav, :has(> ul)) {
76
+ position: relative;
77
+ }
78
+
79
+ .nav--dropdown li:is(.nav__has-subnav, :has(> ul)) > a {
80
+ --toggle-gap: var(--spacing-l);
81
+ }
82
+
83
+ .nav--dropdown a {
84
+ display: block;
85
+ }
86
+ @media (min-width: 720px) {
87
+
88
+ .nav--dropdown a[aria-expanded="true"] {
89
+ background-color: var(
90
+ --nav-expanded-background,
91
+ var(--background, var(--colour-background-alt))
92
+ );
93
+ color: inherit;
94
+ color: var(--nav-expanded-foreground, inherit);
95
+ }
96
+
97
+ .nav--dropdown a[aria-expanded="true"] + .nav__toggle {
98
+ color: inherit;
99
+ color: var(--nav-expanded-foreground, inherit);
100
+ }
101
+ }
102
+
103
+ .nav--dropdown li > ul {
104
+ transition:
105
+ 0.2s opacity var(--ease),
106
+ 0.2s visibility var(--ease);
107
+ }
108
+
109
+ .nav--dropdown li > ul[inert] {
110
+ block-size: 0;
111
+ opacity: 0;
112
+ visibility: hidden;
113
+ transition:
114
+ 0.2s opacity var(--ease),
115
+ 0.2s visibility var(--ease);
116
+ }
117
+
118
+ @media (min-width: 720px) {
119
+
120
+ .nav--dropdown li > ul[inert] {
121
+ block-size: auto;
122
+ }
123
+ }
124
+
125
+ .nav--dropdown .nav__level-1 {
126
+ margin: 0;
127
+ overflow: hidden;
128
+ }
129
+
130
+ @media (min-width: 720px) {
131
+
132
+ .nav--dropdown .nav__level-1 {
133
+ overflow: visible;
134
+ flex-flow: row;
135
+ align-items: center;
136
+ justify-content: flex-start;
137
+ }
138
+ }
139
+
140
+ .nav--dropdown .nav__level-1 > li {
141
+ border-block-start: 1px solid
142
+ var(--line-colour, var(--colour-border));
143
+ border-block-start: var(--line-width, 1px) solid
144
+ var(--line-colour, var(--colour-border));
145
+ }
146
+
147
+ @media (min-width: 720px) {
148
+
149
+ .nav--dropdown .nav__level-1 > li {
150
+ border-block-start: 0;
151
+ }
152
+ }
153
+
154
+ .nav--dropdown .nav__level-1 > li > a:where(:not(.button)) {
155
+ padding-block: var(--item-spacing, var(--spacing-xxs));
156
+ padding-inline-end: var(
157
+ --toggle-gap,
158
+ var(--item-spacing, var(--spacing-xxs))
159
+ );
160
+ }
161
+
162
+ @media (min-width: 720px) {
163
+
164
+ .nav--dropdown .nav__level-1 > li > a:where(:not(.button)) {
165
+ padding-inline-start: var(--item-spacing, var(--spacing-xxs));
166
+ }
167
+ }
168
+
169
+ .nav--dropdown .nav__level-2 {
170
+ display: block;
171
+ position: relative;
172
+ inset-inline-start: 0;
173
+ inline-size: 100%;
174
+ margin: 0;
175
+ }
176
+
177
+ @media (min-width: 720px) {
178
+
179
+ .nav--dropdown .nav__level-2 {
180
+ position: absolute;
181
+ inline-size: 270px;
182
+ inline-size: var(--dropdown-width, 270px);
183
+ border-radius: var(--border-radius);
184
+ background-color: var(
185
+ --nav-expanded-background,
186
+ var(--background, var(--colour-background-alt))
187
+ );
188
+ color: inherit;
189
+ color: var(--nav-expanded-foreground, inherit);
190
+ }
191
+
192
+ .nav--dropdown .nav__level-2 .nav__toggle::before {
193
+ transform: rotate(-90deg);
194
+ }
195
+ }
196
+ @media (max-width: 719.98px) {
197
+
198
+ .nav--dropdown .nav__level-2 > li {
199
+ border-block-start: 1px solid
200
+ var(--line-colour, var(--colour-border));
201
+ border-block-start: var(--line-width, 1px) solid
202
+ var(--line-colour, var(--colour-border));
203
+ }
204
+ }
205
+ .nav--dropdown .nav__level-2 > li > a:where(:not(.button)) {
206
+ padding: var(--item-spacing, var(--spacing-xxs));
207
+ }
208
+
209
+ @media (max-width: 719.98px) {
210
+ .nav--dropdown .nav__level-2 > li > a:where(:not(.button)) {
211
+ padding-inline-start: var(--spacing-l);
212
+ }
213
+ }
214
+ @media (min-width: 720px) {
215
+
216
+ .nav--dropdown .nav--reverse .nav__level-2 {
217
+ inset-inline: auto 0;
218
+ }
219
+
220
+ .nav--dropdown .nav--reverse .nav__level-2 .nav__toggle::before {
221
+ transform: rotate(90deg);
222
+ }
223
+ }
224
+
225
+ .nav--dropdown .nav__separator {
226
+ border-block-start: 1px solid
227
+ var(--line-colour, var(--colour-border));
228
+ border-block-start: var(--line-width, 1px) solid
229
+ var(--line-colour, var(--colour-border));
230
+ }
231
+ }
232
+
233
+ /**
234
+ * Dropdown Navigation - Mega Nav
235
+ */
236
+
237
+ @layer design-system.components {
238
+ @media (max-width: 719.98px) {
239
+ .nav--mega-nav {
240
+ max-block-size: 100%;
241
+ overflow: auto;
242
+ }
243
+ }
244
+
245
+ .nav--mega-nav .nav__level-2 ul {
246
+ display: block;
247
+ position: relative;
248
+ padding-inline-start: var(--spacing-l);
249
+ border-block-start: 1px solid var(--border-colour);
250
+ inline-size: 100%;
251
+ }
252
+
253
+ @media (min-width: 720px) {
254
+
255
+ .nav--mega-nav .nav__level-2 ul {
256
+ position: absolute;
257
+ inset-inline-start: 270px;
258
+ inset-inline-start: var(--dropdown-width, 270px);
259
+ inset-block-start: 0;
260
+ inline-size: 270px;
261
+ inline-size: var(--dropdown-width, 270px);
262
+ min-block-size: 100%;
263
+ padding-inline-start: 0;
264
+ border-block-start: 0;
265
+ border-radius: 0 var(--border-radius) var(--border-radius) 0;
266
+ background-color: var(
267
+ --expanded-background,
268
+ var(--colour-background-alt)
269
+ );
270
+ color: inherit;
271
+ color: var(--expanded-foreground, inherit);
272
+ }
273
+ }
274
+
275
+ .nav--mega-nav .nav__level-2 ul > li > a:where(:not(.button)) {
276
+ padding: var(--item-spacing, var(--spacing-xxs));
277
+ }
278
+
279
+ @media (max-width: 719.98px) {
280
+
281
+ .nav--mega-nav .nav__level-2 ul > li > a:where(:not(.button)) {
282
+ padding-inline-start: var(--spacing-l);
283
+ }
284
+ }
285
+ @media (min-width: 720px) {
286
+
287
+ .nav--mega-nav .nav--reverse .nav__level-2 ul {
288
+ inset-inline-start: calc(270px * -1);
289
+ inset-inline-start: calc(var(--dropdown-width, 270px) * -1);
290
+ border-radius: var(--border-radius) 0 0 var(--border-radius);
291
+ }
292
+ }
293
+ }
294
+
295
+ /**
296
+ * Collapsible Navigation
297
+ */
298
+
299
+ @layer design-system.components {
300
+ .nav--collapsible .nav__toggle {
301
+ inset-inline: auto var(--spacing-xxs);
302
+ }
303
+
304
+ @media (min-width: 720px) {
305
+ .nav--collapsible .nav__toggle {
306
+ display: block;
307
+ }
308
+ }
309
+
310
+ .nav--collapsible ul li {
311
+ position: relative;
312
+ }
313
+
314
+ .nav--collapsible ul li a {
315
+ display: block;
316
+ color: inherit;
317
+ border-block-end: 1px solid
318
+ var(--line-colour, var(--colour-border));
319
+ border-block-end: var(--line-width, 1px) solid
320
+ var(--line-colour, var(--colour-border));
321
+ padding: var(--item-spacing, var(--spacing-xxs));
322
+ }
323
+
324
+ .nav--collapsible ul li a:is(:focus, :focus-visible) {
325
+ outline-offset: -1px;
326
+ }
327
+
328
+ .nav--collapsible .nav__level-1 > li > a {
329
+ font-weight: var(--font-weight-bold);
330
+ }
331
+
332
+ .nav--collapsible .nav__level-2 > li > a {
333
+ padding-inline-start: var(--spacing-s);
334
+ }
335
+
336
+ .nav--collapsible .nav__level-3 > li > a {
337
+ padding-inline-start: var(--spacing-m);
338
+ }
339
+
340
+ .nav--collapsible :is([aria-current="page"], .is-active) > a {
341
+ background-color: var(
342
+ --nav-active-background,
343
+ var(--background, var(--colour-background-alt))
344
+ );
345
+ color: inherit;
346
+ color: var(--nav-active-foreground, inherit);
347
+ }
348
+
349
+ .nav--collapsible li > ul {
350
+ transition:
351
+ transform 0.2s var(--ease),
352
+ opacity 0.8s var(--ease);
353
+ transform-origin: top;
354
+ will-change: block-size;
355
+ }
356
+
357
+ .nav--collapsible li > ul[inert] {
358
+ block-size: 0;
359
+ opacity: 0;
360
+ transform: scaleY(0);
361
+ transition:
362
+ transform 0.8s var(--ease),
363
+ opacity 0.2s var(--ease);
364
+ }
365
+
366
+ .nav--collapsible li:is(.nav__has-subnav, :has(> ul)) > a {
367
+ padding-inline-end: var(--spacing-l);
368
+ }
369
+ }
370
+
371
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9uYXZpZ2F0aW9uLmNzcyIsIl9uYXZpZ2F0aW9uLWRyb3Bkb3duLmNzcyIsIl9uYXZpZ2F0aW9uLW1lZ2EuY3NzIiwiX25hdmlnYXRpb24tY29sbGFwc2libGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0lBRUk7TUFDRSxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHFCQUFxQjtNQUNyQix1QkFBdUI7TUFDdkIsaURBQWlEO0lBQ25EOztJQUVBO01BQ0UsMEJBQTBCO01BQzFCLGNBQWM7SUFLaEI7O01BSEU7UUFDRSwrQkFBNEQ7UUFBNUQsNERBQTREO01BQzlEO0lBS0Y7TUFDRSxtQkFBbUI7TUFDbkIsbUJBQW1CO01BQ25CLHFDQUFxQztJQUN2Qzs7RUFHRjtJQUNFLGlGQUFpQjtJQUFqQixtQkFBaUI7SUFDakIsVUFBVTtJQUNWLFNBQVM7SUFDVCx3QkFBZ0I7T0FBaEIscUJBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEI7OztLQUdDO0lBQ0QsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1Qix1QkFBMEM7SUFBMUMsMENBQTBDO0lBQzFDLG1CQUFtQjtJQUNuQixlQUFlO0VBQ2pCO0lBR0U7TUFDRSx5QkFBeUI7SUFDM0I7QUFFSjs7QUN0REE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLDRCQUE0Qjs7SUFFNUIsOEJBQThCO0VBOEloQzs7SUE1SUU7RUFMRjtNQU1JLGVBQWU7RUEySW5CO0lBMUlFOztJQUVBO01BQ0UsU0FBUztJQVNYOztNQVBFO1FBQ0Usa0JBQWtCO01BS3BCOztRQUhFO1VBQ0UsOEJBQThCO1FBQ2hDOztJQUlKO01BQ0UsY0FBYztJQWVoQjtRQVpJOztNQURGO1VBRUk7OztXQUdDO1VBQ0QsY0FBOEM7VUFBOUMsOENBQThDO01BTWxEOztVQUpJO1lBQ0UsY0FBOEM7WUFBOUMsOENBQThDO1VBQ2hEO1FBQ0Y7O0lBSUo7TUFDRTs7bUNBRTZCO0lBYy9COztNQVpFO1FBQ0UsYUFBYTtRQUNiLFVBQVU7UUFDVixrQkFBa0I7UUFDbEI7O3FDQUU2QjtNQUsvQjs7UUFIRTs7TUFSRjtVQVNJLGdCQUFnQjtNQUVwQjtRQURFOztJQUlKO01BQ0UsU0FBUztNQUNULGdCQUFnQjtJQTZCbEI7O01BM0JFOztJQUpGO1FBS0ksaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsMkJBQTJCO0lBdUIvQjtNQXRCRTs7TUFFQTtRQUNFO2tEQUMwQztRQUQxQztrREFDMEM7TUFpQjVDOztRQWZFOztNQUpGO1VBS0kscUJBQXFCO01BY3pCO1FBYkU7O1FBRUE7VUFDRSxzREFBc0Q7VUFDdEQ7OztXQUdDO1FBS0g7O1VBSEU7O1FBUEY7WUFRSSw2REFBNkQ7UUFFakU7VUFERTs7SUFLTjtNQUNFLGNBQWM7TUFDZCxrQkFBa0I7TUFDbEIscUJBQXFCO01BQ3JCLGlCQUFpQjtNQUNqQixTQUFTO0lBaUNYOztNQS9CRTs7SUFQRjtRQVFJLGtCQUFrQjtRQUNsQixrQkFBeUM7UUFBekMseUNBQXlDO1FBQ3pDLG1DQUFtQztRQUNuQzs7O1NBR0M7UUFDRCxjQUE4QztRQUE5Qyw4Q0FBOEM7SUF1QmxEOztRQXJCSTtVQUNFLHlCQUF5QjtRQUMzQjtNQUNGO1FBR0U7O01BREY7VUFFSTtvREFDMEM7VUFEMUM7b0RBQzBDO01BWTlDO1FBWEU7VUFHRTtZQUNFLGdEQUFnRDtVQUtsRDs7WUFIRTtVQUhGO2NBSUksc0NBQXNDO1VBRTFDO1lBREU7TUFPTjs7SUFERjtRQUVJLG9CQUFvQjtJQU14Qjs7UUFKSTtVQUNFLHdCQUF3QjtRQUMxQjtNQUNGOztJQUdGO01BQ0U7Z0RBQzBDO01BRDFDO2dEQUMwQztJQUM1QztBQUVKOztBQ3ZKQTs7RUFFRTs7QUFFRjtJQUVJO0VBREY7TUFFSSxvQkFBb0I7TUFDcEIsY0FBYztFQXlDbEI7SUF4Q0U7O0lBRUE7TUFDRSxjQUFjO01BQ2Qsa0JBQWtCO01BQ2xCLHNDQUFzQztNQUN0QyxrREFBa0Q7TUFDbEQsaUJBQWlCO0lBeUJuQjs7TUF2QkU7O0lBUEY7UUFRSSxrQkFBa0I7UUFDbEIseUJBQWdEO1FBQWhELGdEQUFnRDtRQUNoRCxvQkFBb0I7UUFDcEIsa0JBQXlDO1FBQXpDLHlDQUF5QztRQUN6QyxvQkFBb0I7UUFDcEIsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQiw0REFBNEQ7UUFDNUQ7OztTQUdDO1FBQ0QsY0FBMEM7UUFBMUMsMENBQTBDO0lBVTlDO01BVEU7O01BRUE7UUFDRSxnREFBZ0Q7TUFLbEQ7O1FBSEU7O01BSEY7VUFJSSxzQ0FBc0M7TUFFMUM7UUFERTtNQUtGOztJQURGO1FBRUksb0NBQTJEO1FBQTNELDJEQUEyRDtRQUMzRCw0REFBNEQ7SUFFaEU7TUFERTtBQUdOOztBQ2xEQTs7RUFFRTs7QUFFRjtJQUVJO01BQ0UscUNBQXFDO0lBS3ZDOztNQUhFO0lBSEY7UUFJSSxjQUFjO0lBRWxCO01BREU7O0lBR0Y7TUFDRSxrQkFBa0I7SUFhcEI7O01BWEU7UUFDRSxjQUFjO1FBQ2QsY0FBYztRQUNkO2tEQUMwQztRQUQxQztrREFDMEM7UUFDMUMsZ0RBQWdEO01BS2xEOztRQUhFO1VBQ0Usb0JBQW9CO1FBQ3RCOztJQUlKO01BQ0Usb0NBQW9DO0lBQ3RDOztJQUVBO01BQ0Usc0NBQXNDO0lBQ3hDOztJQUVBO01BQ0Usc0NBQXNDO0lBQ3hDOztJQUVBO01BQ0U7OztPQUdDO01BQ0QsY0FBNEM7TUFBNUMsNENBQTRDO0lBQzlDOztJQUVBO01BQ0U7O2dDQUUwQjtNQUMxQixxQkFBcUI7TUFDckIsdUJBQXVCO0lBVXpCOztNQVJFO1FBQ0UsYUFBYTtRQUNiLFVBQVU7UUFDVixvQkFBb0I7UUFDcEI7O2tDQUUwQjtNQUM1Qjs7SUFHRjtNQUNFLG9DQUFvQztJQUN0QztBQUVKIiwiZmlsZSI6Im5hdmlnYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOYXZpZ2F0aW9uXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5teC1uYXYge1xuICAgICYgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbmF2LWZvbnQtc2l6ZSwgdmFyKC0tZm9udC1zaXplKSk7XG4gICAgfVxuXG4gICAgJiBhOndoZXJlKDpub3QoW2NsYXNzXSkpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdmFyKC0tbmF2LWFjdGl2ZS11bmRlcmxpbmUsIHVuZGVybGluZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm14LW5hdi0taW5saW5lIHtcbiAgICAmID4gdWwge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IHZhcigtLW5hdi1nYXAsIHZhcigtLXNwYWNpbmctcykpO1xuICAgIH1cbiAgfVxuXG4gIC5teC1uYXZfX3RvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogdW5zZXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6IHZhcihcbiAgICAgIC0tdG9nZ2xlLWZvcmVncm91bmQsXG4gICAgICB2YXIoLS1mb3JlZ3JvdW5kLCB2YXIoLS1jb2xvdXItZm9yZWdyb3VuZCkpXG4gICAgKTtcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tc3BhY2luZy1sKTtcbiAgICBibG9jay1zaXplOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS10b2dnbGUtdG9wLCAxMnB4KTtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5teC1uYXYtLW9wZW4ge1xuICAgICYgPiAubXgtbmF2X190b2dnbGU6OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBEcm9wZG93biBOYXZpZ2F0aW9uXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5uYXYtLWRyb3Bkb3duIHtcbiAgICAtLW5hdi1hY3RpdmUtdW5kZXJsaW5lOiBub25lO1xuXG4gICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zcGFjaW5nLW0pO1xuXG4gICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgIG1hcmdpbi1ibG9jazogMDtcbiAgICB9XG5cbiAgICAmIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJjppcygubmF2X19oYXMtc3VibmF2LCA6aGFzKD4gdWwpKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgLS10b2dnbGUtZ2FwOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAtLW5hdi1leHBhbmRlZC1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQtYWx0KSlcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtZXhwYW5kZWQtZm9yZWdyb3VuZCwgaW5oZXJpdCk7XG5cbiAgICAgICAgICAmICsgLm5hdl9fdG9nZ2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uYXYtZXhwYW5kZWQtZm9yZWdyb3VuZCwgaW5oZXJpdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBsaSA+IHVsIHtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIDAuMnMgb3BhY2l0eSB2YXIoLS1lYXNlKSxcbiAgICAgICAgMC4ycyB2aXNpYmlsaXR5IHZhcigtLWVhc2UpO1xuXG4gICAgICAmW2luZXJ0XSB7XG4gICAgICAgIGJsb2NrLXNpemU6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAwLjJzIG9wYWNpdHkgdmFyKC0tZWFzZSksXG4gICAgICAgICAgMC4ycyB2aXNpYmlsaXR5IHZhcigtLWVhc2UpO1xuXG4gICAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgICAgYmxvY2stc2l6ZTogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLm5hdl9fbGV2ZWwtMSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiB2YXIoLS1saW5lLXdpZHRoLCAxcHgpIHNvbGlkXG4gICAgICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcblxuICAgICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICAgIGJvcmRlci1ibG9jay1zdGFydDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBhOndoZXJlKDpub3QoLmJ1dHRvbikpIHtcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pdGVtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmcteHhzKSk7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoXG4gICAgICAgICAgICAtLXRvZ2dsZS1nYXAsXG4gICAgICAgICAgICB2YXIoLS1pdGVtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmcteHhzKSlcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pdGVtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmcteHhzKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAubmF2X19sZXZlbC0yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIEBtZWRpYSAoLS1nbG9iYWwtbmF2LXVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5saW5lLXNpemU6IHZhcigtLWRyb3Bkb3duLXdpZHRoLCAyNzBweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgLS1uYXYtZXhwYW5kZWQtYmFja2dyb3VuZCxcbiAgICAgICAgICB2YXIoLS1iYWNrZ3JvdW5kLCB2YXIoLS1jb2xvdXItYmFja2dyb3VuZC1hbHQpKVxuICAgICAgICApO1xuICAgICAgICBjb2xvcjogdmFyKC0tbmF2LWV4cGFuZGVkLWZvcmVncm91bmQsIGluaGVyaXQpO1xuXG4gICAgICAgICYgLm5hdl9fdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IGxpIHtcbiAgICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtZG93bikge1xuICAgICAgICAgIGJvcmRlci1ibG9jay1zdGFydDogdmFyKC0tbGluZS13aWR0aCwgMXB4KSBzb2xpZFxuICAgICAgICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBhIHtcbiAgICAgICAgICAmOndoZXJlKDpub3QoLmJ1dHRvbikpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcblxuICAgICAgICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtZG93bikge1xuICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5uYXYtLXJldmVyc2UgLm5hdl9fbGV2ZWwtMiB7XG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICBpbnNldC1pbmxpbmU6IGF1dG8gMDtcblxuICAgICAgICAmIC5uYXZfX3RvZ2dsZTo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5uYXZfX3NlcGFyYXRvciB7XG4gICAgICBib3JkZXItYmxvY2stc3RhcnQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgICAgdmFyKC0tbGluZS1jb2xvdXIsIHZhcigtLWNvbG91ci1ib3JkZXIpKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogRHJvcGRvd24gTmF2aWdhdGlvbiAtIE1lZ2EgTmF2XG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5uYXYtLW1lZ2EtbmF2IHtcbiAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi1kb3duKSB7XG4gICAgICBtYXgtYmxvY2stc2l6ZTogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgICYgLm5hdl9fbGV2ZWwtMiB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gICAgICBpbmxpbmUtc2l6ZTogMTAwJTtcblxuICAgICAgQG1lZGlhICgtLWdsb2JhbC1uYXYtdXApIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWRyb3Bkb3duLXdpZHRoLCAyNzBweCk7XG4gICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgICBpbmxpbmUtc2l6ZTogdmFyKC0tZHJvcGRvd24td2lkdGgsIDI3MHB4KTtcbiAgICAgICAgbWluLWJsb2NrLXNpemU6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgICBib3JkZXItYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cykgdmFyKC0tYm9yZGVyLXJhZGl1cykgMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgIC0tZXhwYW5kZWQtYmFja2dyb3VuZCxcbiAgICAgICAgICB2YXIoLS1jb2xvdXItYmFja2dyb3VuZC1hbHQpXG4gICAgICAgICk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1leHBhbmRlZC1mb3JlZ3JvdW5kLCBpbmhlcml0KTtcbiAgICAgIH1cblxuICAgICAgJiA+IGxpID4gYTp3aGVyZSg6bm90KC5idXR0b24pKSB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWl0ZW0tc3BhY2luZywgdmFyKC0tc3BhY2luZy14eHMpKTtcblxuICAgICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi1kb3duKSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNwYWNpbmctbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5uYXYtLXJldmVyc2UgLm5hdl9fbGV2ZWwtMiB1bCB7XG4gICAgICBAbWVkaWEgKC0tZ2xvYmFsLW5hdi11cCkge1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tZHJvcGRvd24td2lkdGgsIDI3MHB4KSAqIC0xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiBDb2xsYXBzaWJsZSBOYXZpZ2F0aW9uXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5uYXYtLWNvbGxhcHNpYmxlIHtcbiAgICAmIC5uYXZfX3RvZ2dsZSB7XG4gICAgICBpbnNldC1pbmxpbmU6IGF1dG8gdmFyKC0tc3BhY2luZy14eHMpO1xuXG4gICAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWxpbmUtd2lkdGgsIDFweCkgc29saWRcbiAgICAgICAgICB2YXIoLS1saW5lLWNvbG91ciwgdmFyKC0tY29sb3VyLWJvcmRlcikpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1pdGVtLXNwYWNpbmcsIHZhcigtLXNwYWNpbmcteHhzKSk7XG5cbiAgICAgICAgJjppcyg6Zm9jdXMsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5uYXZfX2xldmVsLTEgPiBsaSA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgICYgLm5hdl9fbGV2ZWwtMiA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICB9XG5cbiAgICAmIC5uYXZfX2xldmVsLTMgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNwYWNpbmctbSk7XG4gICAgfVxuXG4gICAgJiA6aXMoW2FyaWEtY3VycmVudD1cInBhZ2VcIl0sIC5pcy1hY3RpdmUpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgIC0tbmF2LWFjdGl2ZS1iYWNrZ3JvdW5kLFxuICAgICAgICB2YXIoLS1iYWNrZ3JvdW5kLCB2YXIoLS1jb2xvdXItYmFja2dyb3VuZC1hbHQpKVxuICAgICAgKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uYXYtYWN0aXZlLWZvcmVncm91bmQsIGluaGVyaXQpO1xuICAgIH1cblxuICAgICYgbGkgPiB1bCB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC4ycyB2YXIoLS1lYXNlKSxcbiAgICAgICAgb3BhY2l0eSAwLjhzIHZhcigtLWVhc2UpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICAgICAgd2lsbC1jaGFuZ2U6IGJsb2NrLXNpemU7XG5cbiAgICAgICZbaW5lcnRdIHtcbiAgICAgICAgYmxvY2stc2l6ZTogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgdHJhbnNmb3JtIDAuOHMgdmFyKC0tZWFzZSksXG4gICAgICAgICAgb3BhY2l0eSAwLjJzIHZhcigtLWVhc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgbGk6aXMoLm5hdl9faGFzLXN1Ym5hdiwgOmhhcyg+IHVsKSkgPiBhIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc3BhY2luZy1sKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */