@lmvz-ds/components 0.29.0 → 0.31.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 (225) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/cjs/{ds.constants-JXqgKnXL.js → ds.constants-CKeXfK-s.js} +12 -0
  3. package/cjs/{component-C7cavwmZ.js → element.util-Cq4y-_iX.js} +42 -31
  4. package/cjs/index.cjs.js +8 -1
  5. package/cjs/{list-keyboard-controller-CzZdPBeH.js → list-keyboard-controller-StN6Yn8W.js} +13 -8
  6. package/cjs/lmvz-action-list.cjs.entry.js +79 -0
  7. package/cjs/lmvz-button-group.cjs.entry.js +43 -47
  8. package/cjs/lmvz-button_2.cjs.entry.js +10 -8
  9. package/cjs/lmvz-card.cjs.entry.js +2 -2
  10. package/cjs/lmvz-checkbox.cjs.entry.js +2 -2
  11. package/cjs/lmvz-chip.cjs.entry.js +3 -3
  12. package/cjs/lmvz-components.cjs.js +1 -1
  13. package/cjs/lmvz-header_2.cjs.entry.js +3 -3
  14. package/cjs/lmvz-input.cjs.entry.js +6 -6
  15. package/cjs/lmvz-link.cjs.entry.js +69 -0
  16. package/cjs/lmvz-menuitem.cjs.entry.js +2 -2
  17. package/cjs/lmvz-message.cjs.entry.js +2 -2
  18. package/cjs/lmvz-modal.cjs.entry.js +5 -5
  19. package/cjs/lmvz-radio.cjs.entry.js +3 -3
  20. package/cjs/lmvz-select.cjs.entry.js +2 -2
  21. package/cjs/lmvz-snackbar.cjs.entry.js +2 -2
  22. package/cjs/lmvz-spinner.cjs.entry.js +1 -1
  23. package/cjs/lmvz-tab.cjs.entry.js +2 -2
  24. package/cjs/lmvz-tabs.cjs.entry.js +4 -4
  25. package/cjs/lmvz-toggle.cjs.entry.js +5 -5
  26. package/cjs/loader.cjs.js +1 -1
  27. package/cjs/stencil.util-DzvzXSwk.js +25 -0
  28. package/collection/api/ds.constants.js +1 -0
  29. package/collection/collection-manifest.json +2 -0
  30. package/collection/components/lmvz-action-list/lmvz-action-list.css +93 -0
  31. package/collection/components/lmvz-action-list/lmvz-action-list.js +104 -0
  32. package/collection/components/lmvz-button/lmvz-button.css +67 -44
  33. package/collection/components/lmvz-button/lmvz-button.js +28 -7
  34. package/collection/components/lmvz-button-group/lmvz-button-group.css +35 -3
  35. package/collection/components/lmvz-button-group/lmvz-button-group.js +54 -38
  36. package/collection/components/lmvz-card/lmvz-card.css +66 -47
  37. package/collection/components/lmvz-card/lmvz-card.js +2 -2
  38. package/collection/components/lmvz-checkbox/lmvz-checkbox.css +8 -5
  39. package/collection/components/lmvz-checkbox/lmvz-checkbox.js +2 -2
  40. package/collection/components/lmvz-chip/lmvz-chip.css +4 -2
  41. package/collection/components/lmvz-chip/lmvz-chip.js +7 -7
  42. package/collection/components/lmvz-header/lmvz-header.js +2 -2
  43. package/collection/components/lmvz-icon/lmvz-icon.js +2 -2
  44. package/collection/components/lmvz-input/lmvz-input.css +2 -2
  45. package/collection/components/lmvz-input/lmvz-input.js +5 -5
  46. package/collection/components/lmvz-link/lmvz-link.css +44 -0
  47. package/collection/components/lmvz-link/lmvz-link.js +183 -0
  48. package/collection/components/lmvz-menuitem/lmvz-menuitem.css +2 -1
  49. package/collection/components/lmvz-menuitem/lmvz-menuitem.js +2 -2
  50. package/collection/components/lmvz-message/lmvz-message.css +2 -1
  51. package/collection/components/lmvz-message/lmvz-message.js +1 -1
  52. package/collection/components/lmvz-modal/lmvz-modal.css +11 -2
  53. package/collection/components/lmvz-modal/lmvz-modal.js +3 -3
  54. package/collection/components/lmvz-radio/lmvz-radio.css +4 -2
  55. package/collection/components/lmvz-radio/lmvz-radio.js +2 -2
  56. package/collection/components/lmvz-select/lmvz-select.css +4 -3
  57. package/collection/components/lmvz-select/lmvz-select.js +2 -2
  58. package/collection/components/lmvz-snackbar/lmvz-snackbar.css +2 -1
  59. package/collection/components/lmvz-snackbar/lmvz-snackbar.js +1 -1
  60. package/collection/components/lmvz-spinner/lmvz-spinner.js +1 -1
  61. package/collection/components/lmvz-tab/lmvz-tab.css +11 -3
  62. package/collection/components/lmvz-tab/lmvz-tab.js +1 -1
  63. package/collection/components/lmvz-tabs/lmvz-tabs.css +7 -0
  64. package/collection/components/lmvz-tabs/lmvz-tabs.js +2 -2
  65. package/collection/components/lmvz-toggle/lmvz-toggle.css +2 -1
  66. package/collection/components/lmvz-toggle/lmvz-toggle.js +3 -3
  67. package/collection/index.js +1 -1
  68. package/collection/integration/header-integration/header-integration.js +1 -1
  69. package/collection/styles/fragments/_focus-within.css +2 -2
  70. package/collection/utils/aria/aria.constants.js +53 -0
  71. package/collection/utils/aria/list-keyboard-controller.js +12 -7
  72. package/collection/utils/async/async.util.js +62 -0
  73. package/collection/utils/data/event.utilt.js +19 -0
  74. package/collection/utils/data/number.util.js +6 -0
  75. package/collection/utils/data/object.util.js +20 -0
  76. package/collection/utils/data/time.util.js +3 -0
  77. package/collection/utils/element/element.util.js +117 -0
  78. package/collection/utils/{assets.js → stencil/assets.js} +1 -1
  79. package/collection/utils/stencil/stencil.util.js +12 -0
  80. package/components/index.d.ts +4 -0
  81. package/components/index.d.ts.bak +4 -0
  82. package/components/index.js +1 -1
  83. package/components/lmvz-action-list.d.ts +11 -0
  84. package/components/lmvz-action-list.d.ts.bak +11 -0
  85. package/components/lmvz-action-list.js +1 -0
  86. package/components/lmvz-button-group.js +1 -1
  87. package/components/lmvz-button.js +1 -1
  88. package/components/lmvz-card.js +1 -1
  89. package/components/lmvz-checkbox.js +1 -1
  90. package/components/lmvz-chip.js +1 -1
  91. package/components/lmvz-header.js +1 -1
  92. package/components/lmvz-icon.js +1 -1
  93. package/components/lmvz-input.js +1 -1
  94. package/components/lmvz-link.d.ts +11 -0
  95. package/components/lmvz-link.d.ts.bak +11 -0
  96. package/components/lmvz-link.js +1 -0
  97. package/components/lmvz-menuitem.js +1 -1
  98. package/components/lmvz-message.js +1 -1
  99. package/components/lmvz-modal.js +1 -1
  100. package/components/lmvz-radio.js +1 -1
  101. package/components/lmvz-select.js +1 -1
  102. package/components/lmvz-snackbar.js +1 -1
  103. package/components/lmvz-spinner.js +1 -1
  104. package/components/lmvz-tab.js +1 -1
  105. package/components/lmvz-tabs.js +1 -1
  106. package/components/lmvz-toggle.js +1 -1
  107. package/components/p-B0H9qIwE.js +1 -0
  108. package/components/p-B4m1n4et.js +1 -0
  109. package/components/p-CJRqhXjK.js +1 -0
  110. package/components/p-CxfT9IA1.js +1 -0
  111. package/components/{p-CXakymyP.js → p-DJ90327O.js} +1 -1
  112. package/components/p-DeO5Vbxh.js +1 -0
  113. package/components/p-DuEtnKRj.js +1 -0
  114. package/esm/ds.constants-DuEtnKRj.js +18 -0
  115. package/esm/{component-DOTK1OW3.js → element.util-CxfT9IA1.js} +37 -31
  116. package/esm/index.js +1 -1
  117. package/esm/{list-keyboard-controller-Coi8XfUH.js → list-keyboard-controller-BKa9Kd2t.js} +12 -7
  118. package/esm/lmvz-action-list.entry.js +77 -0
  119. package/esm/lmvz-button-group.entry.js +35 -39
  120. package/esm/lmvz-button_2.entry.js +9 -7
  121. package/esm/lmvz-card.entry.js +2 -2
  122. package/esm/lmvz-checkbox.entry.js +2 -2
  123. package/esm/lmvz-chip.entry.js +3 -3
  124. package/esm/lmvz-components.js +1 -1
  125. package/esm/lmvz-header_2.entry.js +3 -3
  126. package/esm/lmvz-input.entry.js +5 -5
  127. package/esm/lmvz-link.entry.js +67 -0
  128. package/esm/lmvz-menuitem.entry.js +2 -2
  129. package/esm/lmvz-message.entry.js +2 -2
  130. package/esm/lmvz-modal.entry.js +3 -3
  131. package/esm/lmvz-radio.entry.js +3 -3
  132. package/esm/lmvz-select.entry.js +2 -2
  133. package/esm/lmvz-snackbar.entry.js +2 -2
  134. package/esm/lmvz-spinner.entry.js +1 -1
  135. package/esm/lmvz-tab.entry.js +2 -2
  136. package/esm/lmvz-tabs.entry.js +4 -4
  137. package/esm/lmvz-toggle.entry.js +4 -4
  138. package/esm/loader.js +1 -1
  139. package/esm/stencil.util-CJRqhXjK.js +23 -0
  140. package/hydrate/index.js +586 -396
  141. package/hydrate/index.mjs +586 -396
  142. package/lmvz-components/index.esm.js +1 -1
  143. package/lmvz-components/lmvz-components.esm.js +1 -1
  144. package/lmvz-components/p-1ce90ea7.entry.js +1 -0
  145. package/lmvz-components/{p-4484ab62.entry.js → p-24125bcf.entry.js} +1 -1
  146. package/lmvz-components/p-25a78ead.entry.js +1 -0
  147. package/lmvz-components/p-4072b2fb.entry.js +1 -0
  148. package/lmvz-components/p-48109e1d.entry.js +1 -0
  149. package/lmvz-components/{p-3b3e532f.entry.js → p-582f44ff.entry.js} +1 -1
  150. package/lmvz-components/p-592d509b.entry.js +1 -0
  151. package/lmvz-components/{p-7fd7e04c.entry.js → p-6f61c24d.entry.js} +1 -1
  152. package/lmvz-components/{p-5fcc6f84.entry.js → p-703b10b5.entry.js} +1 -1
  153. package/lmvz-components/p-74c7521c.entry.js +1 -0
  154. package/lmvz-components/{p-7e9938e7.entry.js → p-80a26307.entry.js} +1 -1
  155. package/lmvz-components/p-8e1f66dd.entry.js +1 -0
  156. package/lmvz-components/p-947e1fe6.entry.js +1 -0
  157. package/lmvz-components/p-B4m1n4et.js +1 -0
  158. package/lmvz-components/p-CJRqhXjK.js +1 -0
  159. package/lmvz-components/p-CxfT9IA1.js +1 -0
  160. package/lmvz-components/p-DuEtnKRj.js +1 -0
  161. package/lmvz-components/{p-2981a238.entry.js → p-b79af711.entry.js} +1 -1
  162. package/lmvz-components/p-c00f0d96.entry.js +1 -0
  163. package/lmvz-components/p-c0d05a97.entry.js +1 -0
  164. package/lmvz-components/p-c3e8092e.entry.js +1 -0
  165. package/lmvz-components/{p-fe7999d4.entry.js → p-ed3c2b13.entry.js} +1 -1
  166. package/lmvz-components/{p-af4e26da.entry.js → p-fa2cd315.entry.js} +1 -1
  167. package/manifest.json +336 -14
  168. package/package.json +9 -1
  169. package/types/api/ds.constants.d.ts +1 -37
  170. package/types/api/ds.types.d.ts +68 -1
  171. package/types/components/lmvz-action-list/lmvz-action-list.d.ts +15 -0
  172. package/types/components/lmvz-button/lmvz-button.d.ts +6 -3
  173. package/types/components/lmvz-button-group/lmvz-button-group.d.ts +2 -0
  174. package/types/components/lmvz-checkbox/lmvz-checkbox.d.ts +1 -1
  175. package/types/components/lmvz-chip/lmvz-chip.d.ts +2 -2
  176. package/types/components/lmvz-header/lmvz-header.d.ts +1 -1
  177. package/types/components/lmvz-icon/lmvz-icon.d.ts +1 -1
  178. package/types/components/lmvz-input/lmvz-input.d.ts +1 -1
  179. package/types/components/lmvz-link/lmvz-link.d.ts +13 -0
  180. package/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +1 -1
  181. package/types/components/lmvz-modal/lmvz-modal.d.ts +1 -1
  182. package/types/components/lmvz-radio/lmvz-radio.d.ts +1 -1
  183. package/types/components/lmvz-select/lmvz-select.d.ts +1 -1
  184. package/types/components/lmvz-tabs/lmvz-tabs.d.ts +1 -1
  185. package/types/components/lmvz-toggle/lmvz-toggle.d.ts +1 -1
  186. package/types/components.d.ts +153 -2
  187. package/types/index.d.ts +1 -1
  188. package/types/utils/aria/aria-validation-controller.d.ts +3 -3
  189. package/types/utils/aria/aria.constants.d.ts +1 -0
  190. package/types/utils/aria/element-activation-controller.d.ts +1 -1
  191. package/types/utils/aria/list-keyboard-controller.d.ts +4 -1
  192. package/types/utils/async/async.util.d.ts +8 -0
  193. package/types/utils/data/event.utilt.d.ts +4 -0
  194. package/types/utils/data/number.util.d.ts +2 -0
  195. package/types/utils/data/object.util.d.ts +5 -0
  196. package/types/utils/data/time.util.d.ts +1 -0
  197. package/types/utils/element/element.util.d.ts +21 -0
  198. package/types/utils/radio/radio-group-controller.d.ts +1 -1
  199. package/types/utils/{reactive-controller-host.d.ts → stencil/reactive-controller-host.d.ts} +1 -1
  200. package/types/utils/stencil/stencil.util.d.ts +6 -0
  201. package/collection/utils/component.js +0 -270
  202. package/collection/utils/http.js +0 -21
  203. package/collection/utils/http.unit.js +0 -47
  204. package/components/p-BxPuC-EQ.js +0 -1
  205. package/components/p-CtaMrBNE.js +0 -1
  206. package/components/p-DBZE-Jyu.js +0 -1
  207. package/components/p-DOTK1OW3.js +0 -1
  208. package/esm/ds.constants-DWePb-zu.js +0 -13
  209. package/lmvz-components/p-087853c3.entry.js +0 -1
  210. package/lmvz-components/p-35b5efdc.entry.js +0 -1
  211. package/lmvz-components/p-4ba3f830.entry.js +0 -1
  212. package/lmvz-components/p-83ab106c.entry.js +0 -1
  213. package/lmvz-components/p-87d207e7.entry.js +0 -1
  214. package/lmvz-components/p-912776f8.entry.js +0 -1
  215. package/lmvz-components/p-CtaMrBNE.js +0 -1
  216. package/lmvz-components/p-DOTK1OW3.js +0 -1
  217. package/lmvz-components/p-DWePb-zu.js +0 -1
  218. package/lmvz-components/p-ca497e57.entry.js +0 -1
  219. package/lmvz-components/p-d8b55d55.entry.js +0 -1
  220. package/lmvz-components/p-f030f6f6.entry.js +0 -1
  221. package/types/utils/component.d.ts +0 -33
  222. package/types/utils/http.d.ts +0 -26
  223. package/types/utils/http.unit.d.ts +0 -1
  224. /package/collection/utils/{reactive-controller-host.js → stencil/reactive-controller-host.js} +0 -0
  225. /package/types/utils/{assets.d.ts → stencil/assets.d.ts} +0 -0
