@pnx-mixtape/mxds 0.0.15 → 0.0.16

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 (85) hide show
  1. package/dist/build/accordion.css +113 -1
  2. package/dist/build/accordion.entry.js +83 -1
  3. package/dist/build/accordion.entry.js.map +1 -0
  4. package/dist/build/base.css +1012 -1
  5. package/dist/build/breadcrumb.css +55 -1
  6. package/dist/build/button.css +127 -1
  7. package/dist/build/callout.css +11 -1
  8. package/dist/build/card.css +160 -1
  9. package/dist/build/carousel.css +125 -1
  10. package/dist/build/chunks/Accordion-O-huO4At.js +61 -0
  11. package/dist/build/chunks/Accordion-O-huO4At.js.map +1 -0
  12. package/dist/build/chunks/disclosure-widget-CtNx0f8p.js +124 -0
  13. package/dist/build/chunks/disclosure-widget-CtNx0f8p.js.map +1 -0
  14. package/dist/build/chunks/drop-menu.entry-BEhZ_Je3.js +132 -0
  15. package/dist/build/chunks/drop-menu.entry-BEhZ_Je3.js.map +1 -0
  16. package/dist/build/chunks/keyboard-C73DHu0c.js +101 -0
  17. package/dist/build/chunks/keyboard-C73DHu0c.js.map +1 -0
  18. package/dist/build/chunks/polyfills-DoxMZOqh.js +806 -0
  19. package/dist/build/chunks/polyfills-DoxMZOqh.js.map +1 -0
  20. package/dist/build/chunks/popover-DzUcnIlX.js +797 -0
  21. package/dist/build/chunks/popover-DzUcnIlX.js.map +1 -0
  22. package/dist/build/chunks/utilities-DXELy_An.js +245 -0
  23. package/dist/build/chunks/utilities-DXELy_An.js.map +1 -0
  24. package/dist/build/constants.css +151 -1
  25. package/dist/build/container-grid.css +186 -1
  26. package/dist/build/content-block.css +36 -1
  27. package/dist/build/dialog.css +116 -1
  28. package/dist/build/dialog.entry.js +93 -1
  29. package/dist/build/dialog.entry.js.map +1 -0
  30. package/dist/build/drop-menu.css +89 -1
  31. package/dist/build/drop-menu.entry.js +2 -1
  32. package/dist/build/drop-menu.entry.js.map +1 -0
  33. package/dist/build/drupal.css +70 -1
  34. package/dist/build/filters.css +117 -1
  35. package/dist/build/filters.entry.js +138 -1
  36. package/dist/build/filters.entry.js.map +1 -0
  37. package/dist/build/footer.css +141 -1
  38. package/dist/build/form.css +505 -1
  39. package/dist/build/global-alert.css +60 -1
  40. package/dist/build/global-alert.entry.js +68 -1
  41. package/dist/build/global-alert.entry.js.map +1 -0
  42. package/dist/build/grid.css +201 -1
  43. package/dist/build/header.css +161 -1
  44. package/dist/build/header.entry.js +103 -1
  45. package/dist/build/header.entry.js.map +1 -0
  46. package/dist/build/hero-banner.css +67 -1
  47. package/dist/build/icon.css +399 -1
  48. package/dist/build/in-page-alert.css +93 -1
  49. package/dist/build/in-page-navigation.css +17 -1
  50. package/dist/build/in-page-navigation.entry.js +99 -1
  51. package/dist/build/in-page-navigation.entry.js.map +1 -0
  52. package/dist/build/link-list.css +45 -1
  53. package/dist/build/list-item.css +29 -1
  54. package/dist/build/masthead.css +53 -1
  55. package/dist/build/navigation.css +391 -1
  56. package/dist/build/navigation.entry.js +124 -1
  57. package/dist/build/navigation.entry.js.map +1 -0
  58. package/dist/build/page.css +65 -1
  59. package/dist/build/pagination.css +117 -1
  60. package/dist/build/results-bar.css +21 -1
  61. package/dist/build/section.css +147 -1
  62. package/dist/build/side-navigation.css +85 -1
  63. package/dist/build/sidebar.css +53 -1
  64. package/dist/build/social-links.css +20 -1
  65. package/dist/build/steps.css +118 -1
  66. package/dist/build/sticky.css +47 -1
  67. package/dist/build/sticky.entry.js +60 -1
  68. package/dist/build/sticky.entry.js.map +1 -0
  69. package/dist/build/tabs.css +108 -1
  70. package/dist/build/tabs.entry.js +202 -1
  71. package/dist/build/tabs.entry.js.map +1 -0
  72. package/dist/build/tag.css +70 -1
  73. package/dist/build/utilities.css +178 -1
  74. package/package.json +11 -4
  75. package/src/Component/Carousel/Carousel.stories.ts +1 -1
  76. package/src/Component/DropMenu/drop-menu.css +1 -1
  77. package/src/Layout/Section/Section.stories.ts +2 -1
  78. package/src/Layout/Section/section.twig +3 -1
  79. package/dist/build/chunks/Accordion-RtUfbsTy.js +0 -1
  80. package/dist/build/chunks/disclosure-widget-CPdkUWkq.js +0 -1
  81. package/dist/build/chunks/drop-menu.entry-BqBzLfVC.js +0 -1
  82. package/dist/build/chunks/keyboard-Cs0cduxq.js +0 -1
  83. package/dist/build/chunks/polyfills-5KNOJw2W.js +0 -1
  84. package/dist/build/chunks/popover-CiVl-0jk.js +0 -1
  85. package/dist/build/chunks/utilities-CE6xwgqF.js +0 -2
