@lmvz-ds/components 0.12.5-alpha.5 → 0.13.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 (119) hide show
  1. package/dist/{esm/Effect-BhQLGXPs.js → cjs/assets-CB5ikzmP.js} +857 -4832
  2. package/dist/cjs/{icons-7wUEcWEo.js → icons-DM_TTn48.js} +363 -113
  3. package/dist/cjs/{index-CVw4GUo6.js → index-Bp6Dd2i1.js} +4 -2
  4. package/dist/cjs/{index-9ZJx0550.js → index-D3BMpL5w.js} +0 -3
  5. package/dist/cjs/index.cjs.js +4 -6
  6. package/dist/cjs/lmvz-action.cjs.entry.js +1 -1
  7. package/dist/cjs/lmvz-button.cjs.entry.js +7 -10
  8. package/dist/cjs/lmvz-card.cjs.entry.js +3 -4
  9. package/dist/cjs/lmvz-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/lmvz-components.cjs.js +1 -1
  11. package/dist/cjs/lmvz-header.cjs.entry.js +13 -12
  12. package/dist/cjs/lmvz-icon.cjs.entry.js +8 -10
  13. package/dist/cjs/lmvz-input.cjs.entry.js +8 -11
  14. package/dist/cjs/lmvz-menuitem.cjs.entry.js +5 -7
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/reactive-controller-host-BMDEj1kX.js +168 -0
  17. package/dist/collection/components/lmvz-button/lmvz-button.js +4 -4
  18. package/dist/collection/components/lmvz-header/lmvz-header.js +11 -8
  19. package/dist/collection/components/lmvz-icon/lmvz-icon.js +2 -2
  20. package/dist/collection/components/lmvz-icon/test/icons.unit.js +21 -12
  21. package/dist/collection/components/lmvz-input/lmvz-input.css +5 -2
  22. package/dist/collection/components/lmvz-input/lmvz-input.js +3 -3
  23. package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.js +4 -4
  24. package/dist/collection/integration/header-integration.js +4 -2
  25. package/dist/collection/utils/{validation → aria}/aria-validation-controller.js +15 -34
  26. package/dist/collection/utils/{list-keyboard-controller.js → aria/list-keyboard-controller.js} +1 -1
  27. package/dist/collection/utils/{http.test.js → http.unit.js} +7 -6
  28. package/dist/components/index.js +1 -1
  29. package/dist/components/lmvz-action.js +1 -1
  30. package/dist/components/lmvz-button.js +1 -1
  31. package/dist/components/lmvz-card.js +1 -1
  32. package/dist/components/lmvz-chip.js +1 -1
  33. package/dist/components/lmvz-header.js +1 -1
  34. package/dist/components/lmvz-icon.js +1 -1
  35. package/dist/components/lmvz-input.js +1 -1
  36. package/dist/components/lmvz-menuitem.js +1 -1
  37. package/dist/components/p-BBDH9X49.js +1 -0
  38. package/dist/components/{p-DMLRPGid.js → p-BfTCfPZ1.js} +1 -1
  39. package/dist/components/p-Bs6_m7Uw.js +1 -0
  40. package/dist/components/p-CMteT-Yo.js +1 -0
  41. package/dist/components/p-vi4YzJmv.js +1 -0
  42. package/dist/{cjs/Effect-CNhHt4Xb.js → esm/assets-ozES4zSA.js} +785 -5032
  43. package/dist/esm/{icons-Bx1wWPM2.js → icons-kpJZ1u9g.js} +268 -18
  44. package/dist/esm/{index-Bt32KzDW.js → index-BfTCfPZ1.js} +3 -1
  45. package/dist/esm/{index-smGPjoDX.js → index-T5ljELGS.js} +1 -3
  46. package/dist/esm/index.js +3 -5
  47. package/dist/esm/lmvz-action.entry.js +1 -1
  48. package/dist/esm/lmvz-button.entry.js +5 -8
  49. package/dist/esm/lmvz-card.entry.js +2 -3
  50. package/dist/esm/lmvz-chip.entry.js +1 -1
  51. package/dist/esm/lmvz-components.js +2 -2
  52. package/dist/esm/lmvz-header.entry.js +11 -10
  53. package/dist/esm/lmvz-icon.entry.js +5 -7
  54. package/dist/esm/lmvz-input.entry.js +6 -9
  55. package/dist/esm/lmvz-menuitem.entry.js +3 -5
  56. package/dist/esm/loader.js +2 -2
  57. package/dist/esm/reactive-controller-host-CZ3dGAjR.js +165 -0
  58. package/dist/lmvz-components/index.esm.js +1 -1
  59. package/dist/lmvz-components/lmvz-components.esm.js +1 -1
  60. package/dist/lmvz-components/p-16878d4c.entry.js +1 -0
  61. package/dist/lmvz-components/p-4ad8c332.entry.js +1 -0
  62. package/dist/lmvz-components/p-5eee0752.entry.js +1 -0
  63. package/dist/lmvz-components/p-8ea1a349.entry.js +1 -0
  64. package/dist/lmvz-components/{p-d4b68381.entry.js → p-980688a0.entry.js} +1 -1
  65. package/dist/lmvz-components/{p-DMLRPGid.js → p-BfTCfPZ1.js} +1 -1
  66. package/dist/lmvz-components/p-CZ3dGAjR.js +1 -0
  67. package/dist/lmvz-components/p-D9lc4ayG.js +1 -0
  68. package/dist/lmvz-components/p-T5ljELGS.js +2 -0
  69. package/dist/lmvz-components/p-a34542fa.entry.js +1 -0
  70. package/dist/lmvz-components/p-d2bf6a3f.entry.js +1 -0
  71. package/dist/lmvz-components/{p-9faac8f3.entry.js → p-feda2ec5.entry.js} +1 -1
  72. package/dist/lmvz-components/p-iviTjlUy.js +1 -0
  73. package/dist/manifest.json +3 -3
  74. package/dist/types/components/lmvz-button/lmvz-button.d.ts +2 -2
  75. package/dist/types/components/lmvz-header/lmvz-header.d.ts +5 -4
  76. package/dist/types/components/lmvz-icon/lmvz-icon.d.ts +1 -1
  77. package/dist/types/components/lmvz-input/lmvz-input.d.ts +1 -1
  78. package/dist/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +2 -2
  79. package/dist/types/components.d.ts +6 -0
  80. package/dist/types/utils/{validation → aria}/aria-validation-controller.d.ts +1 -5
  81. package/dist/types/utils/{element-activation-controller.d.ts → aria/element-activation-controller.d.ts} +2 -2
  82. package/dist/types/utils/{list-keyboard-controller.d.ts → aria/list-keyboard-controller.d.ts} +1 -1
  83. package/hydrate/index.js +9610 -50169
  84. package/hydrate/index.mjs +9610 -50169
  85. package/package.json +17 -18
  86. package/readme.md +18 -0
  87. package/dist/cjs/MutableQueue-Bk9tBfaK.js +0 -462
  88. package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -7
  89. package/dist/cjs/aria-validation-controller-B3hMkau3.js +0 -2930
  90. package/dist/cjs/assets-BguFB3wV.js +0 -71
  91. package/dist/cjs/axe-BNqwbBGU.js +0 -32834
  92. package/dist/components/p-3I3wZmp8.js +0 -1
  93. package/dist/components/p-B85MJLTf.js +0 -1
  94. package/dist/components/p-BaPwpeMs.js +0 -1
  95. package/dist/components/p-CAi33KTt.js +0 -1
  96. package/dist/components/p-CdofjRtQ.js +0 -1
  97. package/dist/components/p-D1HbKFuh.js +0 -12
  98. package/dist/components/p-UwhTS2ue.js +0 -1
  99. package/dist/esm/MutableQueue-CNlEFklh.js +0 -431
  100. package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -5
  101. package/dist/esm/aria-validation-controller-iA4YWFG-.js +0 -2927
  102. package/dist/esm/assets-Iu8neKuE.js +0 -67
  103. package/dist/esm/axe-cRQ9Ux1I.js +0 -32832
  104. package/dist/lmvz-components/p-1a10fcbd.entry.js +0 -1
  105. package/dist/lmvz-components/p-274c36df.entry.js +0 -1
  106. package/dist/lmvz-components/p-4XIjw3k8.js +0 -1
  107. package/dist/lmvz-components/p-4b70fe08.entry.js +0 -1
  108. package/dist/lmvz-components/p-51Fb_qqD.js +0 -1
  109. package/dist/lmvz-components/p-68001ab7.entry.js +0 -1
  110. package/dist/lmvz-components/p-77e26e71.entry.js +0 -1
  111. package/dist/lmvz-components/p-B85MJLTf.js +0 -1
  112. package/dist/lmvz-components/p-BhQLGXPs.js +0 -1
  113. package/dist/lmvz-components/p-CXWyvf0D.js +0 -1
  114. package/dist/lmvz-components/p-D1HbKFuh.js +0 -12
  115. package/dist/lmvz-components/p-D7I-Bc5i.js +0 -1
  116. package/dist/lmvz-components/p-c8b78793.entry.js +0 -1
  117. package/dist/lmvz-components/p-smGPjoDX.js +0 -2
  118. /package/dist/collection/utils/{element-activation-controller.js → aria/element-activation-controller.js} +0 -0
  119. /package/dist/types/utils/{http.test.d.ts → http.unit.d.ts} +0 -0