@@ -1,270 +0,0 @@
1
- export const transitionEndAsync = (el, expectedDuration = 0) => {
2
- return new Promise((resolve) => {
3
- transitionEnd(el, expectedDuration, resolve);
4
- });
5
- };
6
- const transitionEnd = (el, expectedDuration = 0, callback) => {
7
- let unRegTrans;
8
- let animationTimeout;
9
- const opts = { passive: true };
10
- const ANIMATION_FALLBACK_TIMEOUT = 500;
11
- const unregister = () => {
12
- if (unRegTrans) {
13
- unRegTrans();
14
- }
15
- };
16
- const onTransitionEnd = (ev) => {
17
- if (ev === undefined || el === ev.target) {
18
- unregister();
19
- callback(ev);
20
- }
21
- };
22
- if (el) {
23
- el.addEventListener('webkitTransitionEnd', onTransitionEnd, opts);
24
- el.addEventListener('transitionend', onTransitionEnd, opts);
25
- animationTimeout = setTimeout(onTransitionEnd, expectedDuration + ANIMATION_FALLBACK_TIMEOUT);
26
- unRegTrans = () => {
27
- if (animationTimeout !== undefined) {
28
- clearTimeout(animationTimeout);
29
- animationTimeout = undefined;
30
- }
31
- el.removeEventListener('webkitTransitionEnd', onTransitionEnd, opts);
32
- el.removeEventListener('transitionend', onTransitionEnd, opts);
33
- };
34
- }
35
- return unregister;
36
- };
37
- export const componentOnReady = (el, callback) => {
38
- if (el.componentOnReady) {
39
- el.componentOnReady().then((resolvedEl) => callback(resolvedEl));
40
- }
41
- else {
42
- raf(() => callback(el));
43
- }
44
- };
45
- export const hasLazyBuild = (stencilEl) => {
46
- return stencilEl.componentOnReady !== undefined;
47
- };
48
- export const inheritAttributes = (el, attributes = []) => {
49
- const attributeObject = {};
50
- attributes.forEach((attr) => {
51
- if (el.hasAttribute(attr)) {
52
- const value = el.getAttribute(attr);
53
- if (value !== null) {
54
- attributeObject[attr] = el.getAttribute(attr);
55
- }
56
- el.removeAttribute(attr);
57
- }
58
- });
59
- return attributeObject;
60
- };
61
- const ariaAttributes = [
62
- 'role',
63
- 'aria-activedescendant',
64
- 'aria-atomic',
65
- 'aria-autocomplete',
66
- 'aria-braillelabel',
67
- 'aria-brailleroledescription',
68
- 'aria-busy',
69
- 'aria-checked',
70
- 'aria-colcount',
71
- 'aria-colindex',
72
- 'aria-colindextext',
73
- 'aria-colspan',
74
- 'aria-controls',
75
- 'aria-current',
76
- 'aria-describedby',
77
- 'aria-description',
78
- 'aria-details',
79
- 'aria-disabled',
80
- 'aria-errormessage',
81
- 'aria-expanded',
82
- 'aria-flowto',
83
- 'aria-haspopup',
84
- 'aria-hidden',
85
- 'aria-invalid',
86
- 'aria-keyshortcuts',
87
- 'aria-label',
88
- 'aria-labelledby',
89
- 'aria-level',
90
- 'aria-live',
91
- 'aria-multiline',
92
- 'aria-multiselectable',
93
- 'aria-orientation',
94
- 'aria-owns',
95
- 'aria-placeholder',
96
- 'aria-posinset',
97
- 'aria-pressed',
98
- 'aria-readonly',
99
- 'aria-relevant',
100
- 'aria-required',
101
- 'aria-roledescription',
102
- 'aria-rowcount',
103
- 'aria-rowindex',
104
- 'aria-rowindextext',
105
- 'aria-rowspan',
106
- 'aria-selected',
107
- 'aria-setsize',
108
- 'aria-sort',
109
- 'aria-valuemax',
110
- 'aria-valuemin',
111
- 'aria-valuenow',
112
- 'aria-valuetext',
113
- ];
114
- export const inheritAriaAttributes = (el, ignoreList) => {
115
- let attributesToInherit = ariaAttributes;
116
- if (ignoreList && ignoreList.length > 0) {
117
- attributesToInherit = attributesToInherit.filter((attr) => !ignoreList.includes(attr));
118
- }
119
- return inheritAttributes(el, attributesToInherit);
120
- };
121
- export const addEventListener = (el, eventName, callback, opts) => {
122
- return el.addEventListener(eventName, callback, opts);
123
- };
124
- export const removeEventListener = (el, eventName, callback, opts) => {
125
- return el.removeEventListener(eventName, callback, opts);
126
- };
127
- export const getElementRoot = (el, fallback = el) => {
128
- return el.shadowRoot || fallback;
129
- };
130
- export const raf = (h) => {
131
- if (typeof __zone_symbol__requestAnimationFrame === 'function') {
132
- return __zone_symbol__requestAnimationFrame(h);
133
- }
134
- if (typeof requestAnimationFrame === 'function') {
135
- return requestAnimationFrame(h);
136
- }
137
- return setTimeout(h);
138
- };
139
- export const hasShadowDom = (el) => {
140
- return !!el.shadowRoot && !!el.attachShadow;
141
- };
142
- export const focusVisibleElement = (el) => {
143
- el.focus();
144
- };
145
- export const renderHiddenInput = (always, container, name, value, disabled) => {
146
- if (always || hasShadowDom(container)) {
147
- let input = container.querySelector('input.aux-input');
148
- if (!input) {
149
- input = container.ownerDocument.createElement('input');
150
- input.type = 'hidden';
151
- input.classList.add('aux-input');
152
- container.appendChild(input);
153
- }
154
- input.disabled = disabled;
155
- input.name = name;
156
- input.value = value || '';
157
- }
158
- };
159
- export const clamp = (min, n, max) => {
160
- return Math.max(min, Math.min(n, max));
161
- };
162
- export const assert = (actual, reason) => {
163
- if (!actual) {
164
- const message = 'ASSERT: ' + reason;
165
- console.error(message);
166
- debugger;
167
- throw new Error(message);
168
- }
169
- };
170
- export const now = (ev) => {
171
- return ev.timeStamp || Date.now();
172
- };
173
- export const pointerCoord = (ev) => {
174
- if (ev) {
175
- const changedTouches = ev.changedTouches;
176
- if (changedTouches && changedTouches.length > 0) {
177
- const touch = changedTouches[0];
178
- return { x: touch.clientX, y: touch.clientY };
179
- }
180
- if (ev.pageX !== undefined) {
181
- return { x: ev.pageX, y: ev.pageY };
182
- }
183
- }
184
- return { x: 0, y: 0 };
185
- };
186
- export const deferEvent = (event) => {
187
- return debounceEvent(event, 0);
188
- };
189
- export const debounceEvent = (event, wait) => {
190
- const original = event._original || event;
191
- return {
192
- _original: event,
193
- emit: debounce(original.emit.bind(original), wait),
194
- };
195
- };
196
- export const debounce = (func, wait = 0) => {
197
- let timer;
198
- return (...args) => {
199
- clearTimeout(timer);
200
- timer = setTimeout(func, wait, ...args);
201
- };
202
- };
203
- export const shallowEqualStringMap = (map1, map2) => {
204
- map1 ??= {};
205
- map2 ??= {};
206
- if (map1 === map2) {
207
- return true;
208
- }
209
- const keys1 = Object.keys(map1);
210
- if (keys1.length !== Object.keys(map2).length) {
211
- return false;
212
- }
213
- for (const k1 of keys1) {
214
- if (!(k1 in map2)) {
215
- return false;
216
- }
217
- if (map1[k1] !== map2[k1]) {
218
- return false;
219
- }
220
- }
221
- return true;
222
- };
223
- export const isSafeNumber = (input) => {
224
- return typeof input === 'number' && !isNaN(input) && isFinite(input);
225
- };
226
- export function getDeepActiveElement(root = document) {
227
- let activeElement = root.activeElement;
228
- if (!activeElement) {
229
- return null;
230
- }
231
- while (activeElement?.shadowRoot) {
232
- const next = activeElement.shadowRoot.activeElement;
233
- if (!next) {
234
- break;
235
- }
236
- activeElement = next;
237
- }
238
- return activeElement;
239
- }
240
- export function canReceiveFocus(el) {
241
- if (!el)
242
- return false;
243
- return (el instanceof HTMLElement && el.tabIndex >= 0 && !el.hasAttribute('disabled') && el.getAttribute('aria-hidden') !== 'true' && el.checkVisibility() && el.offsetParent !== null);
244
- }
245
- export function findFormByRef(form, el) {
246
- if (form instanceof HTMLFormElement) {
247
- return form;
248
- }
249
- if (typeof form === 'string') {
250
- const el = document.getElementById(form);
251
- if (el) {
252
- if (el instanceof HTMLFormElement) {
253
- return el;
254
- }
255
- else {
256
- console.warn(`No Form found with selector: "#${form}". Verify that the element with id exists and is actually a <form> element.`, el);
257
- return null;
258
- }
259
- }
260
- else {
261
- console.warn(`No Form found with selector: "#${form}". Verify that the id is correct and the form is rendered in the DOM.`, el);
262
- return null;
263
- }
264
- }
265
- if (form !== undefined) {
266
- console.warn(`The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.`, el);
267
- return null;
268
- }
269
- return el.closest('form');
270
- }
@@ -1,21 +0,0 @@
1
- import { Micro } from "effect";
2
- export class FetchError extends Micro.TaggedError('FetchError') {
3
- }
4
- export class NotFoundError extends Micro.TaggedError('NotFoundError') {
5
- }
6
- export const httpClient = (input, init) => Micro.gen(function* () {
7
- const response = yield* Micro.tryPromise({
8
- try: () => fetch(input, init),
9
- catch: (error) => new FetchError({ cause: error }),
10
- });
11
- if (response.status === 404) {
12
- return yield* Micro.fail(new NotFoundError({ url: response.url }));
13
- }
14
- return response;
15
- });
16
- export class ResponseTextError extends Micro.TaggedError('ResponseTextError') {
17
- }
18
- export const responseAsText = (res) => Micro.tryPromise({
19
- try: () => res.text(),
20
- catch: (error) => new ResponseTextError({ message: 'Failed to read response text', cause: error }),
21
- });
@@ -1,47 +0,0 @@
1
- import { describe, expect, it, vi } from "@stencil/vitest";
2
- import { Micro as Effect } from "effect";
3
- import { FetchError, NotFoundError, ResponseTextError, httpClient, responseAsText } from "./http";
4
- describe('Http Utils', () => {
5
- describe('httpClient', () => {
6
- it('should return response on successful fetch', async () => {
7
- const mockResponse = { status: 200, url: 'https://example.com' };
8
- globalThis.fetch = vi.fn().mockResolvedValueOnce(mockResponse);
9
- const result = await Effect.runPromise(httpClient('https://example.com'));
10
- expect(result).toEqual(mockResponse);
11
- });
12
- it('should handle fetch errors', async () => {
13
- const error = new Error('Network error');
14
- globalThis.fetch = vi.fn().mockRejectedValueOnce(error);
15
- const result = await Effect.runPromise(Effect.flip(httpClient('https://example.com')));
16
- expect(result).toBeInstanceOf(FetchError);
17
- expect(result.cause).toBe(error);
18
- });
19
- it('should return NotFoundError on 404 status', async () => {
20
- const mockResponse = { status: 404, url: 'https://example.com/notfound' };
21
- globalThis.fetch = vi.fn().mockResolvedValueOnce(mockResponse);
22
- const result = await Effect.runPromise(Effect.flip(httpClient('https://example.com/notfound')));
23
- expect(result).toBeInstanceOf(NotFoundError);
24
- });
25
- it('should pass RequestInit options to fetch', async () => {
26
- const mockResponse = { status: 200, url: 'https://example.com' };
27
- globalThis.fetch = vi.fn().mockResolvedValueOnce(mockResponse);
28
- const init = { method: 'POST', headers: { 'Content-Type': 'application/json' } };
29
- await Effect.runPromise(httpClient('https://example.com', init));
30
- expect(globalThis.fetch).toHaveBeenCalledWith('https://example.com', init);
31
- });
32
- });
33
- describe('responseAsText', () => {
34
- it('should return text from response', async () => {
35
- const mockResponse = { text: vi.fn().mockResolvedValueOnce('Hello World') };
36
- const result = await Effect.runPromise(responseAsText(mockResponse));
37
- expect(result).toBe('Hello World');
38
- });
39
- it('should handle text reading errors', async () => {
40
- const error = new Error('Read error');
41
- const mockResponse = { text: vi.fn().mockRejectedValueOnce(error) };
42
- const result = await Effect.runPromise(Effect.flip(responseAsText(mockResponse)));
43
- expect(result).toBeInstanceOf(ResponseTextError);
44
- expect(result.message).toContain('Failed to read response text');
45
- });
46
- });
47
- });
@@ -1 +0,0 @@
1
- import{p as t,c as o,h as n,d as r,t as e}from"./p-DGg7OzDl.js";import{c as a}from"./p-BfTCfPZ1.js";import{A as l}from"./p-C8znmF2h.js";import{E as i}from"./p-CN0JX9-m.js";import{i as m,f as s}from"./p-DOTK1OW3.js";import{R as v}from"./p-DAMVH-31.js";const d=t(class extends v{get el(){return this}validationEl;inheritedAttributes={};formEl=null;formButtonEl=null;lmvzActivation;get ti(){return 0}scale="default";variant;disabled=!1;type="button";form;formMethod;name;value;constructor(t){super(!1),!1!==t&&this.__registerHost(),this.__attachShadow(),this.lmvzActivation=o(this,"lmvzActivation",7),this.addController(new l(this)),this.addController(new i(this,{localHandler:this.handleClick.bind(this),keys:["Enter"]}))}connectedCallback(){this.inheritedAttributes=m(this.el),super.connectedCallback()}disconnectedCallback(){this.formButtonEl?.remove(),this.formButtonEl=null,this.formEl=null,super.disconnectedCallback()}renderHiddenButton(){if("submit"!==this.type)return this.formButtonEl?.remove(),this.formButtonEl=null,void(this.formEl=null);const t=s(this.form,this.el);if(!t)return this.formButtonEl?.remove(),this.formButtonEl=null,void(this.formEl=null);this.formEl=t;const o=this.formButtonEl??document.createElement("button");o.type="submit",o.style.display="none",o.disabled=this.disabled,o.name=this.name??"",o.value=this.value??"",this.formMethod?o.setAttribute("formmethod",this.formMethod):o.removeAttribute("formmethod"),this.formButtonEl!==o&&(this.formButtonEl=o),o.parentElement!==t&&(o.remove(),t.appendChild(o))}submitForm(t){this.formEl&&this.formButtonEl&&(t.preventDefault(),this.formButtonEl.click())}handleClick=t=>{"submit"===this.type&&this.submitForm(t)};render(){return this.renderHiddenButton(),n(r,{key:"8196de85afc3878c6f38e582d7c031f5d19bcd36","aria-disabled":this.disabled?"true":null},n("button",{key:"8d73f979fa227de22a03403a2a3938684911060a",ref:t=>this.validationEl=t,part:"button",disabled:this.disabled,type:this.type,class:a(this.variant??"secondary",{[this.scale??""]:!!this.scale,disabled:this.disabled}),...this.inheritedAttributes},n("slot",{key:"18e91a2f94ba0d7e5cf13150191003e2f0b2a03a"})))}static get delegatesFocus(){return!0}static get style(){return" @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } *[hidden] { display: none !important; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-secondary, #000000)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --lmvz-button-font: var(--lmvz-typography-body-md-strong); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); min-height: var(--lmvz-button-min-height); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-ds-outline); outline-offset: var(--lmvz-ds-outline-offset); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); } button.primary { --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); --lmvz-button-color: var(--lmvz-semantic-color-int-on-primary, #ffffff); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; } button.primary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button.primary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary-hover, #000000); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary-active, #000000); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #000000); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary-hover, #000000); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary-active, #000000); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --lmvz-button-padding-block: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --lmvz-button-gap: var(--lmvz-component-input-gap-sm, clamp(0.38rem, 0.31rem + 0.26vw, 0.63rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem)); --lmvz-button-font: var(--lmvz-typography-body-sm-strong); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-gap-lg, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-lg, clamp(2.75rem, 2.69rem + 0.26vw, 3rem)); --lmvz-button-font: var(--lmvz-typography-body-lg-strong); } display: inline-block; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } "}},[785,"lmvz-button",{ti:[2562,"tabindex"],scale:[513],variant:[513],disabled:[516],type:[1],form:[1],formMethod:[1,"form-method"],name:[1],value:[1]}]);function c(){"undefined"!=typeof customElements&&["lmvz-button"].forEach((t=>{"lmvz-button"===t&&(customElements.get(e(t))||customElements.define(e(t),d))}))}export{d as L,c as d}
@@ -1 +0,0 @@
1
- import{g as t}from"./p-DOTK1OW3.js";const s={orientation:"both",enableHomeAndEnd:!1,manageTabIndex:!1};class i{host;elements=[];currentElement;config;constructor(t,i={}){this.host=t,this.config={...s,...i}}hostConnected(){this.host.el.addEventListener("keydown",this.handleKeydown),this.syncManagedFocusTarget()}hostDisconnected(){this.host.el.removeEventListener("keydown",this.handleKeydown)}updateElements(t){const s=this.currentElement??this.getManagedActiveElement()??void 0;this.elements=t.filter((t=>"focus"in t&&1===t.nodeType)),this.syncManagedFocusTarget(s)}setCurrentElement(t){const s=this.currentElement;this.currentElement=null!=t&&"focus"in t&&1===t.nodeType?t:void 0,this.syncManagedFocusTarget(s)}handleKeydown=t=>{const s=this.getFocusIntent(t.key);if(!s)return;const i=this.getManagedActiveElement(),e=this.getTargetElement(i,s);e&&(t.preventDefault(),this.applyFocusTarget(e,!0))};getFocusIntent(t){return this.config.enableHomeAndEnd&&"Home"===t?"first":this.config.enableHomeAndEnd&&"End"===t?"last":"horizontal"===this.config.orientation?"ArrowRight"===t?"next":"ArrowLeft"===t?"previous":void 0:"vertical"===this.config.orientation?"ArrowDown"===t?"next":"ArrowUp"===t?"previous":void 0:"ArrowDown"===t||"ArrowRight"===t?"next":"ArrowUp"===t||"ArrowLeft"===t?"previous":void 0}getManagedActiveElement(){const s=t(this.host.el.ownerDocument??document);return s instanceof HTMLElement&&this.elements.includes(s)&&this.canMoveFocusTo(s)?s:this.currentElement&&this.elements.includes(this.currentElement)&&this.canMoveFocusTo(this.currentElement)?this.currentElement:void 0}getTargetElement(t,s){if(!this.elements.length)return;if("first"===s)return this.findFocusableFromIndex(-1,"next");if("last"===s)return this.findFocusableFromIndex(this.elements.length,"previous");const i=t?this.elements.indexOf(t):-1;return-1===i?"next"===s?this.findFocusableFromIndex(-1,"next"):this.findFocusableFromIndex(this.elements.length,"previous"):this.findFocusableFromIndex(i,s)}findFocusableFromIndex(t,s){if(!this.elements.length)return;const i="next"===s?1:-1;for(let s=1;s<=this.elements.length;s++){const e=this.elements[(t+i*s+this.elements.length)%this.elements.length];if(this.canMoveFocusTo(e))return e}}syncManagedFocusTarget(t){const s=this.selectManagedElement(t),i=s!==this.currentElement;this.currentElement=s,this.config.manageTabIndex&&this.updateTabIndexes(s),i&&s&&this.config.onFocusTargetChange?.(s)}selectManagedElement(t){const s=this.getManagedActiveElement();if(s)return s;if(this.currentElement&&this.elements.includes(this.currentElement)&&this.canMoveFocusTo(this.currentElement))return this.currentElement;if(t&&this.elements.includes(t))return this.findFocusableFromIndex(this.elements.indexOf(t),"next")??this.findFocusableFromIndex(-1,"next");return this.elements.find((t=>0===t.tabIndex&&this.canMoveFocusTo(t)))||this.findFocusableFromIndex(-1,"next")}updateTabIndexes(t){this.elements.forEach((s=>{s.tabIndex=t&&s===t?0:-1}))}applyFocusTarget(t,s){const i=t!==this.currentElement;this.currentElement=t,this.config.manageTabIndex&&this.updateTabIndexes(t),s&&t.focus(),i&&this.config.onFocusTargetChange?.(t)}canMoveFocusTo(t){return!!t&&(!t.hasAttribute("disabled")&&((!("disabled"in t)||!Boolean(t.disabled))&&("true"!==t.getAttribute("aria-disabled")&&(this.config.isFocusableElement?this.config.isFocusableElement(t):(this.config.manageTabIndex||t.tabIndex>=0)&&"true"!==t.getAttribute("aria-hidden")&&(t.checkVisibility?.()??!0)&&null!==t.offsetParent))))}}export{i as D}
@@ -1 +0,0 @@
1
- import{p as t,H as e,h as n,d as s,t as i}from"./p-DGg7OzDl.js";import{a as o,i as a}from"./p-CdDO7mQa.js";import{a as r}from"./p-DOTK1OW3.js";const c=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}actionsSlot;validationMessageCache=[];actionsStateObserver;get primaryEnabledAction(){return this.enabledButtons.find(p)??this.enabledButtons[0]}get hasActions(){return this.assignedButtons.some((t=>l(t)&&u(t)&&!h(t)))}componentDidLoad(){this.handleActionsSlotChange()}disconnectedCallback(){this.actionsStateObserver?.disconnect()}get assignedElements(){return this.actionsSlot?.assignedElements({flatten:!0})??[]}get assignedButtons(){return this.assignedElements.filter(u)}get visibleButtons(){return this.assignedButtons.filter(l)}get enabledButtons(){return this.visibleButtons.filter((t=h,(...e)=>{const n=t(...e);return o(n)?n.then((t=>!t)):!n}));var t}getActionValidationResult(){if(!this.visibleButtons.length)return[];const t=this.visibleButtons.filter(p),e=this.visibleButtons.filter(f),n=[],s=this.visibleButtons.toReversed();if(1!==t.length&&n.push("LmvzModal actions slot must contain exactly one primary action."),e.length>1&&n.push(`LmvzModal actions slot must contain at most one secondary action (received ${e.length})`),t.length){const i=e[0];0!==s.indexOf(t[0])&&n.push("Primary action must be the last focusable element in the actions slot (i.e. rightmost button)."),i&&1!==s.indexOf(i)&&n.push("Secondary action must be the second-to-last focusable element in the actions slot (i.e. left of primary button).")}else e.length&&0!==s.indexOf(e[0])&&n.push("Secondary action must be the last focusable element in the actions slot when no primary action is present (i.e. rightmost button).");return n}handleActionsSlotChange=()=>{this.observeActionState(),this.syncActionsState()};observeActionState(){"undefined"!=typeof MutationObserver&&(this.actionsStateObserver?.disconnect(),this.assignedButtons.length&&(this.actionsStateObserver=new MutationObserver((()=>{this.syncActionsState()})),this.assignedButtons.forEach((t=>{this.actionsStateObserver?.observe(t,{attributes:!0,attributeFilter:["disabled","hidden","variant"]})}))))}syncActionsState(){this.assignedElements.forEach((t=>{["LMVZ-BUTTON","BUTTON"].includes(t.tagName.toUpperCase())||(t.hasAttribute("hidden")||t.setAttribute("hidden",""),"true"!==t.getAttribute("aria-hidden")&&t.setAttribute("aria-hidden","true"))})),this.checkActions();const t=this.visibleButtons.length;for(let e=0;e<t;e++){const n=e===t-1?"primary":e===t-2?"secondary":"tertiary",s=this.visibleButtons.at(e);s&&(d(s)?s.getAttribute("variant")||s.setAttribute("variant",n):s.classList.add(n))}this.focusPrimaryAction()}focusPrimaryAction(){const t=this.primaryEnabledAction;t&&"undefined"!=typeof window&&window.requestAnimationFrame((()=>{r(t)&&t.focus()}))}checkActions(){if(!a())return;const t=this.getActionValidationResult();t.length&&t.forEach((t=>{this.validationMessageCache.includes(t)||(console.warn(t),this.validationMessageCache.push(t))}))}render(){return n(s,{key:"56b60821ecaa2301d13e78d621e873aa74cd170e"},n("slot",{key:"e6a1422950fa5b0026356b7788a607a690116186",ref:t=>this.actionsSlot=t,onSlotchange:this.handleActionsSlotChange}))}static get style(){return":host{display:flex;justify-content:flex-end;gap:var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));font:var(--lmvz-typography-body-md);flex-wrap:wrap}::slotted([hidden]){display:none !important}"}},[257,"lmvz-button-group",{primaryEnabledAction:[2064],hasActions:[2052,"has-actions"]}]);function u(t){return["LMVZ-BUTTON","BUTTON"].includes(t.tagName.toUpperCase())}function d(t){return"LMVZ-BUTTON"===t?.tagName.toUpperCase()}function h(t){return t.hasAttribute("disabled")||!0===t.disabled}function l(t){return!t.hasAttribute("hidden")}function m(t){const e=t.getAttribute("variant")??t.variant;return"primary"===e||"secondary"===e||"tertiary"===e?e:"secondary"}function p(t){return"primary"===m(t)}function f(t){return"secondary"===m(t)}function y(){"undefined"!=typeof customElements&&["lmvz-button-group"].forEach((t=>{"lmvz-button-group"===t&&(customElements.get(i(t))||customElements.define(i(t),c))}))}export{c as L,y as d}
@@ -1 +0,0 @@
1
- const a=(a,e)=>{a.componentOnReady?a.componentOnReady().then((a=>e(a))):i((()=>e(a)))},e=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"],r=(a,r)=>{let i=e;return r&&r.length>0&&(i=i.filter((a=>!r.includes(a)))),((a,e=[])=>{const r={};return e.forEach((e=>{a.hasAttribute(e)&&(null!==a.getAttribute(e)&&(r[e]=a.getAttribute(e)),a.removeAttribute(e))})),r})(a,i)},i=a=>"function"==typeof __zone_symbol__requestAnimationFrame?__zone_symbol__requestAnimationFrame(a):"function"==typeof requestAnimationFrame?requestAnimationFrame(a):setTimeout(a);function t(a=document){let e=a.activeElement;if(!e)return null;for(;e?.shadowRoot;){const a=e.shadowRoot.activeElement;if(!a)break;e=a}return e}function n(a){return!!a&&a instanceof HTMLElement&&a.tabIndex>=0&&!a.hasAttribute("disabled")&&"true"!==a.getAttribute("aria-hidden")&&a.checkVisibility()&&null!==a.offsetParent}function o(a,e){if(a instanceof HTMLFormElement)return a;if("string"==typeof a){const e=document.getElementById(a);return e?e instanceof HTMLFormElement?e:(console.warn(`No Form found with selector: "#${a}". Verify that the element with id exists and is actually a <form> element.`,e),null):(console.warn(`No Form found with selector: "#${a}". Verify that the id is correct and the form is rendered in the DOM.`,e),null)}return void 0!==a?(console.warn('The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.',e),null):e.closest("form")}export{n as a,a as c,o as f,t as g,r as i}
@@ -1,13 +0,0 @@
1
- const scaleValues = ['small', 'default', 'large'];
2
- const sizes = ['xs', 'sm', 'md', 'lg'];
3
- const textSizes = [...sizes, 'xl'];
4
- const inputTypes = ['text', 'email', 'password', 'tel', 'url', 'search', 'number'];
5
- const inputSizes = ['sm', 'md', 'lg'];
6
- const selectSizes = scaleValues;
7
- const iconSizes = [...sizes, 'inherit'];
8
- const iconWeights = ['thin', 'medium', 'bold'];
9
- const chipTypes = ['active', 'warning', 'success', 'error', 'neutral'];
10
- const chipSizes = ['default', 'small'];
11
- const messageTypes = ['neutral', 'warning'];
12
-
13
- export { chipTypes as a, iconWeights as b, chipSizes as c, inputSizes as d, inputTypes as e, iconSizes as i, messageTypes as m, selectSizes as s, textSizes as t };
@@ -1 +0,0 @@
1
- import{g as e,r as t,c as r,h as o,H as m}from"./p-BPeerEwm.js";import{A as a}from"./p-CPOia2kT.js";import{E as i}from"./p-CN0JX9-m.js";import{R as n}from"./p-FBuCCcFC.js";import"./p-CdDO7mQa.js";const l=class extends n{get el(){return e(this)}get validationEl(){return this.el}validationSlot;get role(){return"menuitem"}get ti(){return 0}lmvzActivation;constructor(e){super(),t(this,e),this.lmvzActivation=r(this,"lmvzActivation",7),this.addController(new a(this,{validationTiming:"slot"})),this.addController(new i(this))}render(){return o(m,{key:"3a722fe1fbacabd99ac5a5bd23537a1ff383fb95"},o("slot",{key:"e475dd50bbd2f9f349edb61766a0b21c1fb1ae16",ref:e=>this.validationSlot=e}))}};l.style="@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } .sc-lmvz-menuitem-h { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); border-radius: var(--lmvz-semantic-border-radius-lg, 14px); font: var(--lmvz-typography-body-md); padding: var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)) var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); cursor: pointer; --lmvz-menuitem-color: var(--lmvz-semantic-color-int-on-tertiary, #000000); --lmvz-menuitem-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); background: var(--lmvz-menuitem-background); color: var(--lmvz-menuitem-color); } .sc-lmvz-menuitem-h:hover { --lmvz-menuitem-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } .sc-lmvz-menuitem-h:active { --lmvz-menuitem-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } .sc-lmvz-menuitem-h:focus-visible { z-index: 1; } [aria-expanded='true'].sc-lmvz-menuitem-h { --lmvz-menuitem-background: var(--lmvz-semantic-color-status-active, #f6fbfe); --lmvz-menuitem-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); }";export{l as lmvz_menuitem}
@@ -1 +0,0 @@
1
- import{g as t,r as o,c as n,h as e,H as i}from"./p-BPeerEwm.js";import{c as r}from"./p-BfTCfPZ1.js";import{A as a}from"./p-CPOia2kT.js";import{E as l}from"./p-CN0JX9-m.js";import{i as m,f as s}from"./p-DOTK1OW3.js";import{R as c}from"./p-FBuCCcFC.js";import{p as v}from"./p-CcxjkCOx.js";import{a as d}from"./p-CFsC37ww.js";import"./p-CdDO7mQa.js";import"./p-CGmJG63p.js";const u=class extends c{get el(){return t(this)}validationEl;inheritedAttributes={};formEl=null;formButtonEl=null;lmvzActivation;get ti(){return 0}scale="default";variant;disabled=!1;type="button";form;formMethod;name;value;constructor(t){super(),o(this,t),this.lmvzActivation=n(this,"lmvzActivation",7),this.addController(new a(this)),this.addController(new l(this,{localHandler:this.handleClick.bind(this),keys:["Enter"]}))}connectedCallback(){this.inheritedAttributes=m(this.el),super.connectedCallback()}disconnectedCallback(){this.formButtonEl?.remove(),this.formButtonEl=null,this.formEl=null,super.disconnectedCallback()}renderHiddenButton(){if("submit"!==this.type)return this.formButtonEl?.remove(),this.formButtonEl=null,void(this.formEl=null);const t=s(this.form,this.el);if(!t)return this.formButtonEl?.remove(),this.formButtonEl=null,void(this.formEl=null);this.formEl=t;const o=this.formButtonEl??document.createElement("button");o.type="submit",o.style.display="none",o.disabled=this.disabled,o.name=this.name??"",o.value=this.value??"",this.formMethod?o.setAttribute("formmethod",this.formMethod):o.removeAttribute("formmethod"),this.formButtonEl!==o&&(this.formButtonEl=o),o.parentElement!==t&&(o.remove(),t.appendChild(o))}submitForm(t){this.formEl&&this.formButtonEl&&(t.preventDefault(),this.formButtonEl.click())}handleClick=t=>{"submit"===this.type&&this.submitForm(t)};render(){return this.renderHiddenButton(),e(i,{key:"8196de85afc3878c6f38e582d7c031f5d19bcd36","aria-disabled":this.disabled?"true":null},e("button",{key:"8d73f979fa227de22a03403a2a3938684911060a",ref:t=>this.validationEl=t,part:"button",disabled:this.disabled,type:this.type,class:r(this.variant??"secondary",{[this.scale??""]:!!this.scale,disabled:this.disabled}),...this.inheritedAttributes},e("slot",{key:"18e91a2f94ba0d7e5cf13150191003e2f0b2a03a"})))}static get delegatesFocus(){return!0}};u.style=" @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } *[hidden] { display: none !important; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-secondary, #000000)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --lmvz-button-font: var(--lmvz-typography-body-md-strong); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); min-height: var(--lmvz-button-min-height); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-ds-outline); outline-offset: var(--lmvz-ds-outline-offset); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); } button.primary { --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); --lmvz-button-color: var(--lmvz-semantic-color-int-on-primary, #ffffff); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; } button.primary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button.primary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary-hover, #000000); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary-active, #000000); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #000000); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary-hover, #000000); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary-active, #000000); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --lmvz-button-padding-block: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --lmvz-button-gap: var(--lmvz-component-input-gap-sm, clamp(0.38rem, 0.31rem + 0.26vw, 0.63rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem)); --lmvz-button-font: var(--lmvz-typography-body-sm-strong); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-gap-lg, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-lg, clamp(2.75rem, 2.69rem + 0.26vw, 3rem)); --lmvz-button-font: var(--lmvz-typography-body-lg-strong); } display: inline-block; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } ";const h=class extends c{intersectionObserver;ariaValidationController=new a(this);get el(){return t(this)}validationEl;icon;weight="medium";size="md";iconset;iconData;visible=!1;ariaLabel;get ariaHidden(){return!this.ariaLabel}constructor(t){super(),o(this,t),this.addController(this.ariaValidationController)}connectedCallback(){this.waitUntilVisible((()=>{this.visible=!0,this.loadIconPathData()})),super.connectedCallback()}disconnectedCallback(){this.intersectionObserver&&"function"==typeof this.intersectionObserver.disconnect&&this.intersectionObserver.disconnect(),this.intersectionObserver=void 0,super.disconnectedCallback()}async loadIconPathData(){const{icon:t,iconset:o,visible:n}=this;if(!t||!n)return;const e=v(t);this.iconData=e||await d({icon:t,iconset:o})}componentDidRender(){this.validationEl=this.el.querySelector("svg"),this.ariaValidationController.revalidateAria(),super.componentDidRender()}render(){return e(i,{key:"03b4391d02a77409257bcda51c2b65ad9a9e0a0c",role:"img","aria-hidden":`${this.ariaHidden}`,innerHTML:this.iconData})}waitUntilVisible(t,o=50){"undefined"!=typeof window&&window.IntersectionObserver?(this.intersectionObserver=new IntersectionObserver((o=>{o.some((o=>!!o.isIntersecting&&(this.intersectionObserver&&"function"==typeof this.intersectionObserver.disconnect&&this.intersectionObserver.disconnect(),this.intersectionObserver=void 0,t(),!0)))}),{rootMargin:`${o}px`}),this.intersectionObserver.observe(this.el)):t()}static get watchers(){return{icon:[{loadIconPathData:0}],iconset:[{loadIconPathData:0}]}}};h.style=".sc-lmvz-icon-h{--lmvz-icon-color:var(--lmvz-component-color, var(--lmvz-semantic-color-on-surface-input-primary, #000000));--lmvz-icon-size:var(--lmvz-component-size, var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)));display:inline-block;line-height:0;svg{display:block;height:var(--lmvz-icon-size);width:auto}svg path{stroke:var(--lmvz-icon-color);fill:none}}[size='xs'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem))}}[size='sm'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-sm, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))}}[size='md'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem))}}[size='lg'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-lg, clamp(1.5rem, 1.44rem + 0.26vw, 1.75rem))}}[size='inherit'].sc-lmvz-icon-h{svg{height:var(--lmvz-component-size, inherit)}}[weight='light'].sc-lmvz-icon-h{svg path{stroke-width:1}}[weight='medium'].sc-lmvz-icon-h{svg path{stroke-width:1.5}}[weight='bold'].sc-lmvz-icon-h{svg path{stroke-width:2}}[weight='filled'].sc-lmvz-icon-h{svg path{stroke-width:2;fill:var(--lmvz-icon-color)}}";export{u as lmvz_button,h as lmvz_icon}
@@ -1 +0,0 @@
1
- import{r as e,g as a,h as t,H as o}from"./p-BPeerEwm.js";const r=class{constructor(a){e(this,a)}get el(){return a(this)}mediaSlotEl;value;disabled=!1;selected=!1;vertical=!1;handleMediaSlotChange=()=>{this.el.toggleAttribute("has-media",(this.mediaSlotEl?.assignedElements()??[]).length>0)};componentDidLoad(){this.handleMediaSlotChange(),this.el.dispatchEvent(new CustomEvent("lmvzTabReady",{bubbles:!0,composed:!1}))}render(){return t(o,{key:"1232c42d1e4b0a22710076dcd021e910e9b71c3c"},t("button",{key:"a5d85b761836038a93b102052ff9b09cab04bd7f",part:"button",role:"tab",disabled:this.disabled,"aria-selected":String(this.selected),"aria-disabled":this.disabled?"true":void 0,tabIndex:0},t("slot",{key:"ce429f5e6d05ed4ef506276231aa0a54cd9f050f",name:"media",ref:e=>this.mediaSlotEl=e,onSlotchange:this.handleMediaSlotChange}),t("span",{key:"637e0da61c21950b0b1c8d5622315c8921007fdb",class:"label"},t("slot",{key:"1c035b6763d0fa894d9dadb1407b87ca3e2f0da5"})),t("span",{key:"88c6e4d8fe990e6b722664641d23310748afd7c0","aria-hidden":"true",part:"indicator",class:"indicator"})))}static get delegatesFocus(){return!0}};r.style=" @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } *[hidden] { display: none !important; } } :host { display: inline-block; flex: none; } :host([disabled]) { cursor: not-allowed; pointer-events: none; } button { --lmvz-tab-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-tab-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--lmvz-component-component-spacing-0-default, 4px); padding-top: var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); padding-bottom: var(--lmvz-dimension-8-14, clamp(0.5rem, 0.41rem + 0.39vw, 0.88rem)); padding-inline: var(--lmvz-dimension-16-24, clamp(1rem, 0.88rem + 0.52vw, 1.5rem)); border: none; border-radius: var(--lmvz-semantic-border-radius-round, 999px); background: var(--lmvz-tab-background); color: var(--lmvz-tab-color); font: var(--lmvz-typography-body-md-strong); cursor: pointer; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease; } button:focus-visible { outline: var(--lmvz-ds-outline); outline-offset: var(--lmvz-ds-outline-offset); z-index: 1; } button:disabled { opacity: var(--lmvz-component-input-disabled-opacity, 40%); pointer-events: none; cursor: not-allowed; } button:hover { --lmvz-tab-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); --lmvz-tab-color: var(--lmvz-semantic-color-int-on-secondary-hover, #000000); } button:active { --lmvz-tab-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); --lmvz-tab-color: var(--lmvz-semantic-color-int-on-secondary-active, #000000); } :host([has-media]) { --lmvz-tab-color: var(--lmvz-semantic-color-int-on-tertiary, #000000); --lmvz-tab-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); } :host([has-media]) button { padding-top: var(--lmvz-dimension-16-18, clamp(1rem, 0.97rem + 0.13vw, 1.13rem)); padding-bottom: var(--lmvz-dimension-12-14, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); padding-inline: var(--lmvz-dimension-40-48, clamp(2.5rem, 2.38rem + 0.52vw, 3rem)); border-radius: var(--lmvz-semantic-border-radius-lg, 14px); } :host([has-media]) button:hover { --lmvz-tab-color: var(--lmvz-semantic-color-int-on-tertiary-hover, #000000); } :host([has-media]) button:active { --lmvz-tab-color: var(--lmvz-semantic-color-int-on-tertiary-active, #000000); } :host([selected]) button { --lmvz-tab-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --lmvz-tab-background: var(--lmvz-semantic-color-status-active, #f6fbfe); } :host([selected][has-media]) button:hover, :host([selected][has-media]) button:active { --lmvz-tab-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); } .indicator { --lmvz-tab-indicator-size: 4px; position: absolute; background: linear-gradient(to right, var(--lmvz-semantic-color-gradient-main-1, #0e7ab4), var(--lmvz-semantic-color-gradient-main-2, #0e7ab4)); opacity: 0; transition: opacity 0.15s ease; inset-block-end: 0; inset-inline: 0; block-size: var(--lmvz-tab-indicator-size); border-start-start-radius: 0; border-start-end-radius: 0; border-end-start-radius: var(--lmvz-tab-indicator-size); border-end-end-radius: var(--lmvz-tab-indicator-size); } :host([selected][has-media]) .indicator { opacity: 1; } :host([vertical]) button { border-radius: var(--lmvz-semantic-border-radius-round, 999px); } :host([vertical]) .indicator { inset-block: 0; inset-inline: 0 auto; inline-size: var(--lmvz-tab-indicator-size); block-size: auto; border-radius: 0 var(--lmvz-tab-indicator-size) var(--lmvz-tab-indicator-size) 0; background: linear-gradient(to bottom, var(--lmvz-semantic-color-gradient-main-1, #0e7ab4), var(--lmvz-semantic-color-gradient-main-2, #0e7ab4)); } ::slotted(*) { --lmvz-component-color: var(--lmvz-tab-color); } ::slotted(lmvz-icon) { --lmvz-component-size: var(--lmvz-dimension-16-18, clamp(1rem, 0.97rem + 0.13vw, 1.13rem)); } :host([has-media]) ::slotted(lmvz-icon) { --lmvz-component-size: var(--lmvz-component-icon-size-lg, clamp(1.5rem, 1.44rem + 0.26vw, 1.75rem)); } .label { display: contents; } ";export{r as lmvz_tab}
@@ -1 +0,0 @@
1
- import{r as t,h as e,H as n}from"./p-BPeerEwm.js";import{a as i,i as s}from"./p-CdDO7mQa.js";import{a as o}from"./p-DOTK1OW3.js";const r=class{constructor(e){t(this,e)}actionsSlot;validationMessageCache=[];actionsStateObserver;get primaryEnabledAction(){return this.enabledButtons.find(l)??this.enabledButtons[0]}get hasActions(){return this.assignedButtons.some((t=>h(t)&&a(t)&&!d(t)))}componentDidLoad(){this.handleActionsSlotChange()}disconnectedCallback(){this.actionsStateObserver?.disconnect()}get assignedElements(){return this.actionsSlot?.assignedElements({flatten:!0})??[]}get assignedButtons(){return this.assignedElements.filter(a)}get visibleButtons(){return this.assignedButtons.filter(h)}get enabledButtons(){return this.visibleButtons.filter((t=d,(...e)=>{const n=t(...e);return i(n)?n.then((t=>!t)):!n}));var t}getActionValidationResult(){if(!this.visibleButtons.length)return[];const t=this.visibleButtons.filter(l),e=this.visibleButtons.filter(m),n=[],i=this.visibleButtons.toReversed();if(1!==t.length&&n.push("LmvzModal actions slot must contain exactly one primary action."),e.length>1&&n.push(`LmvzModal actions slot must contain at most one secondary action (received ${e.length})`),t.length){const s=e[0];0!==i.indexOf(t[0])&&n.push("Primary action must be the last focusable element in the actions slot (i.e. rightmost button)."),s&&1!==i.indexOf(s)&&n.push("Secondary action must be the second-to-last focusable element in the actions slot (i.e. left of primary button).")}else e.length&&0!==i.indexOf(e[0])&&n.push("Secondary action must be the last focusable element in the actions slot when no primary action is present (i.e. rightmost button).");return n}handleActionsSlotChange=()=>{this.observeActionState(),this.syncActionsState()};observeActionState(){"undefined"!=typeof MutationObserver&&(this.actionsStateObserver?.disconnect(),this.assignedButtons.length&&(this.actionsStateObserver=new MutationObserver((()=>{this.syncActionsState()})),this.assignedButtons.forEach((t=>{this.actionsStateObserver?.observe(t,{attributes:!0,attributeFilter:["disabled","hidden","variant"]})}))))}syncActionsState(){this.assignedElements.forEach((t=>{["LMVZ-BUTTON","BUTTON"].includes(t.tagName.toUpperCase())||(t.hasAttribute("hidden")||t.setAttribute("hidden",""),"true"!==t.getAttribute("aria-hidden")&&t.setAttribute("aria-hidden","true"))})),this.checkActions();const t=this.visibleButtons.length;for(let e=0;e<t;e++){const n=e===t-1?"primary":e===t-2?"secondary":"tertiary",i=this.visibleButtons.at(e);i&&(c(i)?i.getAttribute("variant")||i.setAttribute("variant",n):i.classList.add(n))}this.focusPrimaryAction()}focusPrimaryAction(){const t=this.primaryEnabledAction;t&&"undefined"!=typeof window&&window.requestAnimationFrame((()=>{o(t)&&t.focus()}))}checkActions(){if(!s())return;const t=this.getActionValidationResult();t.length&&t.forEach((t=>{this.validationMessageCache.includes(t)||(console.warn(t),this.validationMessageCache.push(t))}))}render(){return e(n,{key:"56b60821ecaa2301d13e78d621e873aa74cd170e"},e("slot",{key:"e6a1422950fa5b0026356b7788a607a690116186",ref:t=>this.actionsSlot=t,onSlotchange:this.handleActionsSlotChange}))}};function a(t){return["LMVZ-BUTTON","BUTTON"].includes(t.tagName.toUpperCase())}function c(t){return"LMVZ-BUTTON"===t?.tagName.toUpperCase()}function d(t){return t.hasAttribute("disabled")||!0===t.disabled}function h(t){return!t.hasAttribute("hidden")}function u(t){const e=t.getAttribute("variant")??t.variant;return"primary"===e||"secondary"===e||"tertiary"===e?e:"secondary"}function l(t){return"primary"===u(t)}function m(t){return"secondary"===u(t)}r.style=":host{display:flex;justify-content:flex-end;gap:var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));font:var(--lmvz-typography-body-md);flex-wrap:wrap}::slotted([hidden]){display:none !important}";export{r as lmvz_button_group}
@@ -1 +0,0 @@
1
- import{a as t,r as e,c as r,h as o,H as a}from"./p-BPeerEwm.js";const n=class{constructor(t){e(this,t),this.primaryAction=r(this,"primaryAction",7)}cardTitle;imageUrl;description;primaryActionLabel="";primaryAction;get fallbackImage(){return((e,r)=>{const o=function(...t){return t.filter(Boolean).join("/").replace("//","/").replace("/./","/")}("../../assets",r,e);try{return t(o)}catch{return console.warn(`Failed to create URL for asset "${e}" in path "${r}".\n Please provide an absolute URL in your app's 'setAssetPath(...)' configuration! Falling back to a relative URL, which may work in some environments but is not guaranteed to be correct.`),new URL(o,import.meta?.url??window?.location?.origin??"")}})("card-placeholder.svg")}_onPrimaryClick(){this.primaryAction.emit()}_onOverflowClick(t){console.log(t)}render(){return o(a,{key:"2d9ecdeed986f142fb7ff477b56dece59549bbc7",role:"article"},o("div",{key:"34fc9c3a1338b31ce73424e8c07c79a291ead85c",class:"top"},o("div",{key:"1756e6b26d7f42499753c36ed0fc13755fe32bfe",class:"image-wrapper",style:{backgroundImage:`url(${this.imageUrl??this.fallbackImage})`}},o("div",{key:"cd8be8acc9e949092b6363024316d12d445a9fbc",class:"chip-slot"},o("slot",{key:"26389ab3b7031b948ff1701857e6028446662cf5",name:"chip"})))),o("div",{key:"2fa61cd7bef437f15929ae39be7fa294e8778321",class:"bottom"},o("header",{key:"b237ca025e42a29f528f827dc3c83b3b0f9267c0"},o("h2",{key:"ffd0a509ba97acb75d4c15d0fd01eef08689a2a7",class:"title"},this.cardTitle)),o("p",{key:"c40bd5d5f7e41a0cebc2f7f9e572ba98cc892cc1",class:"description"},this.description),o("div",{key:"7663f93b41ef1e798b464bd6ad75ca8a53c0667b",class:"actions"},o("button",{key:"3348e6700aa1571183558ab8fe4f73393c1cc943",class:"primary",onClick:this._onPrimaryClick.bind(this),"data-testid":"primary"},this.primaryActionLabel),o("button",{key:"d3a12cdabbdd68c3b04e06984db44abd3bbd22ea",class:"tertiary","aria-label":"More actions",onClick:this._onOverflowClick},o("span",{key:"80e31e6b691e18d1b42a2b4831349c3abf8e02b0",class:"icon-placeholder"},"...")))))}static get assetsDirs(){return["../../assets"]}};n.style="@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } *[hidden] { display: none !important; } } .sc-lmvz-card-h { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-secondary, #000000)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --lmvz-button-font: var(--lmvz-typography-body-md-strong); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); min-height: var(--lmvz-button-min-height); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-ds-outline); outline-offset: var(--lmvz-ds-outline-offset); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); } button.primary { --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); --lmvz-button-color: var(--lmvz-semantic-color-int-on-primary, #ffffff); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; } button.primary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button.primary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary-hover, #000000); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary-active, #000000); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #000000); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary-hover, #000000); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary-active, #000000); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --lmvz-button-padding-block: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --lmvz-button-gap: var(--lmvz-component-input-gap-sm, clamp(0.38rem, 0.31rem + 0.26vw, 0.63rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem)); --lmvz-button-font: var(--lmvz-typography-body-sm-strong); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-gap-lg, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-button-min-height: var(--lmvz-component-input-size-lg, clamp(2.75rem, 2.69rem + 0.26vw, 3rem)); --lmvz-button-font: var(--lmvz-typography-body-lg-strong); } display: flex; min-width: var(--lmvz-card-component-card-minwidth, 20.4375rem); max-width: var(--lmvz-card-component-card-maxwidth, 21.6875rem); flex-direction: column; align-items: flex-start; border-radius: var(--lmvz-semantic-border-radius-lg, 14px); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-default, #e0e0e0); background: var(--lmvz-semantic-color-surface-primary, #ffffff); } *.sc-lmvz-card { color: var(--lmvz-semantic-color-on-surface-primary, #000000); font: var(--lmvz-typography-body-md); } .top.sc-lmvz-card { display: flex; padding: var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); flex-direction: column; justify-content: center; align-items: center; align-self: stretch; } .bottom.sc-lmvz-card { display: flex; min-width: 150px; padding: var(--lmvz-dimension-4-6, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)); flex-direction: column; align-items: flex-start; align-self: stretch; } .title.sc-lmvz-card { margin: 0; display: flex; justify-content: center; align-items: center; align-self: stretch; padding-bottom: var(--lmvz-global-s4, 4px); overflow-wrap: break-word; font: var(--lmvz-typography-heading-2xl); } .description.sc-lmvz-card { display: flex; margin: 0; padding-bottom: var(--lmvz-component-body-sm-padding-bottom, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-items: flex-start; align-self: stretch; white-space: pre-line; font: var(--lmvz-typography-body-md); } .image-wrapper.sc-lmvz-card { aspect-ratio: 4 / 3; width: 100%; background-size: cover; background-position: center; flex: 1 0 0; align-self: stretch; border-radius: var(--lmvz-semantic-border-radius-md, 6px); } .actions.sc-lmvz-card { margin-top: var(--lmvz-component-form-wrapper-gap-y, clamp(1.13rem, 0.97rem + 0.65vw, 1.75rem)); display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-self: stretch; } button.primary.sc-lmvz-card, lmvz-button.primary.sc-lmvz-card { display: flex; justify-content: center; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); flex: 1 0 0; }";export{n as lmvz_card}
@@ -1 +0,0 @@
1
- import{g as e,r as o,c,h as r,H as a}from"./p-BPeerEwm.js";import{t}from"./p-CcxjkCOx.js";import{A as l}from"./p-CPOia2kT.js";import{R as s}from"./p-FBuCCcFC.js";import"./p-CGmJG63p.js";import"./p-CdDO7mQa.js";const i=t("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNzUgMTIuNTYyNUw4LjgzMDc5IDE3LjYyNUwyMC40Mzc1IDYuMzc1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K");let h=0;const n=class extends s{get el(){return e(this)}get validationEl(){return this.el}internals;nativeInput;checkboxId="lmvz-checkbox-"+h++;initialChecked=!1;get helperId(){return this.helperText?`${this.checkboxId}-helper`:void 0}get errorId(){return this.errorMessage?`${this.checkboxId}-error`:void 0}get ariaDescribedBy(){const e=[this.errorId,this.helperId].filter(Boolean);return e.length>0?e.join(" "):void 0}label;checked=!1;value="on";name;disabled=!1;required=!1;error=!1;errorMessage;helperText;form;autofocus=!1;checkedState=!1;handleCheckedChange(e){this.checkedState=e,this.internals.setFormValue?.(e?this.value??"on":null)}lmvzChange;async focusInput(){this.nativeInput?.focus()}async checkValidity(){return this.internals?.checkValidity()??!0}async reportValidity(){return this.internals?.reportValidity()??!0}constructor(e){super(),o(this,e),this.lmvzChange=c(this,"lmvzChange",7),e.$hostElement$["s-ei"]?this.internals=e.$hostElement$["s-ei"]:(this.internals=e.$hostElement$.attachInternals(),e.$hostElement$["s-ei"]=this.internals),this.addController(new l(this,{reValidateOnPropChanges:!0}))}componentWillLoad(){this.initialChecked=this.checked,this.checkedState=this.checked,this.internals.setFormValue?.(this.checked?this.value??"on":null),super.componentWillLoad()}componentWillRender(){this.error&&!this.errorMessage&&console.warn("lmvz-checkbox: error=true set without errorMessage — no visual-only error state is rendered. Provide errorMessage to communicate the error to users."),super.componentWillRender()}formAssociatedCallback(){this.internals.setFormValue?.(this.checked?this.value??"on":null)}formResetCallback(){this.checked=this.initialChecked}formStateRestoreCallback(e){this.checked=e===(this.value??"on")}handleChange=e=>{this.checked=e.target.checked,this.lmvzChange.emit(this.checked)};retargetInnerClicks(){this.nativeInput?.click()}render(){return r(a,{key:"cea4a962a76cab10c27adc6742fe0686b2ce6dbe"},r("div",{key:"1addfd795587de85ecbc632fbeb45026a4e46050",class:"pill"},r("input",{key:"8957359d0cc3f2c315badee7e20fcc81e85e0f00",type:"checkbox",id:this.checkboxId,checked:this.checkedState,disabled:this.disabled,required:this.required,"aria-required":this.required?"true":"false","aria-invalid":this.error?"true":"false","aria-describedby":this.ariaDescribedBy,"aria-errormessage":this.error&&this.errorId?this.errorId:void 0,ref:e=>this.nativeInput=e,onChange:this.handleChange,autoFocus:this.autofocus}),r("span",{key:"400dbe9379ceb4aceeb431fe6060c82b41009cda",class:"box","aria-hidden":"true"},this.checkedState&&r("span",{key:"9612093e65346b419ec8e4469fea7f00fe4c3ff4",class:"indicator",innerHTML:i})),r("span",{key:"fd1136ea0726941bc400b8970f7cae4bb3b59363",class:"content"},r("label",{key:"a06deb2d4bc76efb884701a17e4a28420a99965c",htmlFor:this.checkboxId},this.label),this.helperText&&r("span",{key:"2bd33f14062bedbb0609dff3ac7fbcee6fa16f21",onClick:this.retargetInnerClicks.bind(this),class:"helper-text",id:this.helperId,role:"status"},this.helperText))),this.errorMessage&&r("span",{key:"ac4fcb6f0a2de16a17f0287e42b70b6339a50acc",class:"error-text",id:this.errorId,role:"alert"},this.errorMessage))}static get formAssociated(){return!0}static get watchers(){return{checked:[{handleCheckedChange:0}]}}};n.style="@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } .sc-lmvz-checkbox-h { display: inline-block; --checkbox-box-size: var(--lmvz-global-s18, 18px); --checkbox-border-radius: var(--lmvz-global-s4, 4px); --checkbox-bg: var(--lmvz-semantic-color-surface-input-primary, #ffffff); --checkbox-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); --checkbox-border-color-hover: var(--lmvz-semantic-color-border-hover, #c7c7c7); --checkbox-border-color-checked: var(--lmvz-semantic-color-border-active, #0f8acc); --checkbox-border-color-error: var(--lmvz-semantic-color-status-on-danger, #e52a31); --checkbox-wrapper-bg-hover: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); --checkbox-wrapper-bg-checked: var(--lmvz-semantic-color-status-active, #f6fbfe); --checkbox-ripple-bg: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --checkbox-checkmark-color: var(--lmvz-semantic-color-border-active, #0f8acc); --checkbox-label-color: var(--lmvz-semantic-color-on-surface-primary, #000000); --checkbox-label-color-checked: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --checkbox-helper-color: var(--lmvz-semantic-color-on-surface-secondary, #7a7a7a); --checkbox-error-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); --checkbox-focus-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --checkbox-easing: var(--lmvz-global-easing-default, ease); --checkbox-duration: 0.2s; } .pill.sc-lmvz-checkbox { display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); padding-block: var(--lmvz-dimension-2-8, clamp(0.13rem, 0.03rem + 0.39vw, 0.5rem)); padding-inline: var(--lmvz-dimension-4-10, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); border-radius: var(--lmvz-semantic-border-radius-round, 999px); text-decoration: none; background-color: transparent; transition: background-color var(--checkbox-duration) var(--checkbox-easing); } input.sc-lmvz-checkbox { position: absolute; opacity: 0; width: var(--checkbox-box-size); height: var(--checkbox-box-size); margin: 0; cursor: pointer; z-index: 1; } .box.sc-lmvz-checkbox { display: flex; align-items: center; justify-content: center; width: var(--checkbox-box-size); height: var(--checkbox-box-size); background-color: var(--checkbox-bg); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--checkbox-border-color); border-radius: var(--checkbox-border-radius); color: var(--checkbox-checkmark-color); cursor: pointer; transition: border-color var(--checkbox-duration) var(--checkbox-easing), background-color var(--checkbox-duration) var(--checkbox-easing); pointer-events: none; flex-shrink: 0; } .indicator.sc-lmvz-checkbox { display: flex; align-items: center; justify-content: center; line-height: 0; } .content.sc-lmvz-checkbox { display: flex; flex-direction: column; overflow-wrap: break-word; min-width: 0; cursor: pointer; } label.sc-lmvz-checkbox { font: var(--lmvz-typography-body-md); color: var(--checkbox-label-color); transition: color var(--checkbox-duration) var(--checkbox-easing); cursor: pointer; } .helper-text.sc-lmvz-checkbox { font: var(--lmvz-typography-body-sm); color: var(--checkbox-helper-color); margin-block-start: 2px; } .error-text.sc-lmvz-checkbox { font: var(--lmvz-typography-body-sm); color: var(--checkbox-error-color); display: block; margin-block-start: 4px; padding-inline: 10px; } @media (hover: hover) { .pill.sc-lmvz-checkbox:hover { background-color: var(--checkbox-wrapper-bg-hover); } .pill.sc-lmvz-checkbox:hover .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-hover); } } [checked].sc-lmvz-checkbox-h .pill.sc-lmvz-checkbox { background-color: var(--checkbox-wrapper-bg-checked); } [checked].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-checked); } [checked].sc-lmvz-checkbox-h label.sc-lmvz-checkbox { color: var(--checkbox-label-color-checked); } [error].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-error); } [error].sc-lmvz-checkbox-h .helper-text.sc-lmvz-checkbox { color: var(--checkbox-error-color); } [disabled].sc-lmvz-checkbox-h { opacity: var(--lmvz-component-input-disabled-opacity, 40%); pointer-events: none; input, label, .box, .content { cursor: not-allowed; } } .sc-lmvz-checkbox-h:focus-within .pill.sc-lmvz-checkbox { outline: var(--lmvz-ds-outline); outline-offset: var(--lmvz-ds-outline-offset); } @media (forced-colors: active) { .box.sc-lmvz-checkbox { forced-color-adjust: auto; border-color: ButtonText; background-color: Field; } [checked].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: Highlight; background-color: Field; } .indicator.sc-lmvz-checkbox { color: ButtonText; } [checked].sc-lmvz-checkbox-h .indicator.sc-lmvz-checkbox { color: HighlightText; } .sc-lmvz-checkbox-h:focus-within .pill.sc-lmvz-checkbox { outline-color: Highlight; box-shadow: none; } }";export{n as lmvz_checkbox}
@@ -1 +0,0 @@
1
- import{g as t}from"./p-DOTK1OW3.js";const s={orientation:"both",enableHomeAndEnd:!1,manageTabIndex:!1};class i{host;elements=[];currentElement;config;constructor(t,i={}){this.host=t,this.config={...s,...i}}hostConnected(){this.host.el.addEventListener("keydown",this.handleKeydown),this.syncManagedFocusTarget()}hostDisconnected(){this.host.el.removeEventListener("keydown",this.handleKeydown)}updateElements(t){const s=this.currentElement??this.getManagedActiveElement()??void 0;this.elements=t.filter((t=>"focus"in t&&1===t.nodeType)),this.syncManagedFocusTarget(s)}setCurrentElement(t){const s=this.currentElement;this.currentElement=null!=t&&"focus"in t&&1===t.nodeType?t:void 0,this.syncManagedFocusTarget(s)}handleKeydown=t=>{const s=this.getFocusIntent(t.key);if(!s)return;const i=this.getManagedActiveElement(),e=this.getTargetElement(i,s);e&&(t.preventDefault(),this.applyFocusTarget(e,!0))};getFocusIntent(t){return this.config.enableHomeAndEnd&&"Home"===t?"first":this.config.enableHomeAndEnd&&"End"===t?"last":"horizontal"===this.config.orientation?"ArrowRight"===t?"next":"ArrowLeft"===t?"previous":void 0:"vertical"===this.config.orientation?"ArrowDown"===t?"next":"ArrowUp"===t?"previous":void 0:"ArrowDown"===t||"ArrowRight"===t?"next":"ArrowUp"===t||"ArrowLeft"===t?"previous":void 0}getManagedActiveElement(){const s=t(this.host.el.ownerDocument??document);return s instanceof HTMLElement&&this.elements.includes(s)&&this.canMoveFocusTo(s)?s:this.currentElement&&this.elements.includes(this.currentElement)&&this.canMoveFocusTo(this.currentElement)?this.currentElement:void 0}getTargetElement(t,s){if(!this.elements.length)return;if("first"===s)return this.findFocusableFromIndex(-1,"next");if("last"===s)return this.findFocusableFromIndex(this.elements.length,"previous");const i=t?this.elements.indexOf(t):-1;return-1===i?"next"===s?this.findFocusableFromIndex(-1,"next"):this.findFocusableFromIndex(this.elements.length,"previous"):this.findFocusableFromIndex(i,s)}findFocusableFromIndex(t,s){if(!this.elements.length)return;const i="next"===s?1:-1;for(let s=1;s<=this.elements.length;s++){const e=this.elements[(t+i*s+this.elements.length)%this.elements.length];if(this.canMoveFocusTo(e))return e}}syncManagedFocusTarget(t){const s=this.selectManagedElement(t),i=s!==this.currentElement;this.currentElement=s,this.config.manageTabIndex&&this.updateTabIndexes(s),i&&s&&this.config.onFocusTargetChange?.(s)}selectManagedElement(t){const s=this.getManagedActiveElement();if(s)return s;if(this.currentElement&&this.elements.includes(this.currentElement)&&this.canMoveFocusTo(this.currentElement))return this.currentElement;if(t&&this.elements.includes(t))return this.findFocusableFromIndex(this.elements.indexOf(t),"next")??this.findFocusableFromIndex(-1,"next");return this.elements.find((t=>0===t.tabIndex&&this.canMoveFocusTo(t)))||this.findFocusableFromIndex(-1,"next")}updateTabIndexes(t){this.elements.forEach((s=>{s.tabIndex=t&&s===t?0:-1}))}applyFocusTarget(t,s){const i=t!==this.currentElement;this.currentElement=t,this.config.manageTabIndex&&this.updateTabIndexes(t),s&&t.focus(),i&&this.config.onFocusTargetChange?.(t)}canMoveFocusTo(t){return!!t&&(!t.hasAttribute("disabled")&&((!("disabled"in t)||!Boolean(t.disabled))&&("true"!==t.getAttribute("aria-disabled")&&(this.config.isFocusableElement?this.config.isFocusableElement(t):(this.config.manageTabIndex||t.tabIndex>=0)&&"true"!==t.getAttribute("aria-hidden")&&(t.checkVisibility?.()??!0)&&null!==t.offsetParent))))}}export{i as D}
@@ -1 +0,0 @@
1
- const a=(a,e)=>{a.componentOnReady?a.componentOnReady().then((a=>e(a))):i((()=>e(a)))},e=["role","aria-activedescendant","aria-atomic","aria-autocomplete","aria-braillelabel","aria-brailleroledescription","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colindextext","aria-colspan","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowindextext","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext"],r=(a,r)=>{let i=e;return r&&r.length>0&&(i=i.filter((a=>!r.includes(a)))),((a,e=[])=>{const r={};return e.forEach((e=>{a.hasAttribute(e)&&(null!==a.getAttribute(e)&&(r[e]=a.getAttribute(e)),a.removeAttribute(e))})),r})(a,i)},i=a=>"function"==typeof __zone_symbol__requestAnimationFrame?__zone_symbol__requestAnimationFrame(a):"function"==typeof requestAnimationFrame?requestAnimationFrame(a):setTimeout(a);function t(a=document){let e=a.activeElement;if(!e)return null;for(;e?.shadowRoot;){const a=e.shadowRoot.activeElement;if(!a)break;e=a}return e}function n(a){return!!a&&a instanceof HTMLElement&&a.tabIndex>=0&&!a.hasAttribute("disabled")&&"true"!==a.getAttribute("aria-hidden")&&a.checkVisibility()&&null!==a.offsetParent}function o(a,e){if(a instanceof HTMLFormElement)return a;if("string"==typeof a){const e=document.getElementById(a);return e?e instanceof HTMLFormElement?e:(console.warn(`No Form found with selector: "#${a}". Verify that the element with id exists and is actually a <form> element.`,e),null):(console.warn(`No Form found with selector: "#${a}". Verify that the id is correct and the form is rendered in the DOM.`,e),null)}return void 0!==a?(console.warn('The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.',e),null):e.closest("form")}export{n as a,a as c,o as f,t as g,r as i}
@@ -1 +0,0 @@
1
- const a=["xs","sm","md","lg"],s=[...a,"xl"],e=["text","email","password","tel","url","search","number"],l=["sm","md","lg"],r=["small","default","large"],t=[...a,"inherit"],m=["thin","medium","bold"],n=["active","warning","success","error","neutral"],i=["default","small"],d=["neutral","warning"];export{n as a,m as b,i as c,l as d,e,t as i,d as m,r as s,s as t}
@@ -1 +0,0 @@
1
- import{g as o,r as e,h as r,H as t}from"./p-BPeerEwm.js";import{a,c as s}from"./p-DWePb-zu.js";import{A as l}from"./p-CPOia2kT.js";import{R as c}from"./p-FBuCCcFC.js";import{i as n}from"./p-CdDO7mQa.js";const i=class extends c{ariaValidationController=new l(this);beforeSlot;defaultSlot;afterSlot;get el(){return o(this)}get validationEl(){return this.el}type="active";size="default";constructor(o){super(),e(this,o),this.addController(this.ariaValidationController)}normalizeType(o){const e=a.includes(o)?o:"active";e!==this.type&&(this.type=e)}normalizeSize(o){const e=s.includes(o)?o:"default";e!==this.size&&(this.size=e)}componentWillLoad(){this.normalizeType(this.type),this.normalizeSize(this.size),super.componentWillLoad()}connectedCallback(){super.connectedCallback(),this.checkContent()}checkContent=function(o){let e;return()=>{void 0!==e&&window.clearTimeout(e),e=window.setTimeout((()=>{o(),e=void 0}),500)}}((()=>{n()&&([...this.beforeSlot?.assignedElements()??[],...this.defaultSlot?.assignedElements()??[],...this.afterSlot?.assignedElements()??[]].length||console.warn("LmvzChip has no assigned content. Please add content to the default slot or the before-text/after-text slots."))}));render(){return r(t,{key:"70654d69189e77f9356853a921366083b2c4b969",type:this.type,size:this.size},r("slot",{key:"c7e667b93166286fe68a812dd8eec82885e3fc5e",name:"before-text",ref:o=>this.beforeSlot=o,onSlotchange:()=>this.checkContent()}),r("span",{key:"af38dd0429b42685a114e26175ce42d09f5fdcc1",class:"content-overflow-wrapper"},r("slot",{key:"924158498d65b9ac7c912b6b1a479016176e0b78",ref:o=>this.defaultSlot=o,onSlotchange:()=>this.checkContent()})),r("slot",{key:"9ff0394dbfb2131fafe513d0f2d8ce26c7781f20",name:"after-text",ref:o=>this.afterSlot=o,onSlotchange:()=>this.checkContent()}))}static get watchers(){return{type:[{normalizeType:0}],size:[{normalizeSize:0}]}}};i.style=":host { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-neutral-subtle, #d4d4d4); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-neutral, #fcfcfc); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-neutral, #545454); padding-block: var(--lmvz-dimension-4-6, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)); padding-inline: var(--lmvz-dimension-8-10, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); border: 1px solid var(--lmvz-chip-border-color); border-radius: var(--lmvz-semantic-border-radius-round, 999px); font: var(--lmvz-typography-body-xs-strong); background-color: var(--lmvz-chip-background-color); color: var(--lmvz-chip-foreground-color); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-dimension-4-6, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)); box-sizing: border-box; max-width: 100%; overflow: hidden; white-space: nowrap; > .content-overflow-wrapper { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } :host([size='small']) { padding-block: var(--lmvz-dimension-2-4, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); padding-inline: var(--lmvz-dimension-6-8, clamp(0.38rem, 0.34rem + 0.13vw, 0.5rem)); font: var(--lmvz-typography-body-2xs-strong); gap: var(--lmvz-dimension-2-4, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); } ::slotted(*) { display: inline; white-space: inherit; } ::slotted(lmvz-icon) { --lmvz-component-color: var(--lmvz-chip-foreground-color); --lmvz-component-size: var(--lmvz-dimension-12-14, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } :host([size='small']) ::slotted(lmvz-icon) { --lmvz-component-size: var(--lmvz-dimension-10-12, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)); } :host([type='active']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-active-subtle, #c1e6fa); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-active, #f6fbfe); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); } :host([type='warning']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-warning-subtle, #ffdf75); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-warning, #fffbf0); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-warning, #7a5e00); } :host([type='success']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-success-subtle, #a5dad3); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-success, #f1f9f8); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-success, #37867c); } :host([type='error']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-danger-subtle, #f7bfc2); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-danger, #fdf1f2); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); } :host([type='neutral']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-neutral-subtle, #d4d4d4); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-neutral, #fcfcfc); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-neutral, #545454); } ";export{i as lmvz_chip}
@@ -1 +0,0 @@
1
- import{r as e,c as t,h as s,H as a}from"./p-BPeerEwm.js";import{t as i}from"./p-CcxjkCOx.js";import{i as o}from"./p-CdDO7mQa.js";import{c as r}from"./p-BSV3KDWl.js";import{i as n,w as l}from"./p-DsT_K3_I.js";import"./p-CGmJG63p.js";const m=i(n),c=i(l),d=i(r),v={neutral:m,warning:c},f=new Set(["ADDRESS","ARTICLE","ASIDE","BLOCKQUOTE","CAPTION","COLGROUP","DD","DETAILS","DIALOG","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","LI","MAIN","MENU","NAV","OL","P","PRE","SECTION","TABLE","TBODY","TD","TH","THEAD","TFOOT","TR","UL"]),h=class{constructor(s){e(this,s),this.lmvzDismiss=t(this,"lmvzDismiss",6),this.lmvzAction=t(this,"lmvzAction",6)}messageSlot;warnedTags=new Set;type="neutral";live="off";leadingIcon=!0;dismissible=!1;closeLabel="Schliessen";actionLabel;lmvzDismiss;lmvzAction;componentDidLoad(){this.checkSlotContent()}handleDismissClick=()=>{this.lmvzDismiss.emit()};handleActionClick=()=>{this.lmvzAction.emit()};handleSlotChange=()=>{this.checkSlotContent()};checkSlotContent(){if(!o())return;this.warnedTags.clear();const e=this.messageSlot?.assignedElements({flatten:!0})??[];for(const t of e){const e=t.tagName;f.has(e)&&!this.warnedTags.has(e)&&(console.warn(`[lmvz-message] Block-level element <${e.toLowerCase()}> is not allowed in the message slot. Only inline content is permitted.`),this.warnedTags.add(e))}}render(){return s(a,{key:"447fd8ce5b2c9cd176eb4408e9e29773364bfcef",role:"assertive"===this.live?"alert":"polite"===this.live?"status":"note"},this.leadingIcon&&s("span",{key:"63414bc912e2feda3a553ead42c660953e25d4c4",class:"leading-icon","aria-hidden":"true",innerHTML:v[this.type]}),s("span",{key:"4cbdeffedcb8e8c3b7a267b25d2ab2eef6ad26bb",class:"message"},s("slot",{key:"b7b6a462f9ae5571114c8b8876387ee9f97c9903",ref:e=>this.messageSlot=e,onSlotchange:this.handleSlotChange})),this.actionLabel&&s("lmvz-button",{key:"7b4362ef6d69e27cc614b2445daf5f217e8f21ea",variant:"tertiary",scale:"small",onLmvzActivation:this.handleActionClick},this.actionLabel),this.dismissible&&s("lmvz-button",{key:"dae3ff6f9f8606811722c08b6465145b542149a1",variant:"tertiary",scale:"small","aria-label":this.closeLabel,onClick:this.handleDismissClick},s("lmvz-icon",{key:"0e5e7e1deef5027e218271c79d04b43f3a3109e1","aria-hidden":"true",icon:d})))}};h.style=":host{display:flex;flex-direction:row;align-items:flex-start;width:100%;padding:var(--lmvz-dimension-10-12, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)) var(--lmvz-dimension-12-14, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem));gap:var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));border:var(--lmvz-semantic-border-width-default, 1px) solid;border-radius:var(--lmvz-semantic-border-radius-md, 6px);font:var(--lmvz-typography-body-md-strong)}:host([type='neutral']){background-color:var(--lmvz-semantic-color-status-active, #f6fbfe);border-color:var(--lmvz-semantic-color-status-on-active-subtle, #c1e6fa);color:var(--lmvz-semantic-color-status-on-active, #0e7ab4)}:host([type='warning']){background-color:var(--lmvz-semantic-color-status-warning, #fffbf0);border-color:var(--lmvz-semantic-color-status-on-warning-subtle, #ffdf75);color:var(--lmvz-semantic-color-status-on-warning, #7a5e00)}.leading-icon{flex-shrink:0;display:flex;align-items:flex-start;padding-top:2px;width:var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem));height:var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem))}.leading-icon svg{width:100%;height:100%}.message{flex:1}";export{h as lmvz_message}
@@ -1 +0,0 @@
1
- import{g as t,r as e,c as r,h as i}from"./p-BPeerEwm.js";import{c as a}from"./p-BfTCfPZ1.js";import{A as o}from"./p-CPOia2kT.js";import{c as n}from"./p-DOTK1OW3.js";import{R as l}from"./p-FBuCCcFC.js";import"./p-CdDO7mQa.js";let s=0;const p=class extends l{get el(){return t(this)}get validationEl(){return this.el}lmvzInput;internals;nativeInputElement;inputId="lmvz-input-"+s++;initialValue="";nativeError=!1;errorFromProp=!1;get helperId(){return this.helperText?`${this.inputId}-helper`:void 0}get showErrorMessage(){return this.error&&Boolean(this.errorMessage)}get errorId(){return`${this.inputId}-error`}get describedBy(){const t=[];return this.helperId&&t.push(this.helperId),this.showErrorMessage&&t.push(this.errorId),t.length>0?t.join(" "):void 0}value;label;helperText;placeholder;disabled=!1;readonly=!1;required=!1;name;type="text";errorMessage;autocomplete;inputmode;autocorrect;autocapitalize;spellcheck;autofocus=!1;minlength;maxlength;pattern;min;max;step;form;size="md";get error(){return this.errorFromProp||this.nativeError}set error(t){this.errorFromProp=t}async setValue(t){const e=this.nativeInputElement,r=t??"";e&&(e.value=r),this.value=r,this.internals.setFormValue?.(r),this.lmvzInput.emit(r)}async focusInput(){this.nativeInputElement?.focus()}async blurInput(){this.nativeInputElement?.blur()}async select(){this.nativeInputElement?.select()}async checkValidity(){return this.nativeInputElement?.checkValidity?.()??!1}async reportValidity(){return this.nativeInputElement?.reportValidity?.()??!1}async getInputElement(){return this.nativeInputElement||await new Promise((t=>n(this.el,t))),Promise.resolve(this.nativeInputElement)}constructor(t){super(),e(this,t),this.lmvzInput=r(this,"lmvzInput",7),t.$hostElement$["s-ei"]?this.internals=t.$hostElement$["s-ei"]:(this.internals=t.$hostElement$.attachInternals(),t.$hostElement$["s-ei"]=this.internals),this.addController(new o(this,{reValidateOnPropChanges:!0}))}componentWillLoad(){this.initialValue=this.value??"",super.componentWillLoad()}formAssociatedCallback(t){t&&this.internals.setFormValue?.(this.value??"")}formResetCallback(){this.internals.setValidity({}),this.setValue(this.initialValue)}formStateRestoreCallback(t){this.setValue(t)}handleValueChange(t){this.nativeInputElement&&(this.nativeInputElement.value===t||this.setValue(t))}handleDisabledChange(t){t&&this.nativeInputElement&&this.nativeInputElement.blur()}handleInput=t=>{this.setValue(t.target.value)};handleChange=t=>{this.updateNativeError(t.target??this.nativeInputElement)};handleFocus=()=>{};handleBlur=t=>{const e=t.target;e.reportValidity?.()};updateNativeError(t){const e=t??this.nativeInputElement;e&&(this.nativeError=!(e.checkValidity?.()??1))}render(){const t=Boolean(this.value),e=t||Boolean(this.placeholder);return i("div",{key:"4be6846147fec950acad0c0cb8643bfa69233935",class:a("input-container",{"interaction-filled":t})},i("div",{key:"ae9bf8ffd91b73a86c2ebd21af051efe26a1d5fd",class:"input-wrapper"},i("slot",{key:"36b3f7d97a11296aeead44c4d8ab4f0f8edf62d1",name:"before-input"}),i("div",{key:"4320f461ffa908730cd898863f43644aa3677081",class:"label-input-group"},i("label",{key:"1dd51cf16f064303fd9c5249cbe3a357c7515ddc",htmlFor:this.inputId,class:a({floating:e})},this.label,this.required&&i("span",{key:"74bb8124b1126501201eb7c3361c6cf7f17dda5c",class:"required-indicator","aria-hidden":"true"}," ","*")),i("input",{key:"9cff77bea65c50331a6804d7039672bbe01e710c",id:this.inputId,ref:t=>this.nativeInputElement=t,type:this.type,min:this.min,max:this.max,step:this.step,value:this.value,name:this.name,placeholder:this.placeholder,disabled:this.disabled,readOnly:this.readonly,required:this.required,form:this.form,autocomplete:this.autocomplete,inputmode:this.inputmode,autocorrect:this.autocorrect,autocapitalize:this.autocapitalize,spellcheck:this.spellcheck,autofocus:this.autofocus,minlength:this.minlength,maxlength:this.maxlength,pattern:this.pattern,"aria-invalid":this.error?"true":"false","aria-required":this.required?"true":"false","aria-describedby":this.describedBy,"aria-errormessage":this.errorId,onInput:this.handleInput,onChange:this.handleChange,onFocus:this.handleFocus,onBlur:this.handleBlur})),i("slot",{key:"689a3aa53e22f89173893adbc72eaf4953a2c7f6",name:"after-input"})),i("div",{key:"d29b9ea209c138d0de09f71042f539a56ed4f9fa",id:this.helperId,role:"status"},this.helperText||null),i("div",{key:"8be227367abadb0e001d9475f0793aed31dbb64a",id:this.errorId,role:"alert"},this.showErrorMessage&&this.errorMessage||null))}static get formAssociated(){return!0}static get watchers(){return{value:[{handleValueChange:0}],disabled:[{handleDisabledChange:0}]}}};p.style="@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } .sc-lmvz-input-h { display: block; font-family: var(--lmvz-global-font-family-default, Router); --input-radius: var(--lmvz-component-input-radius-default, 999px); --input-bg: var(--lmvz-semantic-color-surface-input-primary, #ffffff); --input-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); --input-border-color-hover: var(--lmvz-semantic-color-border-hover, #c7c7c7); --input-border-color-focus: var(--lmvz-semantic-color-border-active, #0f8acc); --input-border-width: var(--lmvz-semantic-border-width-default, 1px); --input-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --input-padding-x: var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); --input-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --input-font-size: var(--lmvz-component-body-md-font-size, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); --label-color: var(--lmvz-semantic-color-on-surface-input-secondary, #545454); --input-text-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --helper-text-color: var(--lmvz-semantic-color-on-surface-input-secondary, #545454); --error-text-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); --label-minimized-bg: var(--input-bg); --label-minimized-padding-x: 4px; --input-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); } [size='sm'].sc-lmvz-input-h { --input-height: var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem)); --input-padding-x: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --input-gap: var(--lmvz-component-input-gap-sm, clamp(0.38rem, 0.31rem + 0.26vw, 0.63rem)); --input-font-size: var(--lmvz-component-body-sm-font-size, clamp(0.69rem, 0.67rem + 0.06vw, 0.75rem)); } [size='md'].sc-lmvz-input-h { --input-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --input-padding-x: var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); --input-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --input-font-size: var(--lmvz-component-body-md-font-size, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); } [size='lg'].sc-lmvz-input-h { --input-height: var(--lmvz-component-input-size-lg, clamp(2.75rem, 2.69rem + 0.26vw, 3rem)); --input-padding-x: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --input-gap: var(--lmvz-component-input-gap-lg, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --input-font-size: var(--lmvz-component-body-lg-font-size, clamp(1rem, 0.97rem + 0.13vw, 1.13rem)); } .input-container.sc-lmvz-input { display: flex; flex-direction: column; position: relative; width: 100%; } .input-wrapper.sc-lmvz-input { background-color: var(--input-bg); border: var(--input-border-width) solid var(--input-border-color); border-radius: var(--input-radius); display: flex; align-items: center; height: var(--input-height); padding: 0 var(--input-padding-x); position: relative; transition: border-color 0.2s ease; gap: var(--input-gap); } [disabled].sc-lmvz-input-h .input-wrapper.sc-lmvz-input { opacity: var(--input-disabled-opacity); cursor: not-allowed; pointer-events: none; } .input-container.sc-lmvz-input:focus-within .input-wrapper.sc-lmvz-input { border-color: var(--input-border-color-focus); outline: var(--lmvz-ds-outline); outline-offset: var(--lmvz-ds-outline-offset); } [error].sc-lmvz-input-h .input-wrapper.sc-lmvz-input { border-color: var(--error-text-color); } .sc-lmvz-input-h:not([disabled]) .input-wrapper.sc-lmvz-input:hover { border-color: var(--input-border-color-hover); } .label-input-group.sc-lmvz-input { position: relative; flex-grow: 1; display: flex; align-items: center; height: 100%; } label.sc-lmvz-input { position: absolute; left: 0; top: 50%; transform: translateY(-50%); color: var(--label-color); font-size: var(--input-font-size); font-weight: 400; pointer-events: none; transition: all 0.2s ease-out; background-color: transparent; padding: 0; margin: 0; line-height: 1.5; white-space: nowrap; } label.floating.sc-lmvz-input { top: 0.5em; transform: translateY(-100%); transform-origin: left top; font-size: var(--lmvz-component-body-2xs-font-size, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); background-color: var(--label-minimized-bg); padding: 0 var(--label-minimized-padding-x); left: -2px; color: var(--input-text-color); font-weight: 400; } .required-indicator.sc-lmvz-input { color: var(--error-text-color); margin-left: 2px; } input.sc-lmvz-input { border: none; background: transparent; width: 100%; height: 100%; color: var(--input-text-color); font-family: inherit; font-size: var(--input-font-size); outline: none; padding: 0; margin: 0; font-weight: 400; } input.sc-lmvz-input::placeholder { color: var(--label-color); } div.sc-lmvz-input:empty { display: none; } [role='status'].sc-lmvz-input { padding-top: 8px; padding-left: var(--input-padding-x); font-size: 12px; color: var(--helper-text-color); font-weight: 400; } [role='alert'].sc-lmvz-input { padding-top: 8px; padding-left: var(--input-padding-x); font-size: 12px; color: var(--error-text-color); font-weight: 400; } .sc-lmvz-input-s > lmvz-button { --lmvz-button-padding: 4px; }";export{p as lmvz_input}