@@ -1 +1,117 @@
1
- @layer design-system.components{.mx-filters{display:grid;grid-gap:var(--gap);gap:var(--gap)}.mx-filters__title{--heading-font-size: var(--font-size-l);--font-min: calc( var(--heading-font-size) - var(--heading-font-size) * var(--font-size-diff, .3) );font-weight:var(--font-weight-bold);font-size:clamp(max(var(--base-font-size),var(--font-min)),var(--font-min) + 1cqi,var(--heading-font-size));display:flex;gap:var(--spacing-s);align-items:center;min-block-size:40px}@media (min-width: 720px){.mx-filters__title{pointer-events:none}}.mx-filters__title .mx-icon{margin-inline-start:auto}@media (min-width: 720px){.mx-filters__title .mx-icon{display:none}}@media (min-width: 720px){.mx-filters__title [data-counters]{display:none}}.mx-filters__title.mx-accordion__toggle+.mx-filters__form{padding-block-start:var(--block-padding, var(--gap))}.mx-filters__form .mx-accordion__toggle{display:flex;gap:var(--spacing-s);align-items:center}:is(.mx-filters__form .mx-accordion__toggle) .mx-icon{margin-inline-start:auto}.mx-filters__form .mx-accordion__content{padding-block-start:var(--spacing-xxxs)}@media (max-width: 719.98px){.mx-filters--right .mx-filters__form{background-color:var(--background, var(--colour-background));padding-inline:var( --gutter, max(var(--spacing-s), min(6vw, var(--spacing-l))) );padding-block-end:var(--block-padding);overflow-y:auto;position:fixed;z-index:200;inset-block:0;inset-inline:0;inline-size:100vw;display:none;opacity:0;transform:translate(100%)}.mx-filters--right [open] .mx-filters__form{opacity:1;transform:translate(0);display:block}@starting-style{.mx-filters--right [open] .mx-filters__form{opacity:0;transform:translate(100%);display:block}}}@media (min-width: 720px){.mx-filters--right .mx-filters__form{--block-padding: 0}:is(.mx-filters--right .mx-filters__form) .mx-filters__title{display:none}}}
1
+ /**
2
+ * Filters
3
+ */
4
+
5
+ @layer design-system.components {
6
+ .mx-filters {
7
+ display: grid;
8
+ grid-gap: var(--gap);
9
+ gap: var(--gap);
10
+ }
11
+
12
+ .mx-filters__title {
13
+ --heading-font-size: var(--font-size-l);
14
+ --font-min: calc(
15
+ var(--heading-font-size) - var(--heading-font-size) *
16
+ var(--font-size-diff, 0.3)
17
+ );
18
+
19
+ font-weight: var(--font-weight-bold);
20
+ font-size: clamp(
21
+ max(var(--base-font-size), var(--font-min)),
22
+ var(--font-min) + 1cqi,
23
+ var(--heading-font-size)
24
+ );
25
+ display: flex;
26
+ gap: var(--spacing-s);
27
+ align-items: center;
28
+ min-block-size: 40px;
29
+ }
30
+
31
+ @media (min-width: 720px) {
32
+
33
+ .mx-filters__title {
34
+ pointer-events: none;
35
+ }
36
+ }
37
+
38
+ .mx-filters__title .mx-icon {
39
+ margin-inline-start: auto;
40
+ }
41
+
42
+ @media (min-width: 720px) {
43
+
44
+ .mx-filters__title .mx-icon {
45
+ display: none;
46
+ }
47
+ }
48
+ @media (min-width: 720px) {
49
+
50
+ .mx-filters__title [data-counters] {
51
+ display: none;
52
+ }
53
+ }
54
+
55
+ .mx-filters__title.mx-accordion__toggle + .mx-filters__form {
56
+ padding-block-start: var(--block-padding, var(--gap));
57
+ }
58
+ .mx-filters__form .mx-accordion__toggle {
59
+ display: flex;
60
+ gap: var(--spacing-s);
61
+ align-items: center;
62
+ }
63
+
64
+ :is(.mx-filters__form .mx-accordion__toggle) .mx-icon {
65
+ margin-inline-start: auto;
66
+ }
67
+
68
+ .mx-filters__form .mx-accordion__content {
69
+ padding-block-start: var(--spacing-xxxs);
70
+ }
71
+ @media (max-width: 719.98px) {
72
+ .mx-filters--right .mx-filters__form {
73
+ background-color: var(--background, var(--colour-background));
74
+ padding-inline: var(
75
+ --gutter,
76
+ max(var(--spacing-s), min(6vw, var(--spacing-l)))
77
+ );
78
+ padding-block-end: var(--block-padding);
79
+ overflow-y: auto;
80
+ position: fixed;
81
+ z-index: 200;
82
+ inset-block: 0;
83
+ inset-inline: 0;
84
+ inline-size: 100vw;
85
+ display: none;
86
+ opacity: 0;
87
+ transform: translateX(100%);
88
+ }
89
+
90
+ .mx-filters--right [open] .mx-filters__form {
91
+ opacity: 1;
92
+ transform: translateX(0);
93
+ display: block;
94
+ }
95
+
96
+ @starting-style {
97
+
98
+ .mx-filters--right [open] .mx-filters__form {
99
+ opacity: 0;
100
+ transform: translateX(100%);
101
+ display: block;
102
+ }
103
+ }
104
+ }
105
+
106
+ @media (min-width: 720px) {
107
+ .mx-filters--right .mx-filters__form {
108
+ --block-padding: 0;
109
+ }
110
+
111
+ :is(.mx-filters--right .mx-filters__form) .mx-filters__title {
112
+ display: none;
113
+ }
114
+ }
115
+ }
116
+
117
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbHRlcnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFOztBQUVGO0VBQ0U7SUFDRSxhQUFhO0lBQ2Isb0JBQWU7SUFBZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsdUNBQXVDO0lBQ3ZDOzs7S0FHQzs7SUFFRCxvQ0FBb0M7SUFDcEM7Ozs7S0FJQztJQUNELGFBQWE7SUFDYixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLG9CQUFvQjtFQXVCdEI7O0lBckJFOztFQWxCRjtNQW1CSSxvQkFBb0I7RUFvQnhCO0lBbkJFOztJQUVBO01BQ0UseUJBQXlCO0lBSzNCOztNQUhFOztJQUhGO1FBSUksYUFBYTtJQUVqQjtNQURFO01BSUE7O0lBREY7UUFFSSxhQUFhO0lBRWpCO01BREU7O0lBR0Y7TUFDRSxxREFBcUQ7SUFDdkQ7SUFJQTtNQUNFLGFBQWE7TUFDYixxQkFBcUI7TUFDckIsbUJBQW1CO0lBS3JCOztNQUhFO1FBQ0UseUJBQXlCO01BQzNCOztJQUdGO01BQ0Usd0NBQXdDO0lBQzFDO0lBSUE7TUFDRTtRQUNFLDZEQUE2RDtRQUM3RDs7O1NBR0M7UUFDRCx1Q0FBdUM7UUFDdkMsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLFVBQVU7UUFDViwyQkFBMkI7TUFDN0I7O01BRUE7UUFDRSxVQUFVO1FBQ1Ysd0JBQXdCO1FBQ3hCLGNBQWM7TUFPaEI7O1FBTEU7O01BTEY7VUFNSSxVQUFVO1VBQ1YsMkJBQTJCO1VBQzNCLGNBQWM7TUFFbEI7UUFERTtJQUVKOztJQUVBO01BQ0U7UUFDRSxrQkFBa0I7TUFLcEI7O1FBSEU7VUFDRSxhQUFhO1FBQ2Y7SUFFSjtBQUVKIiwiZmlsZSI6ImZpbHRlcnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGaWx0ZXJzXG4gKi9cblxuQGxheWVyIGRlc2lnbi1zeXN0ZW0uY29tcG9uZW50cyB7XG4gIC5teC1maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgfVxuXG4gIC5teC1maWx0ZXJzX190aXRsZSB7XG4gICAgLS1oZWFkaW5nLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpO1xuICAgIC0tZm9udC1taW46IGNhbGMoXG4gICAgICB2YXIoLS1oZWFkaW5nLWZvbnQtc2l6ZSkgLSB2YXIoLS1oZWFkaW5nLWZvbnQtc2l6ZSkgKlxuICAgICAgICB2YXIoLS1mb250LXNpemUtZGlmZiwgMC4zKVxuICAgICk7XG5cbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiBjbGFtcChcbiAgICAgIG1heCh2YXIoLS1iYXNlLWZvbnQtc2l6ZSksIHZhcigtLWZvbnQtbWluKSksXG4gICAgICB2YXIoLS1mb250LW1pbikgKyAxY3FpLFxuICAgICAgdmFyKC0taGVhZGluZy1mb250LXNpemUpXG4gICAgKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1ibG9jay1zaXplOiA0MHB4O1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJiAubXgtaWNvbiB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuXG4gICAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBbZGF0YS1jb3VudGVyc10ge1xuICAgICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubXgtYWNjb3JkaW9uX190b2dnbGUgKyAubXgtZmlsdGVyc19fZm9ybSB7XG4gICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1ibG9jay1wYWRkaW5nLCB2YXIoLS1nYXApKTtcbiAgICB9XG4gIH1cblxuICAubXgtZmlsdGVyc19fZm9ybSB7XG4gICAgJiAubXgtYWNjb3JkaW9uX190b2dnbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogdmFyKC0tc3BhY2luZy1zKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICYgLm14LWljb24ge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLXh4eHMpO1xuICAgIH1cbiAgfVxuXG4gIC5teC1maWx0ZXJzLS1yaWdodCB7XG4gICAgQG1lZGlhICgtLW1lZGl1bS1kb3duKSB7XG4gICAgICAmIC5teC1maWx0ZXJzX19mb3JtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZCwgdmFyKC0tY29sb3VyLWJhY2tncm91bmQpKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHZhcihcbiAgICAgICAgICAtLWd1dHRlcixcbiAgICAgICAgICBjbGFtcCh2YXIoLS1zcGFjaW5nLXMpLCA2dncsIHZhcigtLXNwYWNpbmctbCkpXG4gICAgICAgICk7XG4gICAgICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1ibG9jay1wYWRkaW5nKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgICAgIGluc2V0LWJsb2NrOiAwO1xuICAgICAgICBpbnNldC1pbmxpbmU6IDA7XG4gICAgICAgIGlubGluZS1zaXplOiAxMDB2dztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmIFtvcGVuXSAubXgtZmlsdGVyc19fZm9ybSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgICYgLm14LWZpbHRlcnNfX2Zvcm0ge1xuICAgICAgICAtLWJsb2NrLXBhZGRpbmc6IDA7XG5cbiAgICAgICAgJiAubXgtZmlsdGVyc19fdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
@@ -1 +1,138 @@
1
- import{A as t}from"./chunks/Accordion-RtUfbsTy.js";customElements.define("mx-accordionmobile",class extends t{constructor(){super(),this.handleBreakpoint=({matches:t})=>{this.details&&this.details.toggleAttribute("open",!t)},this.mq=this.getAttribute("mq")||"(max-width: 720px)"}connectedCallback(){this.handleBreakpoint(this.breakpoint);const{signal:t}=this.controller;this.breakpoint.addEventListener("change",this.handleBreakpoint,{signal:t})}disconnectedCallback(){this.controller.abort()}get breakpoint(){return window.matchMedia(this.mq)}});class e extends HTMLElement{constructor(){super(),this.handleClose=t=>{this.details&&(this.details.open=!1,t.preventDefault())},this.handleShow=t=>{t.preventDefault();const e=this.showBtn.previousElementSibling;e.removeAttribute("hidden");const n=e.previousElementSibling.querySelector("input");n&&(n.focus({preventScroll:!0}),setTimeout((()=>{this.showBtn.setAttribute("hidden","")}),100))},this.handleReset=()=>{this.entries.forEach(((t,e)=>{this.entries.set(e,{...t,count:null}),t.counter&&(t.counter.textContent="")})),this.setAttribute("count","0")},this.handleCounters=()=>{const t=new FormData(this.form,this.submitBtn);this.entries.forEach(((e,n)=>{const{length:s}=t.getAll(n).filter(Boolean),i=s>0?s:null;this.entries.set(n,{...e,count:i}),e.counter&&(e.counter.textContent=i?.toString()||"")}));const e=[...this.entries].filter((([,t])=>t.count)).length;this.setAttribute("count",e.toString())},this.internals_=this.attachInternals(),this.controller=new AbortController}static{this.observedAttributes=["count"]}connectedCallback(){if(!this.items)return;const{signal:t}=this.controller;this.closeBtn?.addEventListener("click",this.handleClose,{signal:t}),this.showBtn?.addEventListener("click",this.handleShow,{signal:t}),this.handleCounters(),this.addEventListener("change",this.handleCounters,{signal:t}),this.form?.addEventListener("submit",this.handleCounters,{signal:t}),this.form?.addEventListener("reset",this.handleReset,{signal:t})}disconnectedCallback(){this.controller.abort()}attributeChangedCallback(t,e,n){if("count"===t&&e!==n){const t=parseInt(n,10)>0;if(this.resetBtn?.toggleAttribute("disabled",!t),this.submitBtn?.toggleAttribute("disabled",!t),!this.allCounter)return;this.allCounter.textContent=t?n:""}}get items(){const t=this.querySelectorAll(".mx-filter-item");if(!t)throw new Error(`${this.localName} must contain a .mx-filter-item element.`);return this.entries=new Map,t.forEach((t=>{const e=t.querySelector("input, select")?.getAttribute("name");this.entries.set(e,{item:t,counter:t.querySelector("[data-counter]")})})),t}get details(){return this.querySelector("mx-accordionmobile > details")}get closeBtn(){return this.details?.querySelector("button[data-close]")}get form(){return this.querySelector("form")}get resetBtn(){return this.querySelector("button[type='reset']")}get submitBtn(){return this.querySelector("button[type='submit']")}get showBtn(){return this.querySelector("button[data-show]")}get allCounter(){return this.querySelector("[data-counters]")}}customElements.define("mx-filters",e);
1
+ import { A as Accordion } from "./chunks/Accordion-O-huO4At.js";
2
+ class AccordionMobile extends Accordion {
3
+ constructor() {
4
+ super();
5
+ this.handleBreakpoint = ({
6
+ matches
7
+ }) => {
8
+ if (!this.details) return;
9
+ this.details.toggleAttribute("open", !matches);
10
+ };
11
+ this.mq = this.getAttribute("mq") || "(max-width: 720px)";
12
+ }
13
+ connectedCallback() {
14
+ this.handleBreakpoint(this.breakpoint);
15
+ const { signal } = this.controller;
16
+ this.breakpoint.addEventListener("change", this.handleBreakpoint, {
17
+ signal
18
+ });
19
+ }
20
+ disconnectedCallback() {
21
+ this.controller.abort();
22
+ }
23
+ get breakpoint() {
24
+ return window.matchMedia(this.mq);
25
+ }
26
+ }
27
+ customElements.define("mx-accordionmobile", AccordionMobile);
28
+ class Filters extends HTMLElement {
29
+ constructor() {
30
+ super();
31
+ this.handleClose = (event) => {
32
+ if (!this.details) return;
33
+ this.details.open = false;
34
+ event.preventDefault();
35
+ };
36
+ this.handleShow = (event) => {
37
+ event.preventDefault();
38
+ const wrapper = this.showBtn.previousElementSibling;
39
+ wrapper.removeAttribute("hidden");
40
+ const lastVisible = wrapper.previousElementSibling;
41
+ const input = lastVisible.querySelector("input");
42
+ if (!input) return;
43
+ input.focus({ preventScroll: true });
44
+ setTimeout(() => {
45
+ this.showBtn.setAttribute("hidden", "");
46
+ }, 100);
47
+ };
48
+ this.handleReset = () => {
49
+ this.entries.forEach((entry, key) => {
50
+ this.entries.set(key, { ...entry, count: null });
51
+ if (entry.counter) entry.counter.textContent = "";
52
+ });
53
+ this.setAttribute("count", "0");
54
+ };
55
+ this.handleCounters = () => {
56
+ const formData = new FormData(this.form, this.submitBtn);
57
+ this.entries.forEach((entry, key) => {
58
+ const { length } = formData.getAll(key).filter(Boolean);
59
+ const count = length > 0 ? length : null;
60
+ this.entries.set(key, { ...entry, count });
61
+ if (entry.counter) entry.counter.textContent = count?.toString() || "";
62
+ });
63
+ const totalCount = [...this.entries].filter(([, item]) => item.count).length;
64
+ this.setAttribute("count", totalCount.toString());
65
+ };
66
+ this.internals_ = this.attachInternals();
67
+ this.controller = new AbortController();
68
+ }
69
+ static {
70
+ this.observedAttributes = ["count"];
71
+ }
72
+ connectedCallback() {
73
+ if (!this.items) return;
74
+ const { signal } = this.controller;
75
+ this.closeBtn?.addEventListener("click", this.handleClose, {
76
+ signal
77
+ });
78
+ this.showBtn?.addEventListener("click", this.handleShow, {
79
+ signal
80
+ });
81
+ this.handleCounters();
82
+ this.addEventListener("change", this.handleCounters, { signal });
83
+ this.form?.addEventListener("submit", this.handleCounters, { signal });
84
+ this.form?.addEventListener("reset", this.handleReset, { signal });
85
+ }
86
+ disconnectedCallback() {
87
+ this.controller.abort();
88
+ }
89
+ attributeChangedCallback(name, oldValue, newValue) {
90
+ if (name === "count" && oldValue !== newValue) {
91
+ const qualifier = parseInt(newValue, 10) > 0;
92
+ this.resetBtn?.toggleAttribute("disabled", !qualifier);
93
+ this.submitBtn?.toggleAttribute("disabled", !qualifier);
94
+ if (!this.allCounter) return;
95
+ this.allCounter.textContent = qualifier ? newValue : "";
96
+ }
97
+ }
98
+ get items() {
99
+ const items = this.querySelectorAll(".mx-filter-item");
100
+ if (!items) {
101
+ throw new Error(
102
+ `${this.localName} must contain a .mx-filter-item element.`
103
+ );
104
+ }
105
+ this.entries = /* @__PURE__ */ new Map();
106
+ items.forEach((item) => {
107
+ const key = item.querySelector("input, select")?.getAttribute("name");
108
+ this.entries.set(key, {
109
+ item,
110
+ counter: item.querySelector("[data-counter]")
111
+ });
112
+ });
113
+ return items;
114
+ }
115
+ get details() {
116
+ return this.querySelector("mx-accordionmobile > details");
117
+ }
118
+ get closeBtn() {
119
+ return this.details?.querySelector("button[data-close]");
120
+ }
121
+ get form() {
122
+ return this.querySelector("form");
123
+ }
124
+ get resetBtn() {
125
+ return this.querySelector("button[type='reset']");
126
+ }
127
+ get submitBtn() {
128
+ return this.querySelector("button[type='submit']");
129
+ }
130
+ get showBtn() {
131
+ return this.querySelector("button[data-show]");
132
+ }
133
+ get allCounter() {
134
+ return this.querySelector("[data-counters]");
135
+ }
136
+ }
137
+ customElements.define("mx-filters", Filters);
138
+ //# sourceMappingURL=filters.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.entry.js","sources":["../../src/Component/Accordion/Elements/AccordionMobile.ts","../../src/Component/Filters/Elements/Filters.ts"],"sourcesContent":["/**\n * AccordionMobile\n * @file Support a mobile only <details> element, that opens at a breakpoint.\n */\n\nimport Accordion from \"./Accordion\"\n\nexport default class AccordionMobile extends Accordion {\n mq: string\n toggleAttribute!: Element[\"toggleAttribute\"]\n\n constructor() {\n super()\n this.mq = this.getAttribute(\"mq\") || \"(max-width: 720px)\"\n }\n\n connectedCallback(): void {\n this.handleBreakpoint(this.breakpoint)\n const { signal }: AbortController = this.controller\n this.breakpoint.addEventListener(\"change\", this.handleBreakpoint, {\n signal,\n })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n }\n\n handleBreakpoint = ({\n matches,\n }: MediaQueryList | MediaQueryListEvent): void => {\n if (!this.details) return\n this.details.toggleAttribute(\"open\", !matches)\n }\n\n get breakpoint(): MediaQueryList {\n return window.matchMedia(this.mq)\n }\n}\n\ncustomElements.define(\"mx-accordionmobile\", AccordionMobile)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-accordionmobile\": AccordionMobile\n }\n}\n","/**\n * Filters\n * @file Support filter count elements and closing the \"right\" variant on mobile..\n */\n\nimport \"../../Accordion/Elements/Accordion\"\nimport \"../../Accordion/Elements/AccordionMobile\"\n\ntype EntryType = {\n item: HTMLElement\n counter?: HTMLSpanElement\n count?: number\n}\n\nexport default class Filters extends HTMLElement {\n internals_: ElementInternals\n controller: AbortController\n entries?: Map<string, EntryType>\n\n static observedAttributes = [\"count\"]\n\n constructor() {\n super()\n this.internals_ = this.attachInternals()\n this.controller = new AbortController()\n }\n\n connectedCallback(): void {\n if (!this.items) return\n\n const { signal }: AbortController = this.controller\n this.closeBtn?.addEventListener(\"click\", this.handleClose, {\n signal,\n })\n this.showBtn?.addEventListener(\"click\", this.handleShow, {\n signal,\n })\n\n this.handleCounters()\n this.addEventListener(\"change\", this.handleCounters, { signal })\n this.form?.addEventListener(\"submit\", this.handleCounters, { signal })\n this.form?.addEventListener(\"reset\", this.handleReset, { signal })\n }\n\n disconnectedCallback(): void {\n this.controller.abort()\n }\n\n attributeChangedCallback(\n name: string,\n oldValue: string,\n newValue: string,\n ): void {\n if (name === \"count\" && oldValue !== newValue) {\n const qualifier = parseInt(newValue, 10) > 0\n this.resetBtn?.toggleAttribute(\"disabled\", !qualifier)\n this.submitBtn?.toggleAttribute(\"disabled\", !qualifier)\n if (!this.allCounter) return\n this.allCounter.textContent = qualifier ? newValue : \"\"\n }\n }\n\n handleClose = (event: MouseEvent): void => {\n if (!this.details) return\n this.details.open = false\n event.preventDefault()\n }\n\n handleShow = (event: MouseEvent): void => {\n event.preventDefault()\n const wrapper = this.showBtn.previousElementSibling\n wrapper.removeAttribute(\"hidden\")\n const lastVisible = wrapper.previousElementSibling\n const input = lastVisible.querySelector(\"input\")\n if (!input) return\n input.focus({ preventScroll: true })\n setTimeout(() => {\n this.showBtn.setAttribute(\"hidden\", \"\")\n }, 100)\n }\n\n handleReset = (): void => {\n this.entries.forEach((entry, key): void => {\n this.entries.set(key, { ...entry, count: null })\n if (entry.counter) entry.counter.textContent = \"\"\n })\n this.setAttribute(\"count\", \"0\")\n }\n\n handleCounters = (): void => {\n const formData = new FormData(this.form, this.submitBtn)\n this.entries.forEach((entry, key): void => {\n const { length } = formData.getAll(key).filter(Boolean)\n const count = length > 0 ? length : null\n this.entries.set(key, { ...entry, count })\n if (entry.counter) entry.counter.textContent = count?.toString() || \"\"\n })\n\n const totalCount = [...this.entries].filter(([, item]) => item.count).length\n this.setAttribute(\"count\", totalCount.toString())\n }\n\n get items(): NodeListOf<HTMLElement> | null {\n const items: NodeListOf<HTMLElement> =\n this.querySelectorAll(\".mx-filter-item\")\n if (!items) {\n throw new Error(\n `${this.localName} must contain a .mx-filter-item element.`,\n )\n }\n this.entries = new Map()\n items.forEach(item => {\n const key = item.querySelector(\"input, select\")?.getAttribute(\"name\")\n this.entries.set(key, {\n item,\n counter: item.querySelector(\"[data-counter]\"),\n })\n })\n return items\n }\n\n get details(): HTMLDetailsElement | null {\n return this.querySelector(\"mx-accordionmobile > details\")\n }\n\n get closeBtn(): HTMLButtonElement | null {\n return this.details?.querySelector(\"button[data-close]\")\n }\n\n get form(): HTMLFormElement | null {\n return this.querySelector(\"form\")\n }\n\n get resetBtn(): HTMLButtonElement | null {\n return this.querySelector(\"button[type='reset']\")\n }\n\n get submitBtn(): HTMLButtonElement | null {\n return this.querySelector(\"button[type='submit']\")\n }\n\n get showBtn(): HTMLButtonElement | null {\n return this.querySelector(\"button[data-show]\")\n }\n\n get allCounter(): HTMLSpanElement | null {\n return this.querySelector(\"[data-counters]\")\n }\n}\n\ncustomElements.define(\"mx-filters\", Filters)\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"mx-filters\": Filters\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1,141 @@
1
- @layer design-system.layouts{.mx-footer{position:sticky;inset-block-start:100vh}.mx-footer__inner{display:grid;grid-template-areas:"brand" "social" "navigation" "copyright" "links"}@media (min-width: 720px){.mx-footer__inner{grid-template-areas:"brand navigation" "social navigation" "copyright links";gap:0}}.mx-footer__inner:has(.mx-footer__aoc){grid-template-areas:"aoc" "brand" "social" "navigation" "copyright" "links"}@media (min-width: 720px){.mx-footer__inner:has(.mx-footer__aoc){grid-template-areas:"aoc aoc" "brand navigation" "social navigation" "copyright links"}}.mx-footer__inner .mx-logo{grid-area:brand;margin-block-end:var(--gap)}.mx-footer__inner .mx-social-links{grid-area:social;align-self:end;display:flex;gap:var(--spacing-xxxs)}.mx-footer__inner .mx-footer__copyright{grid-area:copyright;align-self:end}:is(.mx-footer__inner .mx-footer__copyright):not(:first-child){padding-block-start:var(--spacing-s);margin-block-start:var(--gap)}@media (min-width: 720px){:is(.mx-footer__inner .mx-footer__copyright):not(:first-child)+.mx-footer__links{padding-block-start:var(--spacing-s)}}.mx-footer__inner .mx-footer__links{grid-area:links;align-self:end}@media (min-width: 720px){.mx-footer__inner .mx-footer__links{justify-content:end}}:is(.mx-footer__inner .mx-footer__links):not(:first-child){margin-block-start:var(--gap)}.mx-footer__aoc{grid-area:aoc;padding-block-end:var(--footer-row-gap, var(--spacing-xxl));margin-block-end:var(--gap);text-align:center}.mx-nav--footer{grid-area:navigation;margin-block:var(--spacing-xxxl) var(--spacing-l)}@media (min-width: 720px){.mx-nav--footer{justify-self:end;margin-block:0}}.mx-nav--footer:not(:has(.mx-nav__level-2)) ul{flex-flow:row wrap;align-items:center;gap:var(--spacing-l) var(--spacing-xxxl)}.mx-nav--footer:has(.mx-nav__level-2) ul{display:grid}.mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1{gap:var(--spacing-l) var(--spacing-xxxl);grid-template-columns:1fr 1fr}@media (min-width: 720px){.mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1{grid-template-columns:1fr 1fr 1fr}}:is(.mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1)>li>a{display:inline-block;margin-block-end:var(--spacing-l);font-weight:var(--font-weight-bold)}.mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-2{gap:var(--spacing-xs)}.mx-nav--footer .mx-nav__toggle{display:none}}@media print{.mx-footer{display:none}}
1
+ /**
2
+ * Global Footer
3
+ */
4
+
5
+ @layer design-system.layouts {
6
+ .mx-footer {
7
+ position: sticky;
8
+ inset-block-start: 100vh;
9
+ }
10
+
11
+ .mx-footer__inner {
12
+ display: grid;
13
+ grid-template-areas: "brand" "social" "navigation" "copyright" "links";
14
+ }
15
+
16
+ @media (min-width: 720px) {
17
+
18
+ .mx-footer__inner {
19
+ grid-template-areas: "brand navigation" "social navigation" "copyright links";
20
+ gap: 0;
21
+ }
22
+ }
23
+
24
+ .mx-footer__inner:has(.mx-footer__aoc) {
25
+ grid-template-areas: "aoc" "brand" "social" "navigation" "copyright" "links";
26
+ }
27
+
28
+ @media (min-width: 720px) {
29
+
30
+ .mx-footer__inner:has(.mx-footer__aoc) {
31
+ grid-template-areas: "aoc aoc" "brand navigation" "social navigation" "copyright links";
32
+ }
33
+ }
34
+
35
+ .mx-footer__inner .mx-logo {
36
+ grid-area: brand;
37
+ margin-block-end: var(--gap);
38
+ }
39
+
40
+ .mx-footer__inner .mx-social-links {
41
+ grid-area: social;
42
+ align-self: end;
43
+ display: flex;
44
+ gap: var(--spacing-xxxs);
45
+ }
46
+
47
+ .mx-footer__inner .mx-footer__copyright {
48
+ grid-area: copyright;
49
+ align-self: end;
50
+ }
51
+
52
+ :is(.mx-footer__inner .mx-footer__copyright):not(:first-child) {
53
+ padding-block-start: var(--spacing-s);
54
+ margin-block-start: var(--gap);
55
+ }
56
+ @media (min-width: 720px) {
57
+
58
+ :is(.mx-footer__inner .mx-footer__copyright):not(:first-child) + .mx-footer__links {
59
+ padding-block-start: var(--spacing-s);
60
+ }
61
+ }
62
+
63
+ .mx-footer__inner .mx-footer__links {
64
+ grid-area: links;
65
+ align-self: end;
66
+ }
67
+
68
+ @media (min-width: 720px) {
69
+
70
+ .mx-footer__inner .mx-footer__links {
71
+ justify-content: end;
72
+ }
73
+ }
74
+
75
+ :is(.mx-footer__inner .mx-footer__links):not(:first-child) {
76
+ margin-block-start: var(--gap);
77
+ }
78
+
79
+ .mx-footer__aoc {
80
+ grid-area: aoc;
81
+ padding-block-end: var(--footer-row-gap, var(--spacing-xxl));
82
+ margin-block-end: var(--gap);
83
+ text-align: center;
84
+ }
85
+
86
+ .mx-nav--footer {
87
+ grid-area: navigation;
88
+ margin-block: var(--spacing-xxxl) var(--spacing-l);
89
+ }
90
+
91
+ @media (min-width: 720px) {
92
+
93
+ .mx-nav--footer {
94
+ justify-self: end;
95
+ margin-block: 0;
96
+ }
97
+ }
98
+
99
+ .mx-nav--footer:not(:has(.mx-nav__level-2)) ul {
100
+ flex-flow: row wrap;
101
+ align-items: center;
102
+ gap: var(--spacing-l) var(--spacing-xxxl);
103
+ }
104
+ .mx-nav--footer:has(.mx-nav__level-2) ul {
105
+ display: grid;
106
+ }
107
+
108
+ .mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1 {
109
+ gap: var(--spacing-l) var(--spacing-xxxl);
110
+ grid-template-columns: 1fr 1fr;
111
+ }
112
+
113
+ @media (min-width: 720px) {
114
+
115
+ .mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1 {
116
+ grid-template-columns: 1fr 1fr 1fr;
117
+ }
118
+ }
119
+
120
+ :is(.mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-1) > li > a {
121
+ display: inline-block;
122
+ margin-block-end: var(--spacing-l);
123
+ font-weight: var(--font-weight-bold);
124
+ }
125
+
126
+ .mx-nav--footer:has(.mx-nav__level-2) .mx-nav__level-2 {
127
+ gap: var(--spacing-xs);
128
+ }
129
+
130
+ .mx-nav--footer .mx-nav__toggle {
131
+ display: none;
132
+ }
133
+ }
134
+
135
+ @media print {
136
+ .mx-footer {
137
+ display: none;
138
+ }
139
+ }
140
+
141
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQix3QkFBd0I7RUFDMUI7O0VBRUE7SUFDRSxhQUFhO0lBQ2Isc0VBQXNFO0VBdUR4RTs7SUFyREU7O0VBSkY7TUFLSSw2RUFBNkU7TUFDN0UsTUFBTTtFQW1EVjtJQWxERTs7SUFFQTtNQUNFLDRFQUE0RTtJQUs5RTs7TUFIRTs7SUFIRjtRQUlJLHVGQUF1RjtJQUUzRjtNQURFOztJQUdGO01BQ0UsZ0JBQWdCO01BQ2hCLDRCQUE0QjtJQUM5Qjs7SUFFQTtNQUNFLGlCQUFpQjtNQUNqQixlQUFlO01BQ2YsYUFBYTtNQUNiLHdCQUF3QjtJQUMxQjs7SUFFQTtNQUNFLG9CQUFvQjtNQUNwQixlQUFlO0lBWWpCOztNQVZFO1FBQ0UscUNBQXFDO1FBQ3JDLDhCQUE4QjtNQU9oQztVQUpJOztRQURGO1lBRUkscUNBQXFDO1FBRXpDO1VBREU7O0lBS047TUFDRSxnQkFBZ0I7TUFDaEIsZUFBZTtJQVNqQjs7TUFQRTs7SUFKRjtRQUtJLG9CQUFvQjtJQU14QjtNQUxFOztNQUVBO1FBQ0UsOEJBQThCO01BQ2hDOztFQUlKO0lBQ0UsY0FBYztJQUNkLDREQUE0RDtJQUM1RCw0QkFBNEI7SUFDNUIsa0JBQWtCO0VBQ3BCOztFQUVBO0lBQ0UscUJBQXFCO0lBQ3JCLGtEQUFrRDtFQXlDcEQ7O0lBdkNFOztFQUpGO01BS0ksaUJBQWlCO01BQ2pCLGVBQWU7RUFxQ25CO0lBcENFOztJQUVBO01BQ0UsbUJBQW1CO01BQ25CLG1CQUFtQjtNQUNuQix5Q0FBeUM7SUFDM0M7TUFHRTtRQUNFLGFBQWE7TUFDZjs7TUFFQTtRQUNFLHlDQUF5QztRQUN6Qyw4QkFBOEI7TUFXaEM7O1FBVEU7O01BSkY7VUFLSSxrQ0FBa0M7TUFRdEM7UUFQRTs7UUFFQTtVQUNFLHFCQUFxQjtVQUNyQixrQ0FBa0M7VUFDbEMsb0NBQW9DO1FBQ3RDOztNQUdGO1FBQ0Usc0JBQXNCO01BQ3hCOztJQUdGO01BQ0UsYUFBYTtJQUNmO0FBRUo7O0FBRUE7RUFDRTtJQUNFLGFBQWE7RUFDZjtBQUNGIiwiZmlsZSI6ImZvb3Rlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdsb2JhbCBGb290ZXJcbiAqL1xuXG5AbGF5ZXIgZGVzaWduLXN5c3RlbS5sYXlvdXRzIHtcbiAgLm14LWZvb3RlciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMTAwdmg7XG4gIH1cblxuICAubXgtZm9vdGVyX19pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJyYW5kXCIgXCJzb2NpYWxcIiBcIm5hdmlnYXRpb25cIiBcImNvcHlyaWdodFwiIFwibGlua3NcIjtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiYnJhbmQgbmF2aWdhdGlvblwiIFwic29jaWFsIG5hdmlnYXRpb25cIiBcImNvcHlyaWdodCBsaW5rc1wiO1xuICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgICY6aGFzKC5teC1mb290ZXJfX2FvYykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJhb2NcIiBcImJyYW5kXCIgXCJzb2NpYWxcIiBcIm5hdmlnYXRpb25cIiBcImNvcHlyaWdodFwiIFwibGlua3NcIjtcblxuICAgICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImFvYyBhb2NcIiBcImJyYW5kIG5hdmlnYXRpb25cIiBcInNvY2lhbCBuYXZpZ2F0aW9uXCIgXCJjb3B5cmlnaHQgbGlua3NcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5teC1sb2dvIHtcbiAgICAgIGdyaWQtYXJlYTogYnJhbmQ7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1nYXApO1xuICAgIH1cblxuICAgICYgLm14LXNvY2lhbC1saW5rcyB7XG4gICAgICBncmlkLWFyZWE6IHNvY2lhbDtcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IHZhcigtLXNwYWNpbmcteHh4cyk7XG4gICAgfVxuXG4gICAgJiAubXgtZm9vdGVyX19jb3B5cmlnaHQge1xuICAgICAgZ3JpZC1hcmVhOiBjb3B5cmlnaHQ7XG4gICAgICBhbGlnbi1zZWxmOiBlbmQ7XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWdhcCk7XG5cbiAgICAgICAgJiArIC5teC1mb290ZXJfX2xpbmtzIHtcbiAgICAgICAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1zcGFjaW5nLXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LWZvb3Rlcl9fbGlua3Mge1xuICAgICAgZ3JpZC1hcmVhOiBsaW5rcztcbiAgICAgIGFsaWduLXNlbGY6IGVuZDtcblxuICAgICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tZ2FwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubXgtZm9vdGVyX19hb2Mge1xuICAgIGdyaWQtYXJlYTogYW9jO1xuICAgIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1mb290ZXItcm93LWdhcCwgdmFyKC0tc3BhY2luZy14eGwpKTtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1nYXApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5teC1uYXYtLWZvb3RlciB7XG4gICAgZ3JpZC1hcmVhOiBuYXZpZ2F0aW9uO1xuICAgIG1hcmdpbi1ibG9jazogdmFyKC0tc3BhY2luZy14eHhsKSB2YXIoLS1zcGFjaW5nLWwpO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICBtYXJnaW4tYmxvY2s6IDA7XG4gICAgfVxuXG4gICAgJjpub3QoOmhhcygubXgtbmF2X19sZXZlbC0yKSkgdWwge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IHZhcigtLXNwYWNpbmctbCkgdmFyKC0tc3BhY2luZy14eHhsKTtcbiAgICB9XG5cbiAgICAmOmhhcygubXgtbmF2X19sZXZlbC0yKSB7XG4gICAgICAmIHVsIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIH1cblxuICAgICAgJiAubXgtbmF2X19sZXZlbC0xIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjaW5nLWwpIHZhcigtLXNwYWNpbmcteHh4bCk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAgICAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYgPiBsaSA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1zcGFjaW5nLWwpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIC5teC1uYXZfX2xldmVsLTIge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNpbmcteHMpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLm14LW5hdl9fdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC5teC1mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiJdfQ== */