@@ -1,6 +1,4 @@
1
- import { g as getOrThrowWith, b as right, d as left, i as identity, e as isRight, f as getRight, m as match, h as decode, j as map, k as all, n as context, o as fiberId, p as merge, q as sync, u as size, v as suspend, w as get, x as succeed, y as none, z as has, A as isSome, B as some, C as getOrUndefined, D as set, E as struct, F as flatMap, G as remove, H as empty, I as clockWith, J as compareAndSet, K as set$1, L as make$2, M as symbol, N as pipe, O as cached, P as combine, Q as hash, R as symbol$1, S as hasProperty, T as equals, U as asVoid, V as when, W as toMillis, X as onInterrupt, Y as zipRight, Z as exit, _ as provideContext, $ as gen, a0 as tryPromise, a1 as try_, a2 as logWarning, a3 as infinity } from './Effect-BhQLGXPs.js';
2
- import { u as unsafeMake, o as offer, p as poll, E as EmptyMutableQueue, a as unbounded, _ as _await, s as succeed$1, i as interrupt, d as done } from './MutableQueue-CNlEFklh.js';
3
- import { T as TaggedError, s as syncCreateAssetUrlSafely } from './assets-Iu8neKuE.js';
1
+ import { g as getOrThrowWith, d as right, e as left, i as identity, f as isRight, h as getRight, m as match, j as deferredUnsafeMake, k as deferredAwait, n as deferredInterrupt, o as deferredDone, p as exitSucceed, q as dual, u as pipeArguments, N as NodeInspectSymbol, v as toJSON, w as format, x as decode, y as map, z as all, A as merge, B as sync, C as size, D as suspend, E as get, F as succeed$1, G as none, H as has, I as isSome, J as some, K as getOrUndefined, L as set, M as struct, O as flatMap, P as remove$1, Q as empty$1, R as clockWith, S as compareAndSet, T as set$1, U as make$3, V as symbol, W as pipe, X as cached, Y as combine, Z as hash, _ as symbol$1, $ as hasProperty, a0 as equals, a1 as asVoid, a2 as when, a3 as toMillis, a4 as onInterrupt, a5 as zipRight, a6 as exit, a7 as provideContext, a8 as context, a9 as fiberId, aa as TaggedError, ab as gen, ac as tryPromise, ad as try_, ae as infinity, s as syncCreateAssetUrlSafely, af as logWarning } from './assets-ozES4zSA.js';
4
2
 
