@lmvz-ds/components 0.15.2 → 0.17.0

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 (142) hide show
  1. package/dist/cjs/{Effect-CpZhfb0D.js → Effect-DdYOHaR4.js} +121 -83
  2. package/dist/cjs/{aria-loader-B7b45RMv.js → aria-loader-BRxRUIyi.js} +45 -10
  3. package/dist/cjs/{assets-BnJmIx_h.js → assets-OvQ-WUwR.js} +2 -2
  4. package/dist/cjs/{component-CRc6eHcV.js → component-Csg9MtNK.js} +4 -2
  5. package/dist/cjs/{icons-Brr4vqiE.js → icons-EHBLbidD.js} +2 -2
  6. package/dist/cjs/{index-QRnWYctw.js → index-BBqtydE-.js} +1 -1
  7. package/dist/cjs/index-Bp6Dd2i1.js +94 -0
  8. package/dist/cjs/{index-9ZJx0550.js → index-CH-YLRgg.js} +1 -1
  9. package/dist/cjs/index.cjs.js +5 -5
  10. package/dist/cjs/lmvz-action.cjs.entry.js +2 -2
  11. package/dist/cjs/lmvz-button.cjs.entry.js +73 -0
  12. package/dist/cjs/lmvz-card.cjs.entry.js +3 -3
  13. package/dist/cjs/lmvz-chip.cjs.entry.js +2 -2
  14. package/dist/cjs/lmvz-components.cjs.js +3 -3
  15. package/dist/cjs/{lmvz-header.cjs.entry.js → lmvz-header_2.cjs.entry.js} +24 -15
  16. package/dist/cjs/lmvz-icon.cjs.entry.js +10 -10
  17. package/dist/cjs/lmvz-input.cjs.entry.js +183 -0
  18. package/dist/cjs/lmvz-menuitem.cjs.entry.js +7 -5
  19. package/dist/cjs/lmvz-select.cjs.entry.js +71 -0
  20. package/dist/cjs/loader.cjs.js +2 -2
  21. package/dist/cjs/{reactive-controller-host-Ai9l4S9S.js → reactive-controller-host-vy1TIIXv.js} +2 -2
  22. package/dist/collection/collection-manifest.json +14 -2
  23. package/dist/collection/components/lmvz-action/lmvz-action.js +1 -1
  24. package/dist/collection/components/lmvz-button/lmvz-button.css +2 -24
  25. package/dist/collection/components/lmvz-button/lmvz-button.js +2 -2
  26. package/dist/collection/components/lmvz-card/lmvz-card.css +2 -24
  27. package/dist/collection/components/lmvz-card/lmvz-card.js +3 -3
  28. package/dist/collection/components/lmvz-chip/lmvz-chip.js +2 -2
  29. package/dist/collection/components/lmvz-header/lmvz-header.js +12 -8
  30. package/dist/collection/components/lmvz-icon/lmvz-icon.js +7 -7
  31. package/dist/collection/components/lmvz-input/lmvz-input.css +2 -24
  32. package/dist/collection/components/lmvz-input/lmvz-input.js +31 -27
  33. package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.css +2 -24
  34. package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.js +4 -2
  35. package/dist/collection/components/lmvz-select/lmvz-select.css +3 -25
  36. package/dist/collection/components/lmvz-select/lmvz-select.js +4 -4
  37. package/dist/collection/integration/header-integration.js +3 -3
  38. package/dist/collection/utils/aria/list-keyboard-controller.js +6 -4
  39. package/dist/collection/utils/component.js +6 -4
  40. package/dist/components/index.js +1 -1
  41. package/dist/components/lmvz-action.js +1 -1
  42. package/dist/components/lmvz-button.js +1 -1
  43. package/dist/components/lmvz-card.js +1 -1
  44. package/dist/components/lmvz-chip.js +1 -1
  45. package/dist/components/lmvz-header.js +1 -1
  46. package/dist/components/lmvz-icon.js +1 -1
  47. package/dist/components/lmvz-input.js +1 -1
  48. package/dist/components/lmvz-menuitem.js +1 -1
  49. package/dist/components/lmvz-select.js +1 -1
  50. package/dist/components/p-BsHYIl56.js +1 -0
  51. package/dist/components/{p-DcMNH3fv.js → p-CKtksB0G.js} +1 -1
  52. package/dist/components/{p-B3JVFwO1.js → p-DQEkWkMh.js} +1 -1
  53. package/dist/components/p-GKEnURpp.js +1 -0
  54. package/dist/components/{p-DK2hpvEW.js → p-vIq2biqy.js} +1 -1
  55. package/dist/esm/{Effect-DyamyJqO.js → Effect-9SROYpxM.js} +121 -83
  56. package/dist/esm/{aria-loader-Ddn7Qz_6.js → aria-loader-JxXwTAe5.js} +45 -10
  57. package/dist/esm/{assets-CvV1KMMV.js → assets-CNHv_WMG.js} +1 -1
  58. package/dist/esm/{component-DpoTUPzl.js → component-DIrAQ4IB.js} +4 -2
  59. package/dist/esm/{icons-C69Um2xB.js → icons-B255FOe4.js} +2 -2
  60. package/dist/esm/{index-CekEw3_K.js → index-BW1YMEA3.js} +1 -1
  61. package/dist/esm/index-BfTCfPZ1.js +92 -0
  62. package/dist/esm/{index-smGPjoDX.js → index-CQb-mBBB.js} +1 -1
  63. package/dist/esm/index.js +5 -5
  64. package/dist/esm/lmvz-action.entry.js +2 -2
  65. package/dist/esm/lmvz-button.entry.js +71 -0
  66. package/dist/esm/lmvz-card.entry.js +3 -3
  67. package/dist/esm/lmvz-chip.entry.js +2 -2
  68. package/dist/esm/lmvz-components.js +4 -4
  69. package/dist/esm/{lmvz-header.entry.js → lmvz-header_2.entry.js} +23 -15
  70. package/dist/esm/lmvz-icon.entry.js +10 -10
  71. package/dist/esm/lmvz-input.entry.js +181 -0
  72. package/dist/esm/lmvz-menuitem.entry.js +7 -5
  73. package/dist/esm/lmvz-select.entry.js +69 -0
  74. package/dist/esm/loader.js +3 -3
  75. package/dist/esm/{reactive-controller-host-CdAJ3t-B.js → reactive-controller-host-OhKYwMvP.js} +2 -2
  76. package/dist/ext-libs.d.ts +1 -0
  77. package/dist/lmvz-components/index.esm.js +1 -1
  78. package/dist/lmvz-components/lmvz-components.esm.js +1 -1
  79. package/dist/lmvz-components/p-150ecfb6.entry.js +1 -0
  80. package/dist/lmvz-components/p-22f67eff.entry.js +1 -0
  81. package/dist/lmvz-components/p-4530f088.entry.js +1 -0
  82. package/dist/lmvz-components/p-47d7ed0e.entry.js +1 -0
  83. package/dist/lmvz-components/p-5c3f1404.entry.js +1 -0
  84. package/dist/lmvz-components/p-8d51e396.entry.js +1 -0
  85. package/dist/lmvz-components/p-9SROYpxM.js +1 -0
  86. package/dist/lmvz-components/p-BfTCfPZ1.js +6 -0
  87. package/dist/lmvz-components/p-Bx29-tJt.js +1 -0
  88. package/dist/lmvz-components/{p-B7KSylv_.js → p-Cp76bcGb.js} +1 -1
  89. package/dist/lmvz-components/{p-cM67HC0Z.js → p-Cp7cp10e.js} +1 -1
  90. package/dist/lmvz-components/{p-DpoTUPzl.js → p-DIrAQ4IB.js} +1 -1
  91. package/dist/lmvz-components/{p-D7GrtdQF.js → p-DyO6wO4l.js} +1 -1
  92. package/dist/lmvz-components/p-b8926640.entry.js +1 -0
  93. package/dist/lmvz-components/p-b9d1953f.entry.js +1 -0
  94. package/dist/lmvz-components/p-d9c3f542.entry.js +1 -0
  95. package/dist/lmvz-components/{p-BEoSvNlI.js → p-i2508Ct1.js} +1 -1
  96. package/dist/manifest.json +150 -66
  97. package/dist/stencil.config.base.js +44 -0
  98. package/dist/stencil.config.dev.js +21 -0
  99. package/dist/stencil.config.integration.js +26 -0
  100. package/dist/stencil.config.js +15 -0
  101. package/dist/stencil.config.prod.js +29 -0
  102. package/dist/types/components/lmvz-action/lmvz-action.d.ts +1 -1
  103. package/dist/types/components/lmvz-button/lmvz-button.d.ts +2 -2
  104. package/dist/types/components/lmvz-card/lmvz-card.d.ts +1 -1
  105. package/dist/types/components/lmvz-header/lmvz-header.d.ts +3 -3
  106. package/dist/types/components/lmvz-icon/lmvz-icon.d.ts +4 -4
  107. package/dist/types/components/lmvz-input/lmvz-input.d.ts +3 -3
  108. package/dist/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +3 -3
  109. package/dist/types/components/lmvz-select/lmvz-select.d.ts +1 -1
  110. package/dist/types/components.d.ts +3 -3
  111. package/dist/types/index.d.ts +1 -1
  112. package/dist/types/opt/atlassian/pipelines/agent/build/packages/components/.stencil/stencil.config.base.d.ts +2 -0
  113. package/dist/types/opt/atlassian/pipelines/agent/build/packages/components/.stencil/stencil.config.d.ts +2 -0
  114. package/dist/types/opt/atlassian/pipelines/agent/build/packages/components/.stencil/stencil.config.dev.d.ts +2 -0
  115. package/dist/types/opt/atlassian/pipelines/agent/build/packages/components/.stencil/stencil.config.integration.d.ts +2 -0
  116. package/dist/types/opt/atlassian/pipelines/agent/build/packages/components/.stencil/stencil.config.prod.d.ts +2 -0
  117. package/dist/types/utils/aria/aria-validation-controller.d.ts +1 -1
  118. package/dist/types/utils/aria/element-activation-controller.d.ts +1 -1
  119. package/dist/types/utils/component.d.ts +2 -2
  120. package/dist/types/utils/http.d.ts +3 -3
  121. package/dist/types/utils/validation/svg.d.ts +1 -1
  122. package/hydrate/index.js +908 -441
  123. package/hydrate/index.mjs +908 -441
  124. package/package.json +33 -73
  125. package/readme.md +3 -3
  126. package/dist/cjs/lmvz-button_3.cjs.entry.js +0 -399
  127. package/dist/collection/utils/typing.js +0 -1
  128. package/dist/components/p-CSRpdnrt.js +0 -1
  129. package/dist/components/p-DR19QMDG.js +0 -1
  130. package/dist/esm/lmvz-button_3.entry.js +0 -395
  131. package/dist/lmvz-components/p-70ca3319.entry.js +0 -1
  132. package/dist/lmvz-components/p-73648317.entry.js +0 -1
  133. package/dist/lmvz-components/p-8ed959da.entry.js +0 -1
  134. package/dist/lmvz-components/p-9526c364.entry.js +0 -1
  135. package/dist/lmvz-components/p-9faac8f3.entry.js +0 -1
  136. package/dist/lmvz-components/p-D7RHrBYK.js +0 -1
  137. package/dist/lmvz-components/p-DyamyJqO.js +0 -1
  138. package/dist/lmvz-components/p-d4b68381.entry.js +0 -1
  139. package/dist/lmvz-components/p-ea1a9d4a.entry.js +0 -6
  140. package/dist/types/utils/typing.d.ts +0 -3
  141. /package/dist/components/{p-BaPwpeMs.js → p-CahBdGGN.js} +0 -0
  142. /package/dist/lmvz-components/{p-smGPjoDX.js → p-CQb-mBBB.js} +0 -0
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CH-YLRgg.js');
4
+ var reactiveControllerHost = require('./reactive-controller-host-vy1TIIXv.js');
5
+ require('./aria-loader-BRxRUIyi.js');
6
+
7
+ const chevronDownSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjMzMzQgOC42NjY2M0wxMi4wMDAxIDE3TDMuNjY2NzUgOC42NjY2MyIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=';
8
+
9
+ const lmvzSelectCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } .sc-lmvz-select-h { display: block; font-family: var(--lmvz-global-font-family-default, Router); --lmvz-internal-select-floating-label-top-offset: 0.375rem; padding-top: var(--lmvz-internal-select-floating-label-top-offset); --lmvz-select-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-select-bg: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-select-bg-hover: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-select-text-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-select-label-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --lmvz-select-padding-x: var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-select-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-select-height: 40px; --lmvz-select-label-font-size: var(--lmvz-component-component-typography-body-sm-font-size, 0.75rem); --lmvz-select-label-top-offset: calc(var(--lmvz-internal-select-floating-label-top-offset) * -1); --lmvz-select-label-minimized-padding-x: 4px; --lmvz-select-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); --lmvz-select-helper-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --lmvz-select-focus-color: var(--lmvz-semantic-color-status-on-selected, #0e7ab4); --lmvz-select-error-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); } .select-wrapper.sc-lmvz-select { position: relative; height: var(--lmvz-select-height); } label.sc-lmvz-select { position: absolute; top: 50%; left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-label-color); line-height: normal; white-space: nowrap; pointer-events: none; z-index: 2; transform: translateY(-50%); transform-origin: left top; transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, padding 0.2s ease-out; } label.assistive-label.sc-lmvz-select { opacity: 0; padding: 0; } label.floating-label.sc-lmvz-select { top: var(--lmvz-select-label-top-offset); transform: translateY(0) scale(0.85); left: calc(var(--lmvz-select-padding-x) - 2px); background-color: var(--lmvz-select-bg); padding: 0 var(--lmvz-select-label-minimized-padding-x); opacity: 1; font-weight: 500; } label.sc-lmvz-select > span[aria-hidden='true'].sc-lmvz-select, div[aria-hidden='true'].sc-lmvz-select > span.sc-lmvz-select:first-child > span[aria-hidden='true'].sc-lmvz-select { color: var(--lmvz-select-error-color); margin-left: 2px; display: inline-block; line-height: 0; vertical-align: middle; } div[aria-hidden].sc-lmvz-select { display: flex; align-items: center; gap: var(--lmvz-select-gap); height: 100%; padding: 0 var(--lmvz-select-padding-x); border-radius: var(--lmvz-select-radius); background-color: var(--lmvz-select-bg); cursor: pointer; position: relative; z-index: 1; transition: background-color 0.15s ease; } .sc-lmvz-select-h:not([disabled]) .select-wrapper.sc-lmvz-select:hover div[aria-hidden].sc-lmvz-select { background-color: var(--lmvz-select-bg-hover); } .select-wrapper.sc-lmvz-select:focus-within div[aria-hidden].sc-lmvz-select { outline: 2px solid var(--lmvz-select-focus-color); outline-offset: 2px; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { flex: 1 0 0; font-size: var(--lmvz-component-component-typography-body-md-font-size, 0.875rem); font-weight: var(--lmvz-global-font-weight-500, 500); color: var(--lmvz-select-text-color); line-height: 1.4; letter-spacing: var(--lmvz-component-body-md-letter-spacing, 0); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:last-child { flex-shrink: 0; display: flex; align-items: center; justify-content: center; } img.sc-lmvz-select { display: block; width: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); height: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); } select.sc-lmvz-select { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; border: none; background: transparent; margin: 0; padding: 0; } [disabled].sc-lmvz-select-h .select-wrapper.sc-lmvz-select { opacity: var(--lmvz-select-disabled-opacity); pointer-events: none; cursor: not-allowed; } [role='status'].sc-lmvz-select { margin-top: 4px; padding-left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-helper-color); line-height: normal; }`;
10
+
11
+ let selectIdCounter = 0;
12
+ const LmvzSelect = class extends reactiveControllerHost.ReactiveControllerHost {
13
+ get el() { return index.getElement(this); }
14
+ get validationEl() {
15
+ return this.el;
16
+ }
17
+ selectId = `lmvz-select-${selectIdCounter++}`;
18
+ nativeSelectEl;
19
+ constructor(hostRef) {
20
+ super();
21
+ index.registerInstance(this, hostRef);
22
+ this.lmvzChange = index.createEvent(this, "lmvzChange");
23
+ this.addController(new reactiveControllerHost.AriaValidationController(this));
24
+ }
25
+ lmvzChange;
26
+ value;
27
+ label;
28
+ helperText;
29
+ disabled = false;
30
+ required = false;
31
+ name;
32
+ selectedLabel = '';
33
+ get hasValue() {
34
+ return Boolean(this.value);
35
+ }
36
+ componentDidLoad() {
37
+ this.syncSelectedLabel();
38
+ super.componentDidLoad();
39
+ }
40
+ handleValueChange(newValue) {
41
+ if (this.nativeSelectEl && this.nativeSelectEl.value !== (newValue ?? '')) {
42
+ this.nativeSelectEl.value = newValue ?? '';
43
+ }
44
+ this.syncSelectedLabel();
45
+ }
46
+ syncSelectedLabel() {
47
+ if (!this.nativeSelectEl)
48
+ return;
49
+ const idx = this.nativeSelectEl.selectedIndex;
50
+ this.selectedLabel = idx >= 0 ? (this.nativeSelectEl.options[idx]?.text ?? '') : '';
51
+ }
52
+ handleChange = (event) => {
53
+ const select = event.target;
54
+ this.value = select.value;
55
+ this.syncSelectedLabel();
56
+ this.lmvzChange.emit(select.value);
57
+ };
58
+ render() {
59
+ const hasValue = this.hasValue;
60
+ const shouldShowLabel = hasValue;
61
+ return (index.h(index.Host, { key: '7f4650d5971bb93dba48385df734e6b7a0b4f7eb' }, index.h("div", { key: '79d6234cd15f64c8bff787d715107e7e86145333', class: "select-wrapper" }, index.h("label", { key: '14d93469c6d309b68427ff7bfc2bd531c8f0ecf6', htmlFor: this.selectId, class: shouldShowLabel ? 'floating-label' : 'assistive-label' }, this.label, this.required && shouldShowLabel && index.h("span", { key: 'c8be809e09d768d6f73ccccdfbf0bf495869ac72', "aria-hidden": "true" }, " *")), index.h("div", { key: '1db5d44b44100342a4ca5feff648b61a0bdadb1a', "aria-hidden": "true" }, index.h("span", { key: '3fdc95aab9997a10f4ba42dabc3758aea0797a22' }, hasValue ? this.selectedLabel : this.label, this.required && !hasValue && index.h("span", { key: '11aef8194551059130b6be5351587219a1e80f00', "aria-hidden": "true" }, " *")), index.h("span", { key: '8fc52ff3e46d7b52d8d5069a74ebf7bb0d981081' }, index.h("img", { key: '129dd4038772eba9313e1e322866c70408f4e2ad', src: chevronDownSvg, alt: "" }))), index.h("select", { key: '6eb6cf496e60b3c1bd9556e596cbef34d4da5a09', id: this.selectId, ref: (el) => (this.nativeSelectEl = el), name: this.name, disabled: this.disabled, required: this.required, "aria-label": this.label, onChange: this.handleChange }, !hasValue && index.h("option", { key: '70d660e0bc7e4c127234ce77decf35d6fea7fe8d', value: "", disabled: true, selected: true, hidden: true }), index.h("slot", { key: 'e6cbc238c9c0cf8e8c31d0347a1f621272a94ca6' }))), this.helperText && index.h("div", { key: '432d405ee7338da46509ff207599b882a19ea44e', role: "status" }, this.helperText)));
62
+ }
63
+ static get watchers() { return {
64
+ "value": [{
65
+ "handleValueChange": 0
66
+ }]
67
+ }; }
68
+ };
69
+ LmvzSelect.style = lmvzSelectCss();
70
+
71
+ exports.lmvz_select = LmvzSelect;
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-9ZJx0550.js');
3
+ var index = require('./index-CH-YLRgg.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy([["lmvz-button_3.cjs",[[785,"lmvz-button",{"ti":[2562,"tabindex"],"scale":[513],"variant":[513],"disabled":[516],"type":[1],"form":[1]}],[838,"lmvz-input",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"placeholder":[1],"disabled":[516],"readonly":[516],"required":[516],"name":[1],"type":[1],"errorMessage":[1,"error-message"],"autocomplete":[1],"inputmode":[1],"autocorrect":[1],"autocapitalize":[1],"spellcheck":[4],"autofocus":[4],"minlength":[2],"maxlength":[2],"pattern":[1],"min":[8],"max":[8],"step":[8],"form":[1],"error":[6660],"nativeError":[32],"setValue":[64],"focusInput":[64],"blurInput":[64],"select":[64],"checkValidity":[64],"reportValidity":[64],"getInputElement":[64]},null,{"value":[{"handleValueChange":0}],"disabled":[{"handleDisabledChange":0}]}],[774,"lmvz-select",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"disabled":[516],"required":[516],"name":[1],"selectedLabel":[32]},null,{"value":[{"handleValueChange":0}]}]]],["lmvz-action.cjs",[[257,"lmvz-action"]]],["lmvz-card.cjs",[[774,"lmvz-card",{"cardTitle":[1,"card-title"],"imageUrl":[1,"image-url"],"description":[1],"primaryActionLabel":[1,"primary-action-label"]}]]],["lmvz-chip.cjs",[[513,"lmvz-chip",{"text":[1]}]]],["lmvz-header.cjs",[[769,"lmvz-header",{"role":[2561],"lmvzActiveNav":[1,"lmvz-active-nav"]},null,{"lmvzActiveNav":[{"handleActiveNavChange":0}]}]]],["lmvz-icon.cjs",[[514,"lmvz-icon",{"icon":[513],"weight":[513],"size":[513],"ariaLabel":[513,"aria-label"],"iconData":[32],"visible":[32]},null,{"icon":[{"loadIconPathData":0}]}]]],["lmvz-menuitem.cjs",[[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]]], options);
9
+ return index.bootstrapLazy([["lmvz-header_2.cjs",[[769,"lmvz-header",{"role":[2561],"lmvzActiveNav":[1,"lmvz-active-nav"]},null,{"lmvzActiveNav":[{"handleActiveNavChange":0}]}],[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-action.cjs",[[257,"lmvz-action"]]],["lmvz-button.cjs",[[785,"lmvz-button",{"ti":[2562,"tabindex"],"scale":[513],"variant":[513],"disabled":[516],"type":[1],"form":[1]}]]],["lmvz-card.cjs",[[774,"lmvz-card",{"cardTitle":[1,"card-title"],"imageUrl":[1,"image-url"],"description":[1],"primaryActionLabel":[1,"primary-action-label"]}]]],["lmvz-chip.cjs",[[513,"lmvz-chip",{"text":[1]}]]],["lmvz-icon.cjs",[[514,"lmvz-icon",{"icon":[513],"weight":[513],"size":[513],"ariaLabel":[513,"aria-label"],"iconData":[32],"visible":[32]},null,{"icon":[{"loadIconPathData":0}]}]]],["lmvz-input.cjs",[[838,"lmvz-input",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"placeholder":[1],"disabled":[516],"readonly":[516],"required":[516],"name":[1],"type":[1],"errorMessage":[1,"error-message"],"autocomplete":[1],"inputmode":[1],"autocorrect":[1],"autocapitalize":[1],"spellcheck":[4],"autofocus":[4],"minlength":[2],"maxlength":[2],"pattern":[1],"min":[8],"max":[8],"step":[8],"form":[1],"error":[6660],"nativeError":[32],"setValue":[64],"focusInput":[64],"blurInput":[64],"select":[64],"checkValidity":[64],"reportValidity":[64],"getInputElement":[64]},null,{"value":[{"handleValueChange":0}],"disabled":[{"handleDisabledChange":0}]}]]],["lmvz-menuitem.cjs",[[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-select.cjs",[[774,"lmvz-select",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"disabled":[516],"required":[516],"name":[1],"selectedLabel":[32]},null,{"value":[{"handleValueChange":0}]}]]]], options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var ariaLoader = require('./aria-loader-B7b45RMv.js');
4
- var index = require('./index-9ZJx0550.js');
3
+ var ariaLoader = require('./aria-loader-BRxRUIyi.js');
4
+ var index = require('./index-CH-YLRgg.js');
5
5
 
6
6
  class AriaValidationController {
7
7
  host;
@@ -14,9 +14,21 @@
14
14
  "mixins": [],
15
15
  "compiler": {
16
16
  "name": "@stencil/core",
17
- "version": "4.43.2",
17
+ "version": "4.43.3",
18
18
  "typescriptVersion": "5.8.3"
19
19
  },
20
20
  "collections": [],
21
- "bundles": []
21
+ "bundles": [
22
+ {
23
+ "components": [
24
+ "lmvz-menuitem"
25
+ ]
26
+ },
27
+ {
28
+ "components": [
29
+ "lmvz-header",
30
+ "lmvz-menuitem"
31
+ ]
32
+ }
33
+ ]
22
34
  }
@@ -5,7 +5,7 @@ export class LmvzAction {
5
5
  this.actionClick.emit(event);
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: '71303bfe6ac64a96edd21800ae5e8c43a3a38c23', onClick: this._onClick.bind(this) }, h("slot", { key: '94922fdfd355e7e4d1b78bedb80ae814c186b199' })));
8
+ return (h(Host, { key: '00da873d80f00dc57e5a0d60f2b58a6c505e41f1', onClick: this._onClick.bind(this) }, h("slot", { key: '7938b5e172ef2b027180aac801b0d9962cd68fa5' })));
9
9
  }
10
10
  static get is() { return "lmvz-action"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -1,29 +1,7 @@
1
1
 
2
- @layer /** */
3
- /**
4
- * reset: CSS resets for browser defaults or expectedly problematic 3rd party libraries
5
- */
6
- lmvz-ds.reset,
7
-
8
- /**
9
- * theme: tokens, typography, etc.
10
- */
11
- lmvz-ds.theme,
12
-
13
- /**
14
- * components: overrides for UI components and CSS-only component implementation
15
- * Design System components should append their styles into this layer at definition!
16
- */
17
- lmvz-ds.components,
18
-
19
- /**
20
- * overrides: utility classes, helpers, product- or application-specific styles.
21
- * Usually, you do not want to add DS util styles to a layer directly.
22
- * Only place those styles here, that are being exported as part of a theme.
23
- */
24
- lmvz-ds.overrides;
2
+ @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides;
25
3
  /**
26
- * This defines the order of our lmvz-ds' CSS layers.
4
+ * This defines the order of our lmvz-ds' CSS layers. See readme.md for details.
27
5
  * Important: Always import this file _before_ layering your own styles!
28
6
  */
29
7
  @layer lmvz-ds.theme {
@@ -57,7 +57,7 @@ export class LmvzButton extends ReactiveControllerHost {
57
57
  };
58
58
  render() {
59
59
  this.renderHiddenButton();
60
- return (h(Host, { key: '3f3eda78349322ce5160d7aac1290a73f0adcd4a', "aria-disabled": this.disabled ? 'true' : null }, h("button", { key: 'b132404d8d5f5bf0fa7e845b562c953c5ceec36c', ref: (e) => (this.validationEl = e), disabled: this.disabled, class: classNames(this.variant, { [this.scale ?? '']: !!this.scale, disabled: this.disabled }), ...this.inheritedAttributes }, h("slot", { key: 'ce63f7f1061ec9c3f10cbcfc67998ddbf3e04c3d' }))));
60
+ return (h(Host, { key: '9fb3bb6cc21e7d87fddb0313fd552e7070850881', "aria-disabled": this.disabled ? 'true' : null }, h("button", { key: '906117a1bb57fcc7e66a79be73959331066886be', ref: (e) => (this.validationEl = e), disabled: this.disabled, class: classNames(this.variant, { [this.scale ?? '']: !!this.scale, disabled: this.disabled }), ...this.inheritedAttributes }, h("slot", { key: '7028560eef75c978bea0ba3931100d4a6816ba37' }))));
61
61
  }
62
62
  static get is() { return "lmvz-button"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -202,7 +202,7 @@ export class LmvzButton extends ReactiveControllerHost {
202
202
  "mutable": false,
203
203
  "complexType": {
204
204
  "original": "FormRef",
205
- "resolved": "HTMLFormElement | string",
205
+ "resolved": "HTMLFormElement | string | undefined",
206
206
  "references": {
207
207
  "FormRef": {
208
208
  "location": "import",
@@ -1,29 +1,7 @@
1
1
 
2
- @layer /** */
3
- /**
4
- * reset: CSS resets for browser defaults or expectedly problematic 3rd party libraries
5
- */
6
- lmvz-ds.reset,
7
-
8
- /**
9
- * theme: tokens, typography, etc.
10
- */
11
- lmvz-ds.theme,
12
-
13
- /**
14
- * components: overrides for UI components and CSS-only component implementation
15
- * Design System components should append their styles into this layer at definition!
16
- */
17
- lmvz-ds.components,
18
-
19
- /**
20
- * overrides: utility classes, helpers, product- or application-specific styles.
21
- * Usually, you do not want to add DS util styles to a layer directly.
22
- * Only place those styles here, that are being exported as part of a theme.
23
- */
24
- lmvz-ds.overrides;
2
+ @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides;
25
3
  /**
26
- * This defines the order of our lmvz-ds' CSS layers.
4
+ * This defines the order of our lmvz-ds' CSS layers. See readme.md for details.
27
5
  * Important: Always import this file _before_ layering your own styles!
28
6
  */
29
7
  @layer lmvz-ds.theme {
@@ -19,7 +19,7 @@ export class LmvzCard {
19
19
  const imgStyle = {
20
20
  backgroundImage: `url(${this.imageUrl ?? this.fallbackImage})`,
21
21
  };
22
- return (h(Host, { key: 'ba2e8d9e25428c744da2470cbd677306c56b09ae', role: "article" }, h("div", { key: '54ff7545559a4b6fb00c94909717234f4dfedd7c', class: "top" }, h("div", { key: '7bff35f247b6e8aca9b6346103139daa65ca16a3', class: "image-wrapper", style: imgStyle }, h("div", { key: 'c2c3d21227175b9dc0a55c75294f6c21bc713a26', class: "chip-slot" }, h("slot", { key: '1a7002aab5fc3f9f698c3d1678f8819ea36f91d3', name: "chip" })))), h("div", { key: 'a313321abe4da83db4b2ba64fdefa28edde93d41', class: "bottom" }, h("header", { key: 'f5ba333fcaa59d5b4f61dee94aba4628f49db9d7' }, h("h2", { key: 'b7d9ad6944b136476703cde89f885b189583eef1', class: "title" }, this.cardTitle)), h("p", { key: '6594626904a4f9fbc53d5956b71bbdefe00add8c', class: "description" }, this.description), h("div", { key: 'd8bbfebeb572fcf6990160a0dba7c5ae8a5a7fc7', class: "actions" }, h("button", { key: '6311a97a18412f8fbf8eb33e8a0f7a17700e71c6', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), h("button", { key: '12033ad5018d100f84f0149d83dc965d8e5b2c66', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, h("span", { key: 'e11f8008542b4f7f70d1273bb31200c50d02aabb', class: "icon-placeholder" }, "..."))))));
22
+ return (h(Host, { key: 'fceb19eb0d7ad6c6aecfa6fbd5bb6425c7c3e312', role: "article" }, h("div", { key: '4cb516b5dee1f2f84f21984fa350f61fd83c771c', class: "top" }, h("div", { key: '713b2a3245d885a9b99f6c7d54a35053699c1be8', class: "image-wrapper", style: imgStyle }, h("div", { key: 'e8ea65e7f5d11a2335cab950d6bf02208d0b18a1', class: "chip-slot" }, h("slot", { key: 'e9a039742107fdf56216186ddcdf367c4432790b', name: "chip" })))), h("div", { key: '9549e46a1872e0edf298b79435d298aa1ae96a37', class: "bottom" }, h("header", { key: '3bbfb72ecec519d16380ae7e00da4b1ccb6f1cf3' }, h("h2", { key: 'f5a33e498893e61b407c10ab36c9a93b7eecf9f1', class: "title" }, this.cardTitle)), h("p", { key: '19709bb100d014369c836a5a7174772f2d095d2e', class: "description" }, this.description), h("div", { key: '06b5acab3c80cc91865f3aa39da32d42f470348e', class: "actions" }, h("button", { key: '4e954452ac9771359c881aa6b43f11e89e38aecf', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), h("button", { key: 'b6a682bf95eb26468c450bed494290565288a515', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, h("span", { key: '70a526d1fafd8b7051f6e7107b35d6f594e10d68', class: "icon-placeholder" }, "..."))))));
23
23
  }
24
24
  static get is() { return "lmvz-card"; }
25
25
  static get encapsulation() { return "scoped"; }
@@ -60,7 +60,7 @@ export class LmvzCard {
60
60
  "mutable": false,
61
61
  "complexType": {
62
62
  "original": "string",
63
- "resolved": "string",
63
+ "resolved": "string | undefined",
64
64
  "references": {}
65
65
  },
66
66
  "required": false,
@@ -79,7 +79,7 @@ export class LmvzCard {
79
79
  "mutable": false,
80
80
  "complexType": {
81
81
  "original": "string",
82
- "resolved": "string",
82
+ "resolved": "string | undefined",
83
83
  "references": {}
84
84
  },
85
85
  "required": false,
@@ -2,7 +2,7 @@ import { Host, h } from "@stencil/core";
2
2
  export class LmvzChip {
3
3
  text;
4
4
  render() {
5
- return h(Host, { key: 'b247f41d22bcf77998bf5a49669f1aa8d7fd3a63' }, this.text);
5
+ return h(Host, { key: '134d510fe3a04b989b0005bf31358149a9661cb2' }, this.text);
6
6
  }
7
7
  static get is() { return "lmvz-chip"; }
8
8
  static get encapsulation() { return "shadow"; }
@@ -26,7 +26,7 @@ export class LmvzChip {
26
26
  "resolved": "string",
27
27
  "references": {}
28
28
  },
29
- "required": false,
29
+ "required": true,
30
30
  "optional": false,
31
31
  "docs": {
32
32
  "tags": [],
@@ -13,10 +13,10 @@ export class LmvzHeader extends ReactiveControllerHost {
13
13
  secondaryNav;
14
14
  keyboardNavigationController = new ListKeyboardNavigationController(this);
15
15
  get primaryMenuitems() {
16
- return this.primarySlot.assignedElements({ flatten: false });
16
+ return this.primarySlot?.assignedElements({ flatten: false }) || [];
17
17
  }
18
18
  get secondaryMenuitems() {
19
- return this.secondarySlot.assignedElements({ flatten: true });
19
+ return this.secondarySlot?.assignedElements({ flatten: true }) || [];
20
20
  }
21
21
  get role() {
22
22
  return 'banner';
@@ -34,9 +34,9 @@ export class LmvzHeader extends ReactiveControllerHost {
34
34
  this.updateElementsActive();
35
35
  }
36
36
  componentDidLoad() {
37
- this.primarySlot.addEventListener('slotchange', this.handlePrimaryNavItemsChange.bind(this));
37
+ this.primarySlot?.addEventListener('slotchange', this.handlePrimaryNavItemsChange.bind(this));
38
38
  this.handlePrimaryNavItemsChange();
39
- this.secondarySlot.addEventListener('slotchange', this.handleSecondaryNavItemsChange.bind(this));
39
+ this.secondarySlot?.addEventListener('slotchange', this.handleSecondaryNavItemsChange.bind(this));
40
40
  super.componentDidLoad();
41
41
  }
42
42
  handlePrimaryNavItemsChange() {
@@ -64,14 +64,18 @@ export class LmvzHeader extends ReactiveControllerHost {
64
64
  }
65
65
  updateElementsActive() {
66
66
  const items = this.primaryMenuitems;
67
- let label;
67
+ if (!items.length)
68
+ return;
69
+ let label = '';
68
70
  items.forEach((el) => {
69
71
  const isActive = el.id === this.lmvzActiveNav;
70
72
  if (isActive)
71
73
  label = el.textContent || el.id;
72
74
  el.setAttribute('aria-expanded', isActive ? 'true' : 'false');
73
75
  });
74
- this.secondaryNav.setAttribute('aria-label', `Untermenü für ${label}`);
76
+ if (!label)
77
+ return;
78
+ this.secondaryNav?.setAttribute('aria-label', `Untermenü für ${label}`);
75
79
  }
76
80
  delegateFocus() {
77
81
  const firstFocusable = this.primaryMenuitems[0];
@@ -80,7 +84,7 @@ export class LmvzHeader extends ReactiveControllerHost {
80
84
  }
81
85
  }
82
86
  render() {
83
- return (h(Host, { key: '1ac6c66802a59061742f677e0c3ab2fb1b12363b', onFocus: this.delegateFocus.bind(this) }, h("div", { key: 'ea534c09323539a0df13cb00d0aec382d3c81dd8', class: "brand" }, h("slot", { key: 'b303a741a7d44869c4e53295ab13d606b5ed1d63', name: "brand" }, h("img", { key: '7fd47fa34f3404016be40c8bd49ea28fddd58a8a', id: "fallback-logo-lmvz", src: logo, alt: "Lehrmittelverlag Z\u00FCrich" }))), h("nav", { key: '8e4f9db8b85f3dbea452bb309ae55bc1fac16dcb', "aria-label": "Hauptnavigation" }, h("div", { key: '681c36337dcb3bc4e1833e602af4c642ab1c6acb', role: "menubar", class: "primary-menubar" }, h("slot", { key: '6298235a3421ab083943f25a93c239ae686b8a20', name: "nav-primary", ref: (el) => (this.primarySlot = el) }), h("div", { key: '64b02f2562779e5e412e5076c66d9fcd2a0bb6f5', role: "menu", id: "nav-secondary", class: "secondary-menubar", hidden: !this.lmvzActiveNav, ref: (el) => (this.secondaryNav = el) }, h("slot", { key: '6e0589f700073ba93dc15f5873ca61e03eba5975', name: this.secondarySlotName, ref: (el) => (this.secondarySlot = el) })))), h("div", { key: '50a84ddd9ed61f6c2a1fa32a91ccfdcfb1f3ae94', class: "actions" }, h("slot", { key: 'e57d76343a0f21666479e9a1d3ae4e94843b403e', name: "actions" }))));
87
+ return (h(Host, { key: '3189d1bd21fb5bd8f30b27cbfb6e49648b0e70c4', onFocus: this.delegateFocus.bind(this) }, h("div", { key: '57c27e85c0d6292f0c39a850bad5d59de4cf8743', class: "brand" }, h("slot", { key: '13ea794d470861e25dc249c3174d2a5f2ba25096', name: "brand" }, h("img", { key: '37bea67eea1a2971a7502f6e9a5a2a28d3eec114', id: "fallback-logo-lmvz", src: logo, alt: "Lehrmittelverlag Z\u00FCrich" }))), h("nav", { key: '59b1679357cd4dbef737f90f4b4ff5c80a4efa06', "aria-label": "Hauptnavigation" }, h("div", { key: '51ce71eed0f31ef4dbfbeb72dffed87797462487', role: "menubar", class: "primary-menubar" }, h("slot", { key: 'ac3357828b95a5aa6261c611612fb76f55bf92ee', name: "nav-primary", ref: (el) => (this.primarySlot = el) }), h("div", { key: 'b78f2ad43e03f40d65c69674b94a295e72366c8e', role: "menu", id: "nav-secondary", class: "secondary-menubar", hidden: !this.lmvzActiveNav, ref: (el) => (this.secondaryNav = el) }, h("slot", { key: 'd2cc74ff24cf10f0f958cea986149f3f03054291', name: this.secondarySlotName, ref: (el) => (this.secondarySlot = el) })))), h("div", { key: 'cc6e0c0a32e51d3fa0d7f1865023f03434458217', class: "actions" }, h("slot", { key: '8504df5d1970ac856a237cbb0dcce5a2707b7cab', name: "actions" }))));
84
88
  }
85
89
  static get is() { return "lmvz-header"; }
86
90
  static get encapsulation() { return "shadow"; }
@@ -121,7 +125,7 @@ export class LmvzHeader extends ReactiveControllerHost {
121
125
  "mutable": false,
122
126
  "complexType": {
123
127
  "original": "string",
124
- "resolved": "string",
128
+ "resolved": "string | undefined",
125
129
  "references": {}
126
130
  },
127
131
  "required": false,
@@ -31,7 +31,7 @@ export class LmvzIcon extends ReactiveControllerHost {
31
31
  disconnectedCallback() {
32
32
  if (this.intersectionObserver) {
33
33
  this.intersectionObserver.disconnect();
34
- this.intersectionObserver = null;
34
+ this.intersectionObserver = undefined;
35
35
  }
36
36
  super.disconnectedCallback();
37
37
  }
@@ -48,7 +48,7 @@ export class LmvzIcon extends ReactiveControllerHost {
48
48
  super.componentDidRender();
49
49
  }
50
50
  render() {
51
- return h(Host, { key: '8b1ce550253e994650fe91de38496aff7c7eccc2', role: 'img', "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
51
+ return h(Host, { key: '4ce6e3931a1c8bfa1ddd48c780d005d110902b19', role: "img", "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
52
52
  }
53
53
  waitUntilVisible(callback, rootMargin = 50) {
54
54
  if (!Build.isBrowser || typeof window === 'undefined' || !window.IntersectionObserver) {
@@ -58,8 +58,8 @@ export class LmvzIcon extends ReactiveControllerHost {
58
58
  this.intersectionObserver = new IntersectionObserver((entries) => {
59
59
  entries.some((entry) => {
60
60
  if (entry.isIntersecting) {
61
- this.intersectionObserver.disconnect();
62
- this.intersectionObserver = null;
61
+ this.intersectionObserver?.disconnect();
62
+ this.intersectionObserver = undefined;
63
63
  callback();
64
64
  return true;
65
65
  }
@@ -114,7 +114,7 @@ export class LmvzIcon extends ReactiveControllerHost {
114
114
  "mutable": false,
115
115
  "complexType": {
116
116
  "original": "Icon.IconWeight",
117
- "resolved": "\"bold\" | \"filled\" | \"medium\" | \"thin\"",
117
+ "resolved": "\"bold\" | \"filled\" | \"medium\" | \"thin\" | undefined",
118
118
  "references": {
119
119
  "Icon": {
120
120
  "location": "import",
@@ -141,7 +141,7 @@ export class LmvzIcon extends ReactiveControllerHost {
141
141
  "mutable": false,
142
142
  "complexType": {
143
143
  "original": "Icon.Size",
144
- "resolved": "\"inherit\" | \"lg\" | \"md\" | \"sm\" | \"xs\"",
144
+ "resolved": "\"inherit\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | undefined",
145
145
  "references": {
146
146
  "Icon": {
147
147
  "location": "import",
@@ -168,7 +168,7 @@ export class LmvzIcon extends ReactiveControllerHost {
168
168
  "mutable": false,
169
169
  "complexType": {
170
170
  "original": "string",
171
- "resolved": "string",
171
+ "resolved": "string | undefined",
172
172
  "references": {}
173
173
  },
174
174
  "required": false,
@@ -1,29 +1,7 @@
1
1
 
2
- @layer /** */
3
- /**
4
- * reset: CSS resets for browser defaults or expectedly problematic 3rd party libraries
5
- */
6
- lmvz-ds.reset,
7
-
8
- /**
9
- * theme: tokens, typography, etc.
10
- */
11
- lmvz-ds.theme,
12
-
13
- /**
14
- * components: overrides for UI components and CSS-only component implementation
15
- * Design System components should append their styles into this layer at definition!
16
- */
17
- lmvz-ds.components,
18
-
19
- /**
20
- * overrides: utility classes, helpers, product- or application-specific styles.
21
- * Usually, you do not want to add DS util styles to a layer directly.
22
- * Only place those styles here, that are being exported as part of a theme.
23
- */
24
- lmvz-ds.overrides;
2
+ @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides;
25
3
  /**
26
- * This defines the order of our lmvz-ds' CSS layers.
4
+ * This defines the order of our lmvz-ds' CSS layers. See readme.md for details.
27
5
  * Important: Always import this file _before_ layering your own styles!
28
6
  */
29
7
  @layer lmvz-ds.theme {