5
3
  /**
6
4
  * This module provides types and utility functions to create and work with branded types,
@@ -50,6 +48,258 @@ function refined(...args) {
50
48
  });
51
49
  }
52
50
 
51
+ const _await = deferredAwait;
52
+ /**
53
+ * Exits the `Deferred` with the specified `Exit` value, which will be
54
+ * propagated to all fibers waiting on the value of the `Deferred`.
55
+ *
56
+ * @since 2.0.0
57
+ * @category utils
58
+ */
59
+ const done = deferredDone;
60
+ /**
61
+ * Completes the `Deferred` with interruption. This will interrupt all fibers
62
+ * waiting on the value of the `Deferred` with the `FiberId` of the fiber
63
+ * calling this method.
64
+ *
65
+ * @since 2.0.0
66
+ * @category utils
67
+ */
68
+ const interrupt = deferredInterrupt;
69
+ /**
70
+ * Unsafely creates a new `Deferred` from the specified `FiberId`.
71
+ *
72
+ * @since 2.0.0
73
+ * @category unsafe
74
+ */
75
+ const unsafeMake = deferredUnsafeMake;
76
+
77
+ /**
78
+ * Constructs a new `Exit.Success` containing the specified value of type `A`.
79
+ *
80
+ * @since 2.0.0
81
+ * @category constructors
82
+ */
83
+ const succeed = exitSucceed;
84
+
85
+ /**
86
+ * @since 2.0.0
87
+ */
88
+ const TypeId$1 = /*#__PURE__*/Symbol.for("effect/MutableList");
89
+ const MutableListProto = {
90
+ [TypeId$1]: TypeId$1,
91
+ [Symbol.iterator]() {
92
+ let done = false;
93
+ let head = this.head;
94
+ return {
95
+ next() {
96
+ if (done) {
97
+ return this.return();
98
+ }
99
+ if (head == null) {
100
+ done = true;
101
+ return this.return();
102
+ }
103
+ const value = head.value;
104
+ head = head.next;
105
+ return {
106
+ done,
107
+ value
108
+ };
109
+ },
110
+ return(value) {
111
+ if (!done) {
112
+ done = true;
113
+ }
114
+ return {
115
+ done: true,
116
+ value
117
+ };
118
+ }
119
+ };
120
+ },
121
+ toString() {
122
+ return format(this.toJSON());
123
+ },
124
+ toJSON() {
125
+ return {
126
+ _id: "MutableList",
127
+ values: Array.from(this).map(toJSON)
128
+ };
129
+ },
130
+ [NodeInspectSymbol]() {
131
+ return this.toJSON();
132
+ },
133
+ pipe() {
134
+ return pipeArguments(this, arguments);
135
+ }
136
+ };
137
+ /** @internal */
138
+ const makeNode = value => ({
139
+ value,
140
+ removed: false,
141
+ prev: undefined,
142
+ next: undefined
143
+ });
144
+ /**
145
+ * Creates an empty `MutableList`.
146
+ *
147
+ * @since 2.0.0
148
+ * @category constructors
149
+ */
150
+ const empty = () => {
151
+ const list = Object.create(MutableListProto);
152
+ list.head = undefined;
153
+ list.tail = undefined;
154
+ list._length = 0;
155
+ return list;
156
+ };
157
+ /**
158
+ * Returns `true` if the list contains zero elements, `false`, otherwise.
159
+ *
160
+ * @since 2.0.0
161
+ * @category getters
162
+ */
163
+ const isEmpty = self => length(self) === 0;
164
+ /**
165
+ * Returns the length of the list.
166
+ *
167
+ * @since 2.0.0
168
+ * @category getters
169
+ */
170
+ const length = self => self._length;
171
+ /**
172
+ * Appends the specified element to the end of the `MutableList`.
173
+ *
174
+ * @category concatenating
175
+ * @since 2.0.0
176
+ */
177
+ const append = /*#__PURE__*/dual(2, (self, value) => {
178
+ const node = makeNode(value);
179
+ if (self.head === undefined) {
180
+ self.head = node;
181
+ }
182
+ if (self.tail === undefined) {
183
+ self.tail = node;
184
+ } else {
185
+ self.tail.next = node;
186
+ node.prev = self.tail;
187
+ self.tail = node;
188
+ }
189
+ self._length += 1;
190
+ return self;
191
+ });
192
+ /**
193
+ * Removes the first value from the list and returns it, if it exists.
194
+ *
195
+ * @since 0.0.1
196
+ */
197
+ const shift = self => {
198
+ const head = self.head;
199
+ if (head !== undefined) {
200
+ remove(self, head);
201
+ return head.value;
202
+ }
203
+ return undefined;
204
+ };
205
+ const remove = (self, node) => {
206
+ if (node.removed) {
207
+ return;
208
+ }
209
+ node.removed = true;
210
+ if (node.prev !== undefined && node.next !== undefined) {
211
+ node.prev.next = node.next;
212
+ node.next.prev = node.prev;
213
+ } else if (node.prev !== undefined) {
214
+ self.tail = node.prev;
215
+ node.prev.next = undefined;
216
+ } else if (node.next !== undefined) {
217
+ self.head = node.next;
218
+ node.next.prev = undefined;
219
+ } else {
220
+ self.tail = undefined;
221
+ self.head = undefined;
222
+ }
223
+ if (self._length > 0) {
224
+ self._length -= 1;
225
+ }
226
+ };
227
+
228
+ /**
229
+ * @since 2.0.0
230
+ */
231
+ const TypeId = /*#__PURE__*/Symbol.for("effect/MutableQueue");
232
+ /**
233
+ * @since 2.0.0
234
+ * @category symbol
235
+ */
236
+ const EmptyMutableQueue = /*#__PURE__*/Symbol.for("effect/mutable/MutableQueue/Empty");
237
+ const MutableQueueProto = {
238
+ [TypeId]: TypeId,
239
+ [Symbol.iterator]() {
240
+ return Array.from(this.queue)[Symbol.iterator]();
241
+ },
242
+ toString() {
243
+ return format(this.toJSON());
244
+ },
245
+ toJSON() {
246
+ return {
247
+ _id: "MutableQueue",
248
+ values: Array.from(this).map(toJSON)
249
+ };
250
+ },
251
+ [NodeInspectSymbol]() {
252
+ return this.toJSON();
253
+ },
254
+ pipe() {
255
+ return pipeArguments(this, arguments);
256
+ }
257
+ };
258
+ const make$2 = capacity => {
259
+ const queue = Object.create(MutableQueueProto);
260
+ queue.queue = empty();
261
+ queue.capacity = capacity;
262
+ return queue;
263
+ };
264
+ /**
265
+ * Creates a new unbounded `MutableQueue`.
266
+ *
267
+ * @since 2.0.0
268
+ * @category constructors
269
+ */
270
+ const unbounded = () => make$2(undefined);
271
+ /**
272
+ * Offers an element to the queue.
273
+ *
274
+ * Returns whether the enqueue was successful or not.
275
+ *
276
+ * @since 2.0.0
277
+ */
278
+ const offer = /*#__PURE__*/dual(2, (self, value) => {
279
+ const queueLength = length(self.queue);
280
+ if (self.capacity !== undefined && queueLength === self.capacity) {
281
+ return false;
282
+ }
283
+ append(value)(self.queue);
284
+ return true;
285
+ });
286
+ /**
287
+ * Dequeues an element from the queue.
288
+ *
289
+ * Returns either an element from the queue, or the `def` param.
290
+ *
291
+ * **Note**: if there is no meaningful default for your type, you can always
292
+ * use `poll(MutableQueue.EmptyMutableQueue)`.
293
+ *
294
+ * @since 2.0.0
295
+ */
296
+ const poll = /*#__PURE__*/dual(2, (self, def) => {
297
+ if (isEmpty(self.queue)) {
298
+ return def;
299
+ }
300
+ return shift(self.queue);
301
+ });
302
+
53
303
  /** @internal */
54
304
  const complete = (key, exit, entryStats, timeToLiveMillis) => struct({
55
305
  _tag: "Complete",
@@ -157,7 +407,7 @@ const makeCacheState = (map, keys, accesses, updating, hits, misses) => ({
157
407
  *
158
408
  * @internal
159
409
  */
160
- const initialCacheState = () => makeCacheState(empty(), makeKeySet(), unbounded(), make$2(false), 0, 0);
410
+ const initialCacheState = () => makeCacheState(empty$1(), makeKeySet(), unbounded(), make$3(false), 0, 0);
161
411
  /** @internal */
162
412
  const CacheSymbolKey = "effect/Cache";
163
413
  /** @internal */
@@ -221,7 +471,7 @@ class CacheImpl {
221
471
  const mapKey = makeMapKey(key);
222
472
  this.trackAccess(mapKey);
223
473
  this.trackMiss();
224
- return succeed(none());
474
+ return succeed$1(none());
225
475
  },
226
476
  onSome: value => this.resolveMapValue(value)
227
477
  }));
@@ -232,7 +482,7 @@ class CacheImpl {
232
482
  const mapKey = makeMapKey(key);
233
483
  this.trackAccess(mapKey);
234
484
  this.trackMiss();
235
- return succeed(none());
485
+ return succeed$1(none());
236
486
  },
237
487
  onSome: value => this.resolveMapValue(value, true)
238
488
  }));
@@ -286,14 +536,14 @@ class CacheImpl {
286
536
  } else {
287
537
  return flatMap(this.resolveMapValue(value), match({
288
538
  onNone: () => this.getEither(key),
289
- onSome: value => succeed(left(value))
539
+ onSome: value => succeed$1(left(value))
290
540
  }));
291
541
  }
292
542
  });
293
543
  }
294
544
  invalidate(key) {
295
545
  return sync(() => {
296
- remove(this.cacheState.map, key);
546
+ remove$1(this.cacheState.map, key);
297
547
  });
298
548
  }
299
549
  invalidateWhen(key, when) {
@@ -302,7 +552,7 @@ class CacheImpl {
302
552
  if (isSome(value) && value.value._tag === "Complete") {
303
553
  if (value.value.exit._tag === "Success") {
304
554
  if (when(value.value.exit.value)) {
305
- remove(this.cacheState.map, key);
555
+ remove$1(this.cacheState.map, key);
306
556
  }
307
557
  }
308
558
  }
@@ -310,7 +560,7 @@ class CacheImpl {
310
560
  }
311
561
  get invalidateAll() {
312
562
  return sync(() => {
313
- this.cacheState.map = empty();
563
+ this.cacheState.map = empty$1();
314
564
  });
315
565
  }
316
566
  refresh(key) {
@@ -334,7 +584,7 @@ class CacheImpl {
334
584
  if (this.hasExpired(clock, value.timeToLiveMillis)) {
335
585
  const found = getOrUndefined(get(this.cacheState.map, k));
336
586
  if (equals(found, value)) {
337
- remove(this.cacheState.map, k);
587
+ remove$1(this.cacheState.map, k);
338
588
  }
339
589
  return asVoid(this.get(key));
340
590
  }
@@ -365,7 +615,7 @@ class CacheImpl {
365
615
  return clockWith(clock => sync(() => {
366
616
  const now = clock.unsafeCurrentTimeMillis();
367
617
  const k = key;
368
- const lookupResult = succeed$1(value);
618
+ const lookupResult = succeed(value);
369
619
  const mapValue = complete(makeMapKey(k), lookupResult, makeEntryStats(now), now + toMillis(decode(this.timeToLive(lookupResult))));
370
620
  set(this.cacheState.map, k, mapValue);
371
621
  }));
@@ -415,8 +665,8 @@ class CacheImpl {
415
665
  {
416
666
  this.trackAccess(value.key);
417
667
  if (this.hasExpired(clock, value.timeToLiveMillis)) {
418
- remove(this.cacheState.map, value.key.current);
419
- return succeed(none());
668
+ remove$1(this.cacheState.map, value.key.current);
669
+ return succeed$1(none());
420
670
  }
421
671
  this.trackHit();
422
672
  return map(value.exit, some);
@@ -426,7 +676,7 @@ class CacheImpl {
426
676
  this.trackAccess(value.key);
427
677
  this.trackHit();
428
678
  if (ignorePending) {
429
- return succeed(none());
679
+ return succeed$1(none());
430
680
  }
431
681
  return map(_await(value.deferred), some);
432
682
  }
@@ -436,7 +686,7 @@ class CacheImpl {
436
686
  this.trackHit();
437
687
  if (this.hasExpired(clock, value.complete.timeToLiveMillis)) {
438
688
  if (ignorePending) {
439
- return succeed(none());
689
+ return succeed$1(none());
440
690
  }
441
691
  return map(_await(value.deferred), some);
442
692
  }
@@ -469,7 +719,7 @@ class CacheImpl {
469
719
  const key = this.cacheState.keys.remove();
470
720
  if (key !== undefined) {
471
721
  if (has(this.cacheState.map, key.current)) {
472
- remove(this.cacheState.map, key.current);
722
+ remove$1(this.cacheState.map, key.current);
473
723
  size$1 = size$1 - 1;
474
724
  loop = size$1 > this.capacity;
475
725
  }
@@ -493,7 +743,7 @@ class CacheImpl {
493
743
  set(this.cacheState.map, key, value);
494
744
  return zipRight(done(deferred, exit), exit);
495
745
  }), onInterrupt(() => zipRight(interrupt(deferred), sync(() => {
496
- remove(this.cacheState.map, key);
746
+ remove$1(this.cacheState.map, key);
497
747
  }))));
498
748
  }));
499
749
  }
@@ -1,4 +1,6 @@
1
- import { g as getDefaultExportFromCjs } from './_commonjsHelpers-B85MJLTf.js';
1
+ function getDefaultExportFromCjs (x) {
2
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
3
+ }
2
4
 
3
5
  var classnames = {exports: {}};
4
6
 
@@ -5,8 +5,6 @@ const BUILD = /* lmvz-components */ { hotModuleReplacement: false, hydratedSelec
5
5
  Stencil Client Platform v4.43.2 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
 
8
- var Build = {
9
- isDev: false};
10
8
  var PrimitiveType = /* @__PURE__ */ ((PrimitiveType2) => {
11
9
  PrimitiveType2["Undefined"] = "undefined";
12
10
  PrimitiveType2["Null"] = "null";
@@ -2738,4 +2736,4 @@ function transformTag(tag) {
2738
2736
  return tag;
2739
2737
  }
2740
2738
 
2741
- export { Build as B, Host as H, getAssetPath as a, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2739
+ export { Host as H, getAssetPath as a, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
package/dist/esm/index.js CHANGED
@@ -1,8 +1,6 @@
1
- export { c as clearIconCache } from './icons-Bx1wWPM2.js';
2
- import { r as runPromise } from './Effect-BhQLGXPs.js';
3
- import './MutableQueue-CNlEFklh.js';
4
- import './assets-Iu8neKuE.js';
5
- import './index-smGPjoDX.js';
1
+ export { c as clearIconCache } from './icons-kpJZ1u9g.js';
2
+ import { r as runPromise } from './assets-ozES4zSA.js';
3
+ import './index-T5ljELGS.js';
6
4
 
7
5
  const variants = ['primary', 'secondary', 'tertiary'];
8
6
  const scaleValues = ['small', 'default', 'large'];
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-smGPjoDX.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-T5ljELGS.js';
2
2
 
3
3
  const lmvzActionCss = () => `:host{display:block}`;
4
4
 
@@ -1,11 +1,8 @@
1
- import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-smGPjoDX.js';
2
- import { c as classNames } from './index-Bt32KzDW.js';
3
- import { i as inheritAriaAttributes, f as findFormByRef } from './component-B3JVFwO1.js';
1
+ import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-T5ljELGS.js';
2
+ import { c as classNames } from './index-BfTCfPZ1.js';
3
+ import { R as ReactiveControllerHost, A as AriaValidationController } from './reactive-controller-host-CZ3dGAjR.js';
4
4
  import { E as ElementActivationController } from './element-activation-controller-CN0JX9-m.js';
5
- import { R as ReactiveControllerHost, A as AriaValidationController } from './aria-validation-controller-iA4YWFG-.js';
6
- import './_commonjsHelpers-B85MJLTf.js';
7
- import './Effect-BhQLGXPs.js';
8
- import './MutableQueue-CNlEFklh.js';
5
+ import { i as inheritAriaAttributes, f as findFormByRef } from './component-B3JVFwO1.js';
9
6
 
10
7
  const lmvzButtonCss = () => ` @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { h1, h2, h3, h4, h5, h6 { margin: 0; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --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-primary, #000000); 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); 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-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } 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-primary-hover, #2e2e2e); } button:not([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: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: contents; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } `;
11
8
 
@@ -62,7 +59,7 @@ const LmvzButton = class extends ReactiveControllerHost {
62
59
  };
63
60
  render() {
64
61
  this.renderHiddenButton();
65
- return (h(Host, { key: '1c96281344dd604e2e4c919ea72907a9e934e5c6', "aria-disabled": this.disabled ? 'true' : null }, h("button", { key: '16728ce6fee7d121e7120aa993031777f6d8570e', disabled: this.disabled, class: classNames(this.variant, { [this.scale ?? '']: !!this.scale, disabled: this.disabled }), ...this.inheritedAttributes }, h("slot", { key: 'e1b0d95953bdbd42885eecdeef8b457070e7e247' }))));
62
+ return (h(Host, { key: 'cd4a63b866c801ad7f96f59d15e561a54bfe9ec2', "aria-disabled": this.disabled ? 'true' : null }, h("button", { key: 'a1e3ecb88fb84d724df4939519bb22d4b6725c1d', disabled: this.disabled, class: classNames(this.variant, { [this.scale ?? '']: !!this.scale, disabled: this.disabled }), ...this.inheritedAttributes }, h("slot", { key: 'f1fd32c993b1ef9f6d62d6f3affa169c9368df78' }))));
66
63
  }
67
64
  static get delegatesFocus() { return true; }
68
65
  };
@@ -1,6 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-smGPjoDX.js';
2
- import { a as runSync } from './Effect-BhQLGXPs.js';
3
- import { s as syncCreateAssetUrlSafely } from './assets-Iu8neKuE.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-T5ljELGS.js';
2
+ import { a as runSync, s as syncCreateAssetUrlSafely } from './assets-ozES4zSA.js';
4
3
 
5
4
  const lmvzCardCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { h1, h2, h3, h4, h5, h6 { margin: 0; } } .sc-lmvz-card-h { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --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-primary, #000000); 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); 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-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } 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-primary-hover, #2e2e2e); } button:not([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: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: flex; min-width: var(--lmvz-other-component-card-minwidth, 20.4375rem); max-width: var(--lmvz-other-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, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .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, 500 clamp(2rem, 1.94rem + 0.26vw, 2.25rem) / 1.2 Router); } .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, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .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; }`;
6
5
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-smGPjoDX.js';
1
+ import { r as registerInstance, h, H as Host } from './index-T5ljELGS.js';
2
2
 
3
3
  const lmvzChipCss = () => `:host{display:block}`;
4
4
 
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-smGPjoDX.js';
2
- export { s as setNonce } from './index-smGPjoDX.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-T5ljELGS.js';
2
+ export { s as setNonce } from './index-T5ljELGS.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  /*
@@ -1,8 +1,6 @@
1
- import { g as getElement, r as registerInstance, h, H as Host } from './index-smGPjoDX.js';
1
+ import { g as getElement, r as registerInstance, h, H as Host } from './index-T5ljELGS.js';
2
+ import { R as ReactiveControllerHost, A as AriaValidationController } from './reactive-controller-host-CZ3dGAjR.js';
2
3
  import { g as getDeepActiveElement, c as canReceiveFocus } from './component-B3JVFwO1.js';
3
- import { R as ReactiveControllerHost, A as AriaValidationController } from './aria-validation-controller-iA4YWFG-.js';
4
- import './Effect-BhQLGXPs.js';
5
- import './MutableQueue-CNlEFklh.js';
6
4
 
7
5
  class ListKeyboardNavigationController {
8
6
  host;
@@ -79,11 +77,11 @@ const LmvzHeader = class extends ReactiveControllerHost {
79
77
  this.updateElementsActive();
80
78
  }
81
79
  componentDidLoad() {
82
- this.primarySlot.addEventListener('slotchange', this.handlePrimaryNavChange.bind(this));
83
- this.handlePrimaryNavChange();
84
- this.secondarySlot.addEventListener('slotchange', this.handleSecondaryNavChange.bind(this));
80
+ this.primarySlot.addEventListener('slotchange', this.handlePrimaryNavItemsChange.bind(this));
81
+ this.handlePrimaryNavItemsChange();
82
+ this.secondarySlot.addEventListener('slotchange', this.handleSecondaryNavItemsChange.bind(this));
85
83
  }
86
- handlePrimaryNavChange() {
84
+ handlePrimaryNavItemsChange() {
87
85
  const items = this.primaryMenuitems;
88
86
  if (!items.length) {
89
87
  console.warn('Primary slot has no assigned elements. Please add navigation items to the primary slot.');
@@ -95,11 +93,14 @@ const LmvzHeader = class extends ReactiveControllerHost {
95
93
  });
96
94
  this.updateElementsActive();
97
95
  }
98
- handleSecondaryNavChange() {
96
+ handleSecondaryNavItemsChange() {
99
97
  const items = this.secondaryMenuitems;
100
98
  if (!items.length) {
101
99
  return;
102
100
  }
101
+ this.updateKeyboardNavSubjects();
102
+ }
103
+ updateKeyboardNavSubjects() {
103
104
  this.keyboardNavigationController.updateElements([...this.primaryMenuitems, ...this.secondaryMenuitems]);
104
105
  }
105
106
  updateElementsActive() {
@@ -120,7 +121,7 @@ const LmvzHeader = class extends ReactiveControllerHost {
120
121
  }
121
122
  }
122
123
  render() {
123
- return (h(Host, { key: '58934683ff442801eb34f025ac809631f93a27e8', onFocus: this.delegateFocus.bind(this) }, h("div", { key: '35d3eadfabb70f83b313f946c8d31f9c223e8344', class: "brand" }, h("slot", { key: '5ce98314d980d63e1c87f508d96119aca2e702a9', name: "brand" }, h("lmvz-icon", { key: 'b24e61a9071d81948d506a8c545e012d3f0e5dd2', id: "fallback-logo-lmvz", icon: "Logo", size: "inherit", "aria-label": "Lehrmittelverlag Z\u00FCrich" }))), h("nav", { key: '1d5cc9010ef90e6cebc8a7b054db595f35f9e040', "aria-label": "Hauptnavigation" }, h("div", { key: '488a1b1544242562b57d76169f1988d84c611de4', role: "menubar", class: "primary-menubar" }, h("slot", { key: '59c6dd1442290931ed9a55f7bacc65ea4bb9ff6d', name: "nav-primary", ref: el => (this.primarySlot = el) }), h("separator", { key: '2729f0e8b115614c50c4a16b6684a3bdb21856b8' }), h("div", { key: '6b5bed5951bad9173fefdc78039e71c4ccc120b2', role: "menu", id: "nav-secondary", class: "secondary-menubar", hidden: !this.lmvzActiveNav, ref: el => (this.secondaryNav = el) }, h("slot", { key: '02f5a13e8851372c1698e3f786a8757a0a09c32f', name: this.secondarySlotName, ref: el => (this.secondarySlot = el) })))), h("div", { key: '53aafe8139bcea27d3039f64a48974cdb5aac5f9', class: "actions" }, h("slot", { key: 'f12ee19831073253e6ba8e251ba31ec403c21035', name: "actions" }))));
124
+ return (h(Host, { key: '783c855e49e1a2447107d6205a1b2c50285ccfff', onFocus: this.delegateFocus.bind(this) }, h("div", { key: '84a78b0ed3e170c49a711fa4091f80dbc7003b2f', class: "brand" }, h("slot", { key: '76cc54f17a7bc5f825433fc56351666a93891fd2', name: "brand" }, h("lmvz-icon", { key: 'e196e43720cb4b4c3f79b3071d534b50480f6206', id: "fallback-logo-lmvz", icon: "Logo", size: "inherit", "aria-label": "Lehrmittelverlag Z\u00FCrich" }))), h("nav", { key: 'd25a719752bd4085da5ad18af94afc66e9cabd5e', "aria-label": "Hauptnavigation" }, h("div", { key: '8a12c2c53bd061b3559ce9693780e592b3d7aa32', role: "menubar", class: "primary-menubar" }, h("slot", { key: '4461632675dc657f675883e8ef618e371ace0ad7', name: "nav-primary", ref: el => (this.primarySlot = el) }), h("div", { key: 'c1dabc588ac376db667df32d3edbdd6dce60aaad', role: "menu", id: "nav-secondary", class: "secondary-menubar", hidden: !this.lmvzActiveNav, ref: el => (this.secondaryNav = el) }, h("slot", { key: '74ca44ee2f755ffe9ea3ebc19cc2b227ae22df8b', name: this.secondarySlotName, ref: el => (this.secondarySlot = el) })))), h("div", { key: 'a4d250a5fcd10390aed1f5369c28ddec9aa9ee8d', class: "actions" }, h("slot", { key: '77a499ce12d269e79221ca971cc1b203d179f459', name: "actions" }))));
124
125
  }
125
126
  static get watchers() { return {
126
127
  "lmvzActiveNav": [{
@@ -1,9 +1,7 @@
1
- import { g as getElement, r as registerInstance, h, H as Host } from './index-smGPjoDX.js';
2
- import { r as runPromise, t as tapError, l as logError, c as catchAll, s as succeed } from './Effect-BhQLGXPs.js';
3
- import { R as ReactiveControllerHost, A as AriaValidationController } from './aria-validation-controller-iA4YWFG-.js';
4
- import { f as fetchIconSvg, e as emptyDefaultSvg } from './icons-Bx1wWPM2.js';
5
- import './MutableQueue-CNlEFklh.js';
6
- import './assets-Iu8neKuE.js';
1
+ import { g as getElement, r as registerInstance, h, H as Host } from './index-T5ljELGS.js';
2
+ import { r as runPromise, t as tapError, l as logError, c as catchAll, b as succeed } from './assets-ozES4zSA.js';
3
+ import { R as ReactiveControllerHost, A as AriaValidationController } from './reactive-controller-host-CZ3dGAjR.js';
4
+ import { f as fetchIconSvg, e as emptyDefaultSvg } from './icons-kpJZ1u9g.js';
7
5
 
8
6
  const lmvzIconCss = () => `.sc-lmvz-icon-h{--lmvz-icon-color:var(--lmvz-component-color, var(--lmvz-semantic-color-on-surface-input-primary, #000000));display:inline-block;line-height:0;svg{display:block}svg>path{stroke:var(--lmvz-icon-color);fill:none}}[size='xs'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem));height:var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))}}[size='sm'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-sm, clamp(0.88rem, 0.81rem + 0.26vw, 1.13rem));height:var(--lmvz-component-icon-size-sm, clamp(0.88rem, 0.81rem + 0.26vw, 1.13rem))}}[size='md'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-md, clamp(1rem, 0.88rem + 0.52vw, 1.5rem));height:var(--lmvz-component-icon-size-md, clamp(1rem, 0.88rem + 0.52vw, 1.5rem))}}[size='lg'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-lg, clamp(1.5rem, 1.38rem + 0.52vw, 2rem));height:var(--lmvz-component-icon-size-lg, clamp(1.5rem, 1.38rem + 0.52vw, 2rem))}}[size='inherit'].sc-lmvz-icon-h{svg{width:inherit;height: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)}}`;
9
7
 
@@ -44,7 +42,7 @@ const LmvzIcon = class extends ReactiveControllerHost {
44
42
  this.iconData = await runPromise(fetchIconSvg(this.icon).pipe(tapError(error => logError(`Error loading icon "${icon}":`, error.message, error.cause, error.stack)), catchAll(() => succeed(emptyDefaultSvg()))));
45
43
  }
46
44
  render() {
47
- return h(Host, { key: '50d0f96ec5085a47ca7783e5232dfb503fa32d29', role: "img", "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
45
+ return h(Host, { key: 'd4c1cbfbaf39ebf6aa26415d46100763b9f89b5b', role: "img", "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
48
46
  }
49
47
  waitUntilVisible(callback, rootMargin = 50) {
50
48
  if (typeof window === 'undefined' || !window.IntersectionObserver) {
@@ -1,12 +1,9 @@
1
- import { g as getElement, r as registerInstance, c as createEvent, h } from './index-smGPjoDX.js';
2
- import { c as classNames } from './index-Bt32KzDW.js';
1
+ import { g as getElement, r as registerInstance, c as createEvent, h } from './index-T5ljELGS.js';
2
+ import { c as classNames } from './index-BfTCfPZ1.js';
3
+ import { R as ReactiveControllerHost, A as AriaValidationController } from './reactive-controller-host-CZ3dGAjR.js';
3
4
  import { a as componentOnReady } from './component-B3JVFwO1.js';
4
- import { R as ReactiveControllerHost, A as AriaValidationController } from './aria-validation-controller-iA4YWFG-.js';
5
- import './_commonjsHelpers-B85MJLTf.js';
6
- import './Effect-BhQLGXPs.js';
7
- import './MutableQueue-CNlEFklh.js';
8
5
 
9
- const lmvzInputCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } .sc-lmvz-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-status-on-selected, #0e7ab4); --input-border-width: var(--lmvz-semantic-border-width-default, 1px); --input-height: 48px; --input-padding-x: 16px; --label-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --input-text-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --helper-text-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --error-text-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); --label-floating-scale: 0.85; --label-minimized-top: -6px; --label-minimized-bg: var(--input-bg); --label-minimized-padding-x: 4px; --input-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); } .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: 8px; } [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: 2px solid var(--input-border-color-focus); outline-offset: 2px; } .input-container.sc-lmvz-input:has(input:focus-visible) .input-wrapper.sc-lmvz-input { box-shadow: 0 0 0 3px rgb(0 86 214 / 20%); } [error].sc-lmvz-input-h .input-wrapper.sc-lmvz-input { border-color: var(--error-text-color); } [error].sc-lmvz-input-h:focus-within .input-wrapper.sc-lmvz-input { border-color: var(--error-text-color); outline-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: 14px; font-family: Router, sans-serif; font-weight: 400; pointer-events: none; transition: all 0.2s ease-out; background-color: transparent; padding: 0; margin: 0; line-height: normal; white-space: nowrap; } label.floating.sc-lmvz-input { top: 0; transform: translateY(-50%) scale(0.85); transform-origin: left top; background-color: var(--label-minimized-bg); padding: 0 var(--label-minimized-padding-x); left: -2px; color: var(--input-text-color); font-weight: 500; } .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: 14px; outline: none; padding: 0; margin: 0; font-weight: 400; } input.sc-lmvz-input::placeholder { color: var(--label-color); } .helper-text.sc-lmvz-input { padding-top: 8px; padding-left: 12px; font-size: 12px; color: var(--helper-text-color); font-family: Router, sans-serif; font-weight: 500; } .error-message.sc-lmvz-input { padding-top: 8px; padding-left: 12px; font-size: 12px; color: var(--error-text-color); font-family: Router, sans-serif; font-weight: 500; } .sc-lmvz-input-s > lmvz-button { --lmvz-button-padding: 4px; }`;
6
+ const lmvzInputCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } .sc-lmvz-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-status-on-selected, #0e7ab4); --input-border-width: var(--lmvz-semantic-border-width-default, 1px); --input-height: 48px; --input-padding-x: 16px; --label-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --input-text-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --helper-text-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --error-text-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); --label-floating-scale: 0.85; --label-minimized-top: -6px; --label-minimized-bg: var(--input-bg); --label-minimized-padding-x: 4px; --input-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); } .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: 8px; } [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: 2px solid var(--input-border-color-focus); outline-offset: 2px; } .input-container.sc-lmvz-input:has(input:focus-visible) .input-wrapper.sc-lmvz-input { box-shadow: 0 0 0 3px rgb(0 86 214 / 20%); } [error].sc-lmvz-input-h .input-wrapper.sc-lmvz-input { border-color: var(--error-text-color); } [error].sc-lmvz-input-h:focus-within .input-wrapper.sc-lmvz-input { border-color: var(--error-text-color); outline-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: 14px; font-family: Router, sans-serif; font-weight: 400; pointer-events: none; transition: all 0.2s ease-out; background-color: transparent; padding: 0; margin: 0; line-height: normal; white-space: nowrap; } label.floating.sc-lmvz-input { top: 0; transform: translateY(-50%) scale(0.85); transform-origin: left top; background-color: var(--label-minimized-bg); padding: 0 var(--label-minimized-padding-x); left: -2px; color: var(--input-text-color); font-weight: 500; } .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: 14px; 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: 12px; font-size: 12px; color: var(--helper-text-color); font-family: Router, sans-serif; font-weight: 500; } [role='alert'].sc-lmvz-input { padding-top: 8px; padding-left: 12px; font-size: 12px; color: var(--error-text-color); font-family: Router, sans-serif; font-weight: 500; } .sc-lmvz-input-s > lmvz-button { --lmvz-button-padding: 4px; }`;
10
7
 
11
8
  let inputIdCounter = 0;
12
9
  const LmvzInput = class extends ReactiveControllerHost {
@@ -156,9 +153,9 @@ const LmvzInput = class extends ReactiveControllerHost {
156
153
  render() {
157
154
  const hasValue = Boolean(this.value);
158
155
  const shouldFloatLabel = hasValue || Boolean(this.placeholder);
159
- return (h("div", { key: '402189a211eec970a9f5b8fcc551c6c3508bec05', class: classNames('input-container', {
156
+ return (h("div", { key: '4dffa432df9b8ca5d89c02b59cfe25b9321ca162', class: classNames('input-container', {
160
157
  'interaction-filled': hasValue,
161
- }) }, h("div", { key: '1cbe6011f14774e1226406ef4fe301fd94338444', class: "input-wrapper" }, h("slot", { key: 'ea0f30124315c88e9721bb4457126bd6cf18110a', name: "before-input" }), h("div", { key: 'f630b5f3a33a961f94b5a782b0ce6b4d49d1958c', class: "label-input-group" }, h("label", { key: 'dbb3fe066ebf93f7fcbe6973a1e37685d7206888', htmlFor: this.inputId, class: classNames({ floating: shouldFloatLabel }) }, this.label, this.required && (h("span", { key: '7c1a2458b66becb45c730bfe3ff0c570293f702f', class: "required-indicator", "aria-hidden": "true" }, ' ', "*"))), h("input", { key: '14b14457e200d20faf9053848662743dfe1cf417', id: this.inputId, ref: el => (this.nativeInputElement = el), 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 })), h("slot", { key: '4b530738ff7404eb1bcecc10a0388570e2243cf3', name: "after-input" })), this.helperText && (h("div", { key: 'f1a287047e9b4d58aa90af157d50b3d564555e9b', id: this.helperId, class: "helper-text" }, this.helperText)), this.showErrorMessage && (h("div", { key: '2a25c4a88a63363cdd814f1d4fead5e8a238621b', id: this.errorId, class: "error-message", role: "alert" }, this.errorMessage))));
158
+ }) }, h("div", { key: 'ade1cd1137acce218d458c1b66b2eb29cf887b70', class: "input-wrapper" }, h("slot", { key: '013dff3540481724658ff754bf3db0585ec3b6f4', name: "before-input" }), h("div", { key: '6587bb63c79f97c31abff5be0a91eb16374971d5', class: "label-input-group" }, h("label", { key: '2ef0a35fbd38b255423d2793415568a661476db3', htmlFor: this.inputId, class: classNames({ floating: shouldFloatLabel }) }, this.label, this.required && (h("span", { key: '0785826710ee4ecea96037cc689c34a43113552e', class: "required-indicator", "aria-hidden": "true" }, ' ', "*"))), h("input", { key: '5ad0d4b2d1c11dd89824db87e331232ba703a05e', id: this.inputId, ref: el => (this.nativeInputElement = el), 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 })), h("slot", { key: 'a23676cc830cac7fbf87fef81a8d05b50b831725', name: "after-input" })), h("div", { key: 'e0a05138954d70508f840b6d5c4f53e74c2f2979', id: this.helperId, role: "status" }, this.helperText || null), h("div", { key: 'fcba57be2d596b3b8aa0ac97b2fd31dc3e77e14b', id: this.errorId, role: "alert" }, (this.showErrorMessage && this.errorMessage) || null)));
162
159
  }
163
160
  static get formAssociated() { return true; }
164
161
  static get watchers() { return {