@lmvz-ds/components 0.12.3-alpha.3 → 0.12.3

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 (138) hide show
  1. package/dist/cjs/{Effect-BIlTHtLK.js → Effect-CNhHt4Xb.js} +615 -885
  2. package/dist/cjs/MutableQueue-Bk9tBfaK.js +462 -0
  3. package/dist/cjs/{aria-validation-controller-B7unOPxT.js → aria-validation-controller-B3hMkau3.js} +157 -156
  4. package/dist/cjs/assets-iuJtMMdw.js +60 -0
  5. package/dist/cjs/{icons-CvFeZlNJ.js → icons-CAiJpiUC.js} +22 -74
  6. package/dist/cjs/index.cjs.js +4 -2
  7. package/dist/cjs/lmvz-button.cjs.entry.js +3 -2
  8. package/dist/cjs/lmvz-card.cjs.entry.js +7 -2
  9. package/dist/cjs/lmvz-header.cjs.entry.js +3 -2
  10. package/dist/cjs/lmvz-icon.cjs.entry.js +5 -3
  11. package/dist/cjs/lmvz-input.cjs.entry.js +3 -2
  12. package/dist/cjs/lmvz-menuitem.cjs.entry.js +3 -2
  13. package/dist/collection/components/lmvz-card/lmvz-card.js +8 -3
  14. package/dist/collection/components/lmvz-icon/icons.js +3 -3
  15. package/dist/collection/utils/{url.js → assets.js} +1 -1
  16. package/dist/components/index.js +1 -1
  17. package/dist/components/lmvz-button.js +1 -1
  18. package/dist/components/lmvz-card.js +1 -1
  19. package/dist/components/lmvz-header.js +1 -1
  20. package/dist/components/lmvz-icon.js +1 -1
  21. package/dist/components/lmvz-input.js +1 -1
  22. package/dist/components/lmvz-menuitem.js +1 -1
  23. package/dist/components/p-3I3wZmp8.js +1 -0
  24. package/dist/components/p-BQTNPxka.js +1 -0
  25. package/dist/components/p-CdofjRtQ.js +1 -0
  26. package/dist/components/p-xpxyPpHZ.js +1 -0
  27. package/dist/esm/{Effect-D9S7OTyY.js → Effect-BhQLGXPs.js} +568 -829
  28. package/dist/esm/MutableQueue-CNlEFklh.js +431 -0
  29. package/dist/esm/{aria-validation-controller-C7nQzCCq.js → aria-validation-controller-iA4YWFG-.js} +2 -1
  30. package/dist/esm/assets-BymuU366.js +57 -0
  31. package/dist/esm/{icons-AUbenGXq.js → icons-D7UubWaN.js} +5 -57
  32. package/dist/esm/index.js +4 -2
  33. package/dist/esm/lmvz-button.entry.js +3 -2
  34. package/dist/esm/lmvz-card.entry.js +8 -3
  35. package/dist/esm/lmvz-header.entry.js +3 -2
  36. package/dist/esm/lmvz-icon.entry.js +5 -3
  37. package/dist/esm/lmvz-input.entry.js +3 -2
  38. package/dist/esm/lmvz-menuitem.entry.js +3 -2
  39. package/dist/lmvz-components/index.esm.js +1 -1
  40. package/dist/lmvz-components/lmvz-components.esm.js +1 -1
  41. package/dist/lmvz-components/p-1d916449.entry.js +1 -0
  42. package/dist/lmvz-components/p-274c36df.entry.js +1 -0
  43. package/dist/lmvz-components/p-4b70fe08.entry.js +1 -0
  44. package/dist/lmvz-components/p-68001ab7.entry.js +1 -0
  45. package/dist/lmvz-components/p-77e26e71.entry.js +1 -0
  46. package/dist/lmvz-components/p-BhQLGXPs.js +1 -0
  47. package/dist/lmvz-components/p-CXWyvf0D.js +1 -0
  48. package/dist/lmvz-components/p-Ce_AL9kY.js +1 -0
  49. package/dist/lmvz-components/p-D7I-Bc5i.js +1 -0
  50. package/dist/lmvz-components/p-DohldYb4.js +1 -0
  51. package/dist/lmvz-components/p-de18e27e.entry.js +1 -0
  52. package/dist/manifest.json +1 -1
  53. package/dist/types/components/lmvz-card/lmvz-card.d.ts +1 -0
  54. package/dist/types/utils/{url.d.ts → assets.d.ts} +1 -1
  55. package/hydrate/index.js +487 -7
  56. package/hydrate/index.mjs +487 -7
  57. package/package.json +4 -4
  58. package/dist/components/p-4GImsUGe.js +0 -1
  59. package/dist/components/p-BFwzIh71.js +0 -1
  60. package/dist/lmvz-components/assets/LMVZ_logo_175.svg +0 -1
  61. package/dist/lmvz-components/assets/card-placeholder.svg +0 -4
  62. package/dist/lmvz-components/assets/fonts/Router-Bold.woff +0 -0
  63. package/dist/lmvz-components/assets/fonts/Router-Book.woff +0 -0
  64. package/dist/lmvz-components/assets/fonts/Router-Medium.woff +0 -0
  65. package/dist/lmvz-components/assets/icons/Logo.svg +0 -10
  66. package/dist/lmvz-components/assets/icons/actions.svg +0 -5
  67. package/dist/lmvz-components/assets/icons/adduser.svg +0 -3
  68. package/dist/lmvz-components/assets/icons/alert.svg +0 -3
  69. package/dist/lmvz-components/assets/icons/apple.svg +0 -3
  70. package/dist/lmvz-components/assets/icons/arrow-down.svg +0 -3
  71. package/dist/lmvz-components/assets/icons/arrow-left.svg +0 -3
  72. package/dist/lmvz-components/assets/icons/arrow-right.svg +0 -3
  73. package/dist/lmvz-components/assets/icons/arrow-up.svg +0 -3
  74. package/dist/lmvz-components/assets/icons/book.svg +0 -3
  75. package/dist/lmvz-components/assets/icons/bookmark.svg +0 -3
  76. package/dist/lmvz-components/assets/icons/checkmark.svg +0 -3
  77. package/dist/lmvz-components/assets/icons/chevron-down.svg +0 -3
  78. package/dist/lmvz-components/assets/icons/chevron-left.svg +0 -3
  79. package/dist/lmvz-components/assets/icons/chevron-right.svg +0 -3
  80. package/dist/lmvz-components/assets/icons/chevron-up.svg +0 -3
  81. package/dist/lmvz-components/assets/icons/close-l.svg +0 -3
  82. package/dist/lmvz-components/assets/icons/close-sm.svg +0 -3
  83. package/dist/lmvz-components/assets/icons/cog.svg +0 -4
  84. package/dist/lmvz-components/assets/icons/computer.svg +0 -3
  85. package/dist/lmvz-components/assets/icons/dashboard.svg +0 -6
  86. package/dist/lmvz-components/assets/icons/delete.svg +0 -3
  87. package/dist/lmvz-components/assets/icons/download.svg +0 -3
  88. package/dist/lmvz-components/assets/icons/edit.svg +0 -3
  89. package/dist/lmvz-components/assets/icons/external.svg +0 -3
  90. package/dist/lmvz-components/assets/icons/facebook.svg +0 -3
  91. package/dist/lmvz-components/assets/icons/favorite.svg +0 -3
  92. package/dist/lmvz-components/assets/icons/filter.svg +0 -3
  93. package/dist/lmvz-components/assets/icons/group.svg +0 -3
  94. package/dist/lmvz-components/assets/icons/hide.svg +0 -3
  95. package/dist/lmvz-components/assets/icons/home.svg +0 -3
  96. package/dist/lmvz-components/assets/icons/info.svg +0 -3
  97. package/dist/lmvz-components/assets/icons/instagram.svg +0 -3
  98. package/dist/lmvz-components/assets/icons/letter.svg +0 -3
  99. package/dist/lmvz-components/assets/icons/linkedin.svg +0 -5
  100. package/dist/lmvz-components/assets/icons/logout.svg +0 -3
  101. package/dist/lmvz-components/assets/icons/map.svg +0 -3
  102. package/dist/lmvz-components/assets/icons/minus.svg +0 -3
  103. package/dist/lmvz-components/assets/icons/navigation.svg +0 -3
  104. package/dist/lmvz-components/assets/icons/plus.svg +0 -3
  105. package/dist/lmvz-components/assets/icons/qr-scan.svg +0 -3
  106. package/dist/lmvz-components/assets/icons/question.svg +0 -10
  107. package/dist/lmvz-components/assets/icons/reader.svg +0 -3
  108. package/dist/lmvz-components/assets/icons/reset.svg +0 -3
  109. package/dist/lmvz-components/assets/icons/school.svg +0 -3
  110. package/dist/lmvz-components/assets/icons/search.svg +0 -3
  111. package/dist/lmvz-components/assets/icons/send.svg +0 -3
  112. package/dist/lmvz-components/assets/icons/settings.svg +0 -3
  113. package/dist/lmvz-components/assets/icons/share.svg +0 -10
  114. package/dist/lmvz-components/assets/icons/shopping-cart.svg +0 -3
  115. package/dist/lmvz-components/assets/icons/show.svg +0 -3
  116. package/dist/lmvz-components/assets/icons/snapchat.svg +0 -3
  117. package/dist/lmvz-components/assets/icons/sort.svg +0 -3
  118. package/dist/lmvz-components/assets/icons/speech-bubble.svg +0 -3
  119. package/dist/lmvz-components/assets/icons/star.svg +0 -3
  120. package/dist/lmvz-components/assets/icons/student.svg +0 -3
  121. package/dist/lmvz-components/assets/icons/upload.svg +0 -3
  122. package/dist/lmvz-components/assets/icons/user.svg +0 -3
  123. package/dist/lmvz-components/assets/icons/warn-circle.svg +0 -3
  124. package/dist/lmvz-components/assets/icons/warn-triangle.svg +0 -3
  125. package/dist/lmvz-components/assets/icons/whatsapp.svg +0 -4
  126. package/dist/lmvz-components/assets/icons/world.svg +0 -10
  127. package/dist/lmvz-components/assets/icons/x.svg +0 -3
  128. package/dist/lmvz-components/assets/icons/youtube.svg +0 -3
  129. package/dist/lmvz-components/assets/zukunftslinie.svg +0 -3
  130. package/dist/lmvz-components/p-CMnnKjsp.js +0 -1
  131. package/dist/lmvz-components/p-D9S7OTyY.js +0 -1
  132. package/dist/lmvz-components/p-DlrjrWsu.js +0 -1
  133. package/dist/lmvz-components/p-a4615e4b.entry.js +0 -1
  134. package/dist/lmvz-components/p-a8c88454.entry.js +0 -1
  135. package/dist/lmvz-components/p-b7f0a6fd.entry.js +0 -1
  136. package/dist/lmvz-components/p-e63e239a.entry.js +0 -1
  137. package/dist/lmvz-components/p-f956a5e7.entry.js +0 -1
  138. package/dist/lmvz-components/p-fefd2fe4.entry.js +0 -1
package/hydrate/index.mjs CHANGED
@@ -6999,7 +6999,7 @@ const merge$3 = /*#__PURE__*/match$8({
6999
6999
  * @category getters
7000
7000
  * @since 2.0.0
7001
7001
  */
7002
- const getOrThrowWith = /*#__PURE__*/dual(2, (self, onLeft) => {
7002
+ const getOrThrowWith$1 = /*#__PURE__*/dual(2, (self, onLeft) => {
7003
7003
  if (isRight(self)) {
7004
7004
  return self.right;
7005
7005
  }
@@ -7336,6 +7336,67 @@ const fromNullable = nullableValue => nullableValue == null ? none$4() : some(nu
7336
7336
  * @since 2.0.0
7337
7337
  */
7338
7338
  const getOrUndefined = /*#__PURE__*/getOrElse(constUndefined);
7339
+ /**
7340
+ * Extracts the value of an `Option` or throws an error if the `Option` is
7341
+ * `None`, using a custom error factory.
7342
+ *
7343
+ * **Details**
7344
+ *
7345
+ * This function allows you to extract the value of an `Option` when it is
7346
+ * `Some`. If the `Option` is `None`, it throws an error generated by the
7347
+ * provided `onNone` function. This utility is particularly useful when you need
7348
+ * a fail-fast behavior for empty `Option` values and want to provide a custom
7349
+ * error message or object.
7350
+ *
7351
+ * @example
7352
+ * ```ts
7353
+ * import * as assert from "node:assert"
7354
+ * import { Option } from "effect"
7355
+ *
7356
+ * assert.deepStrictEqual(
7357
+ * Option.getOrThrowWith(Option.some(1), () => new Error('Unexpected None')),
7358
+ * 1
7359
+ * )
7360
+ * assert.throws(() => Option.getOrThrowWith(Option.none(), () => new Error('Unexpected None')))
7361
+ * ```
7362
+ *
7363
+ * @see {@link getOrThrow} for a version that throws a default error.
7364
+ *
7365
+ * @category Conversions
7366
+ * @since 2.0.0
7367
+ */
7368
+ const getOrThrowWith = /*#__PURE__*/dual(2, (self, onNone) => {
7369
+ if (isSome(self)) {
7370
+ return self.value;
7371
+ }
7372
+ throw onNone();
7373
+ });
7374
+ /**
7375
+ * Extracts the value of an `Option` or throws a default error if the `Option`
7376
+ * is `None`.
7377
+ *
7378
+ * **Details**
7379
+ *
7380
+ * This function extracts the value from an `Option` if it is `Some`. If the
7381
+ * `Option` is `None`, it throws a default error. It is useful for fail-fast
7382
+ * scenarios where the absence of a value is treated as an exceptional case and
7383
+ * a default error is sufficient.
7384
+ *
7385
+ * @example
7386
+ * ```ts
7387
+ * import * as assert from "node:assert"
7388
+ * import { Option } from "effect"
7389
+ *
7390
+ * assert.deepStrictEqual(Option.getOrThrow(Option.some(1)), 1)
7391
+ * assert.throws(() => Option.getOrThrow(Option.none()))
7392
+ * ```
7393
+ *
7394
+ * @see {@link getOrThrowWith} for a version that allows you to provide a custom error.
7395
+ *
7396
+ * @category Conversions
7397
+ * @since 2.0.0
7398
+ */
7399
+ const getOrThrow = /*#__PURE__*/getOrThrowWith(() => new Error("getOrThrow called on a None"));
7339
7400
  /**
7340
7401
  * Transforms the value inside a `Some` to a new value using the provided
7341
7402
  * function, while leaving `None` unchanged.
@@ -8385,7 +8446,7 @@ function refined(...args) {
8385
8446
  onSome: left
8386
8447
  });
8387
8448
  };
8388
- return Object.assign(unbranded => getOrThrowWith(either(unbranded), identity), {
8449
+ return Object.assign(unbranded => getOrThrowWith$1(either(unbranded), identity), {
8389
8450
  [RefinedConstructorsTypeId]: RefinedConstructorsTypeId,
8390
8451
  option: args => getRight(either(args)),
8391
8452
  either,
@@ -12758,6 +12819,15 @@ const flipCauseOption$1 = self => match$5(self, {
12758
12819
  /** @internal */
12759
12820
  const interruptOption = self => find(self, cause => cause._tag === OP_INTERRUPT ? some(cause.fiberId) : none$4());
12760
12821
  /** @internal */
12822
+ const keepDefectsAndElectFailures = self => match$5(self, {
12823
+ onEmpty: none$4(),
12824
+ onFail: failure => some(die$3(failure)),
12825
+ onDie: defect => some(die$3(defect)),
12826
+ onInterrupt: () => none$4(),
12827
+ onSequential: mergeWith$1(sequential$2),
12828
+ onParallel: mergeWith$1(parallel$2)
12829
+ });
12830
+ /** @internal */
12761
12831
  const stripFailures = self => match$5(self, {
12762
12832
  onEmpty: empty$9,
12763
12833
  onFail: () => empty$9,
@@ -13779,6 +13849,8 @@ const onInterrupt = /*#__PURE__*/dual(2, (self, cleanup) => onExit$1(self, exitM
13779
13849
  onSuccess: () => void_$3
13780
13850
  })));
13781
13851
  /* @internal */
13852
+ const orElse = /*#__PURE__*/dual(2, (self, that) => attemptOrElse(self, that, succeed$5));
13853
+ /* @internal */
13782
13854
  const orDie = self => orDieWith(self, identity);
13783
13855
  /* @internal */
13784
13856
  const orDieWith = /*#__PURE__*/dual(2, (self, f) => matchEffect(self, {
@@ -13822,6 +13894,17 @@ const transplant = f => withFiberRuntime$1(state => {
13822
13894
  return f(fiberRefLocally(currentForkScopeOverride, some(scope)));
13823
13895
  });
13824
13896
  /* @internal */
13897
+ const attemptOrElse = /*#__PURE__*/dual(3, (self, that, onSuccess) => matchCauseEffect$2(self, {
13898
+ onFailure: cause => {
13899
+ const defects$1 = defects(cause);
13900
+ if (defects$1.length > 0) {
13901
+ return failCause$7(getOrThrow(keepDefectsAndElectFailures(cause)));
13902
+ }
13903
+ return that();
13904
+ },
13905
+ onSuccess
13906
+ }));
13907
+ /* @internal */
13825
13908
  const uninterruptible$1 = self => {
13826
13909
  const effect = new EffectPrimitive(OP_UPDATE_RUNTIME_FLAGS);
13827
13910
  effect.effect_instruction_i0 = disable(Interruption);
@@ -16263,6 +16346,24 @@ const isMetricLabel = u => hasProperty(u, MetricLabelTypeId);
16263
16346
  /* @internal */
16264
16347
  const asSome = self => map$6(self, some);
16265
16348
  /* @internal */
16349
+ const try_$1 = arg => {
16350
+ let evaluate;
16351
+ let onFailure = undefined;
16352
+ if (typeof arg === "function") {
16353
+ evaluate = arg;
16354
+ } else {
16355
+ evaluate = arg.try;
16356
+ onFailure = arg.catch;
16357
+ }
16358
+ return suspend$3(() => {
16359
+ try {
16360
+ return succeed$5(internalCall(evaluate));
16361
+ } catch (error) {
16362
+ return fail$4(onFailure ? internalCall(() => onFailure(error)) : new UnknownException(error, "An unknown error occurred in Effect.try"));
16363
+ }
16364
+ });
16365
+ };
16366
+ /* @internal */
16266
16367
  const catchSomeCause$1 = /*#__PURE__*/dual(2, (self, f) => matchCauseEffect$2(self, {
16267
16368
  onFailure: cause => {
16268
16369
  const option = f(cause);
@@ -16298,6 +16399,32 @@ const ignore$1 = self => match$3(self, {
16298
16399
  onFailure: constVoid,
16299
16400
  onSuccess: constVoid
16300
16401
  });
16402
+ /** @internal */
16403
+ const logWithLevel = level => (...message) => {
16404
+ const levelOption = fromNullable(level);
16405
+ let cause = undefined;
16406
+ for (let i = 0, len = message.length; i < len; i++) {
16407
+ const msg = message[i];
16408
+ if (isCause(msg)) {
16409
+ if (cause !== undefined) {
16410
+ cause = sequential$2(cause, msg);
16411
+ } else {
16412
+ cause = msg;
16413
+ }
16414
+ message = [...message.slice(0, i), ...message.slice(i + 1)];
16415
+ i--;
16416
+ }
16417
+ }
16418
+ if (cause === undefined) {
16419
+ cause = empty$9;
16420
+ }
16421
+ return withFiberRuntime$1(fiberState => {
16422
+ fiberState.log(message, cause, levelOption);
16423
+ return void_$3;
16424
+ });
16425
+ };
16426
+ /** @internal */
16427
+ const logWarning$1 = /*#__PURE__*/logWithLevel(Warning);
16301
16428
  /* @internal */
16302
16429
  const mapErrorCause = /*#__PURE__*/dual(2, (self, f) => matchCauseEffect$2(self, {
16303
16430
  onFailure: c => failCauseSync$1(() => f(c)),
@@ -16306,6 +16433,8 @@ const mapErrorCause = /*#__PURE__*/dual(2, (self, f) => matchCauseEffect$2(self,
16306
16433
  /* @internal */
16307
16434
  const negate = self => map$6(self, b => !b);
16308
16435
  /* @internal */
16436
+ const orElseSucceed$1 = /*#__PURE__*/dual(2, (self, evaluate) => orElse(self, () => sync$2(evaluate)));
16437
+ /* @internal */
16309
16438
  const patchFiberRefs = patch => updateFiberRefs((fiberId, fiberRefs) => pipe(patch, patch$2(fiberId, fiberRefs)));
16310
16439
  /* @internal */
16311
16440
  const promise$1 = evaluate => evaluate.length >= 1 ? async_((resolve, signal) => {
@@ -16332,6 +16461,19 @@ const succeedNone = /*#__PURE__*/succeed$5(/*#__PURE__*/none$4());
16332
16461
  /* @internal */
16333
16462
  const summarized = /*#__PURE__*/dual(3, (self, summary, f) => flatMap$4(summary, start => flatMap$4(self, value => map$6(summary, end => [f(start, end), value]))));
16334
16463
  /* @internal */
16464
+ const tapError$1 = /*#__PURE__*/dual(2, (self, f) => matchCauseEffect$2(self, {
16465
+ onFailure: cause => {
16466
+ const either = failureOrCause$1(cause);
16467
+ switch (either._tag) {
16468
+ case "Left":
16469
+ return zipRight$3(f(either.left), failCause$7(cause));
16470
+ case "Right":
16471
+ return failCause$7(cause);
16472
+ }
16473
+ },
16474
+ onSuccess: succeed$5
16475
+ }));
16476
+ /* @internal */
16335
16477
  const tapErrorCause$1 = /*#__PURE__*/dual(2, (self, f) => matchCauseEffect$2(self, {
16336
16478
  onFailure: cause => zipRight$3(f(cause), failCause$7(cause)),
16337
16479
  onSuccess: succeed$5
@@ -17266,6 +17408,51 @@ class MixedScheduler {
17266
17408
  * @category schedulers
17267
17409
  */
17268
17410
  const defaultScheduler = /*#__PURE__*/globalValue(/*#__PURE__*/Symbol.for("effect/Scheduler/defaultScheduler"), () => new MixedScheduler(2048));
17411
+ /**
17412
+ * @since 2.0.0
17413
+ * @category constructors
17414
+ */
17415
+ class SyncScheduler {
17416
+ /**
17417
+ * @since 2.0.0
17418
+ */
17419
+ tasks = /*#__PURE__*/new PriorityBuckets();
17420
+ /**
17421
+ * @since 2.0.0
17422
+ */
17423
+ deferred = false;
17424
+ /**
17425
+ * @since 2.0.0
17426
+ */
17427
+ scheduleTask(task, priority) {
17428
+ if (this.deferred) {
17429
+ defaultScheduler.scheduleTask(task, priority);
17430
+ } else {
17431
+ this.tasks.scheduleTask(task, priority);
17432
+ }
17433
+ }
17434
+ /**
17435
+ * @since 2.0.0
17436
+ */
17437
+ shouldYield(fiber) {
17438
+ return fiber.currentOpCount > fiber.getFiberRef(currentMaxOpsBeforeYield) ? fiber.getFiberRef(currentSchedulingPriority) : false;
17439
+ }
17440
+ /**
17441
+ * @since 2.0.0
17442
+ */
17443
+ flush() {
17444
+ while (this.tasks.buckets.length > 0) {
17445
+ const tasks = this.tasks.buckets;
17446
+ this.tasks.buckets = [];
17447
+ for (const [_, toRun] of tasks) {
17448
+ for (let i = 0; i < toRun.length; i++) {
17449
+ toRun[i]();
17450
+ }
17451
+ }
17452
+ }
17453
+ this.deferred = true;
17454
+ }
17455
+ }
17269
17456
  /** @internal */
17270
17457
  const currentScheduler = /*#__PURE__*/globalValue(/*#__PURE__*/Symbol.for("effect/FiberRef/currentScheduler"), () => fiberRefUnsafeMake(defaultScheduler));
17271
17458
 
@@ -20950,6 +21137,116 @@ const unsafeFork = /*#__PURE__*/makeDual((runtime, self, options) => {
20950
21137
  return fiberRuntime;
20951
21138
  });
20952
21139
  /** @internal */
21140
+ const unsafeRunSync = /*#__PURE__*/makeDual((runtime, effect) => {
21141
+ const result = unsafeRunSyncExit(runtime)(effect);
21142
+ if (result._tag === "Failure") {
21143
+ throw fiberFailure(result.effect_instruction_i0);
21144
+ }
21145
+ return result.effect_instruction_i0;
21146
+ });
21147
+ class AsyncFiberExceptionImpl extends Error {
21148
+ fiber;
21149
+ _tag = "AsyncFiberException";
21150
+ constructor(fiber) {
21151
+ super(`Fiber #${fiber.id().id} cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work`);
21152
+ this.fiber = fiber;
21153
+ this.name = this._tag;
21154
+ this.stack = this.message;
21155
+ }
21156
+ }
21157
+ const asyncFiberException = fiber => {
21158
+ const limit = Error.stackTraceLimit;
21159
+ Error.stackTraceLimit = 0;
21160
+ const error = new AsyncFiberExceptionImpl(fiber);
21161
+ Error.stackTraceLimit = limit;
21162
+ return error;
21163
+ };
21164
+ /** @internal */
21165
+ const FiberFailureId = /*#__PURE__*/Symbol.for("effect/Runtime/FiberFailure");
21166
+ /** @internal */
21167
+ const FiberFailureCauseId = /*#__PURE__*/Symbol.for("effect/Runtime/FiberFailure/Cause");
21168
+ class FiberFailureImpl extends Error {
21169
+ [FiberFailureId];
21170
+ [FiberFailureCauseId];
21171
+ constructor(cause) {
21172
+ const head = prettyErrors(cause)[0];
21173
+ super(head?.message || "An error has occurred");
21174
+ this[FiberFailureId] = FiberFailureId;
21175
+ this[FiberFailureCauseId] = cause;
21176
+ this.name = head ? `(FiberFailure) ${head.name}` : "FiberFailure";
21177
+ if (head?.stack) {
21178
+ this.stack = head.stack;
21179
+ }
21180
+ }
21181
+ toJSON() {
21182
+ return {
21183
+ _id: "FiberFailure",
21184
+ cause: this[FiberFailureCauseId].toJSON()
21185
+ };
21186
+ }
21187
+ toString() {
21188
+ return "(FiberFailure) " + pretty(this[FiberFailureCauseId], {
21189
+ renderErrorCause: true
21190
+ });
21191
+ }
21192
+ [NodeInspectSymbol]() {
21193
+ return this.toString();
21194
+ }
21195
+ }
21196
+ /** @internal */
21197
+ const fiberFailure = cause => {
21198
+ const limit = Error.stackTraceLimit;
21199
+ Error.stackTraceLimit = 0;
21200
+ const error = new FiberFailureImpl(cause);
21201
+ Error.stackTraceLimit = limit;
21202
+ return error;
21203
+ };
21204
+ const fastPath = effect => {
21205
+ const op = effect;
21206
+ switch (op._op) {
21207
+ case "Failure":
21208
+ case "Success":
21209
+ {
21210
+ // @ts-expect-error
21211
+ return op;
21212
+ }
21213
+ case "Left":
21214
+ {
21215
+ return exitFail(op.left);
21216
+ }
21217
+ case "Right":
21218
+ {
21219
+ return exitSucceed$1(op.right);
21220
+ }
21221
+ case "Some":
21222
+ {
21223
+ return exitSucceed$1(op.value);
21224
+ }
21225
+ case "None":
21226
+ {
21227
+ // @ts-expect-error
21228
+ return exitFail(new NoSuchElementException());
21229
+ }
21230
+ }
21231
+ };
21232
+ /** @internal */
21233
+ const unsafeRunSyncExit = /*#__PURE__*/makeDual((runtime, effect) => {
21234
+ const op = fastPath(effect);
21235
+ if (op) {
21236
+ return op;
21237
+ }
21238
+ const scheduler = new SyncScheduler();
21239
+ const fiberRuntime = unsafeFork(runtime)(effect, {
21240
+ scheduler
21241
+ });
21242
+ scheduler.flush();
21243
+ const result = fiberRuntime.unsafePoll();
21244
+ if (result) {
21245
+ return result;
21246
+ }
21247
+ return exitDie$1(capture(asyncFiberException(fiberRuntime), currentSpanFromFiber(fiberRuntime)));
21248
+ });
21249
+ /** @internal */
20953
21250
  class RuntimeImpl {
20954
21251
  context;
20955
21252
  runtimeFlags;
@@ -20977,6 +21274,8 @@ const defaultRuntime = /*#__PURE__*/make$3({
20977
21274
  });
20978
21275
  /** @internal */
20979
21276
  const unsafeForkEffect = /*#__PURE__*/unsafeFork(defaultRuntime);
21277
+ /** @internal */
21278
+ const unsafeRunSyncEffect = /*#__PURE__*/unsafeRunSync(defaultRuntime);
20980
21279
 
20981
21280
  /** @internal */
20982
21281
  const modifyEffect = /*#__PURE__*/dual(2, (self, f) => self.modifyEffect(f));
@@ -22380,6 +22679,7 @@ const catchSomeCause = catchSomeCause$1;
22380
22679
  * @category Error handling
22381
22680
  */
22382
22681
  const ignore = ignore$1;
22682
+ const try_ = try_$1;
22383
22683
  /**
22384
22684
  * Represents an effect that interrupts the current fiber.
22385
22685
  *
@@ -23525,6 +23825,43 @@ const raceWith = raceWith$1;
23525
23825
  * @category Sequencing
23526
23826
  */
23527
23827
  const tap = tap$1;
23828
+ /**
23829
+ * Execute a side effect on failure without modifying the original effect.
23830
+ *
23831
+ * **Details**
23832
+ *
23833
+ * This function allows you to inspect and react to the failure of an effect by
23834
+ * executing an additional effect. The failure value is passed to the provided
23835
+ * function, enabling you to log it, track it, or perform any other operation.
23836
+ * Importantly, the original failure remains intact and is re-propagated, so the
23837
+ * effect's behavior is unchanged.
23838
+ *
23839
+ * The side effect you provide is only executed when the effect fails. If the
23840
+ * effect succeeds, the function is ignored, and the success value is propagated
23841
+ * as usual.
23842
+ *
23843
+ * **Example**
23844
+ *
23845
+ * ```ts
23846
+ * import { Effect, Console } from "effect"
23847
+ *
23848
+ * // Simulate a task that fails with an error
23849
+ * const task: Effect.Effect<number, string> = Effect.fail("NetworkError")
23850
+ *
23851
+ * // Use tapError to log the error message when the task fails
23852
+ * const tapping = Effect.tapError(task, (error) =>
23853
+ * Console.log(`expected error: ${error}`)
23854
+ * )
23855
+ *
23856
+ * Effect.runFork(tapping)
23857
+ * // Output:
23858
+ * // expected error: NetworkError
23859
+ * ```
23860
+ *
23861
+ * @since 2.0.0
23862
+ * @category Sequencing
23863
+ */
23864
+ const tapError = tapError$1;
23528
23865
  /**
23529
23866
  * Inspect the complete cause of an error, including failures and defects.
23530
23867
  *
@@ -23815,6 +24152,65 @@ const matchCause = matchCause$1;
23815
24152
  * @category Matching
23816
24153
  */
23817
24154
  const matchCauseEffect = matchCauseEffect$2;
24155
+ /**
24156
+ * Logs messages at the WARNING log level.
24157
+ *
24158
+ * **Details**
24159
+ *
24160
+ * This function logs messages at the WARNING level, suitable for highlighting
24161
+ * potential issues that are not errors but may require attention. These
24162
+ * messages indicate that something unexpected occurred or might lead to errors
24163
+ * in the future.
24164
+ *
24165
+ * @since 2.0.0
24166
+ * @category Logging
24167
+ */
24168
+ const logWarning = logWarning$1;
24169
+ /**
24170
+ * Ensures the effect always succeeds by replacing failures with a default
24171
+ * success value.
24172
+ *
24173
+ * **Details**
24174
+ *
24175
+ * This function transforms an effect that may fail into one that cannot fail by
24176
+ * replacing any failure with a provided success value. If the original effect
24177
+ * fails, the failure is "swallowed," and the specified success value is
24178
+ * returned instead. If the original effect succeeds, its value remains
24179
+ * unchanged.
24180
+ *
24181
+ * **When to Use**
24182
+ *
24183
+ * This is especially useful for providing default values in case of failure,
24184
+ * ensuring that an effect always completes successfully. By using this
24185
+ * function, you can avoid the need for complex error handling and guarantee a
24186
+ * fallback result.
24187
+ *
24188
+ * **Example**
24189
+ *
24190
+ * ```ts
24191
+ * import { Effect } from "effect"
24192
+ *
24193
+ * const validate = (age: number): Effect.Effect<number, string> => {
24194
+ * if (age < 0) {
24195
+ * return Effect.fail("NegativeAgeError")
24196
+ * } else if (age < 18) {
24197
+ * return Effect.fail("IllegalAgeError")
24198
+ * } else {
24199
+ * return Effect.succeed(age)
24200
+ * }
24201
+ * }
24202
+ *
24203
+ * const program = Effect.orElseSucceed(validate(-1), () => 18)
24204
+ *
24205
+ * console.log(Effect.runSyncExit(program))
24206
+ * // Output:
24207
+ * // { _id: 'Exit', _tag: 'Success', value: 18 }
24208
+ * ```
24209
+ *
24210
+ * @since 2.0.0
24211
+ * @category Fallback
24212
+ */
24213
+ const orElseSucceed = orElseSucceed$1;
23818
24214
  /**
23819
24215
  * Returns an effect that accesses the runtime, which can be used to (unsafely)
23820
24216
  * execute tasks.
@@ -23905,6 +24301,84 @@ const makeSemaphore = makeSemaphore$1;
23905
24301
  * @category Running Effects
23906
24302
  */
23907
24303
  const runFork = unsafeForkEffect;
24304
+ /**
24305
+ * Executes an effect synchronously, running it immediately and returning the
24306
+ * result.
24307
+ *
24308
+ * **Details**
24309
+ *
24310
+ * This function evaluates the provided effect synchronously, returning its
24311
+ * result directly. It is ideal for effects that do not fail or include
24312
+ * asynchronous operations. If the effect does fail or involves async tasks, it
24313
+ * will throw an error. Execution stops at the point of failure or asynchronous
24314
+ * operation, making it unsuitable for effects that require asynchronous
24315
+ * handling.
24316
+ *
24317
+ * **Important**: Attempting to run effects that involve asynchronous operations
24318
+ * or failures will result in exceptions being thrown, so use this function with
24319
+ * care for purely synchronous and error-free effects.
24320
+ *
24321
+ * **When to Use**
24322
+ *
24323
+ * Use this function when:
24324
+ * - You are sure that the effect will not fail or involve asynchronous
24325
+ * operations.
24326
+ * - You need a direct, synchronous result from the effect.
24327
+ * - You are working within a context where asynchronous effects are not
24328
+ * allowed.
24329
+ *
24330
+ * Avoid using this function for effects that can fail or require asynchronous
24331
+ * handling. For such cases, consider using {@link runPromise} or
24332
+ * {@link runSyncExit}.
24333
+ *
24334
+ * **Example** (Synchronous Logging)
24335
+ *
24336
+ * ```ts
24337
+ * import { Effect } from "effect"
24338
+ *
24339
+ * const program = Effect.sync(() => {
24340
+ * console.log("Hello, World!")
24341
+ * return 1
24342
+ * })
24343
+ *
24344
+ * const result = Effect.runSync(program)
24345
+ * // Output: Hello, World!
24346
+ *
24347
+ * console.log(result)
24348
+ * // Output: 1
24349
+ * ```
24350
+ *
24351
+ * **Example** (Incorrect Usage with Failing or Async Effects)
24352
+ *
24353
+ * ```ts
24354
+ * import { Effect } from "effect"
24355
+ *
24356
+ * try {
24357
+ * // Attempt to run an effect that fails
24358
+ * Effect.runSync(Effect.fail("my error"))
24359
+ * } catch (e) {
24360
+ * console.error(e)
24361
+ * }
24362
+ * // Output:
24363
+ * // (FiberFailure) Error: my error
24364
+ *
24365
+ * try {
24366
+ * // Attempt to run an effect that involves async work
24367
+ * Effect.runSync(Effect.promise(() => Promise.resolve(1)))
24368
+ * } catch (e) {
24369
+ * console.error(e)
24370
+ * }
24371
+ * // Output:
24372
+ * // (FiberFailure) AsyncFiberException: Fiber #0 cannot be resolved synchronously. This is caused by using runSync on an effect that performs async work
24373
+ * ```
24374
+ *
24375
+ * @see {@link runSyncExit} for a version that returns an `Exit` type instead of
24376
+ * throwing an error.
24377
+ *
24378
+ * @since 2.0.0
24379
+ * @category Running Effects
24380
+ */
24381
+ const runSync = unsafeRunSyncEffect;
23908
24382
  /**
23909
24383
  * Combines two effects into a single effect, producing a tuple of their
23910
24384
  * results.
@@ -26889,6 +27363,12 @@ class LmvzButton extends ReactiveControllerHost {
26889
27363
  }; }
26890
27364
  }
26891
27365
 
27366
+ class URLCreationError extends TaggedError('URLCreationError') {
27367
+ }
27368
+ const syncCreateAssetUrlSafely = (file) => try_(() => getAssetPath(['../../assets', file].join('/').replace('//', '/').replace('/./', '/'))).pipe(tapError(() => logWarning(`Failed to create URL for icon "${file}".
27369
+ Please provide an absolute URL in your app's 'setAssetPath(...)' configuration!
27370
+ Falling back to /assets/`)), orElseSucceed(() => window.location.origin + '/assets/' + file));
27371
+
26892
27372
  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; }`;
26893
27373
 
26894
27374
  class LmvzCard {
@@ -26901,6 +27381,9 @@ class LmvzCard {
26901
27381
  description;
26902
27382
  primaryActionLabel = '';
26903
27383
  primaryAction;
27384
+ get fallbackImage() {
27385
+ return runSync(syncCreateAssetUrlSafely('card-placeholder.svg'));
27386
+ }
26904
27387
  _onPrimaryClick() {
26905
27388
  this.primaryAction.emit();
26906
27389
  }
@@ -26909,9 +27392,9 @@ class LmvzCard {
26909
27392
  }
26910
27393
  render() {
26911
27394
  const imgStyle = {
26912
- backgroundImage: `url(${this.imageUrl ?? getAssetPath('./card-placeholder.svg')})`,
27395
+ backgroundImage: `url(${this.imageUrl ?? this.fallbackImage})`,
26913
27396
  };
26914
- return (hAsync(Host, { key: 'd17230c2587b87c1fa5514875e15b7d7930857bc', role: "article" }, hAsync("div", { key: 'bf8c631ee99651a10c01774a4da20142d04342db', class: "top" }, hAsync("div", { key: 'fb8224ec00bc8e0c5b1668a6ed63e36b52a11d55', class: "image-wrapper", style: imgStyle }, hAsync("div", { key: '26c65e0c8083faec2854a332e83b5e8abaf8c2fd', class: "chip-slot" }, hAsync("slot", { key: 'b5406113b36fcb23dd08cc75e34ae64923357cd3', name: "chip" })))), hAsync("div", { key: '1eb0b6682830da00fa006fcaa9763e8d33adf446', class: "bottom" }, hAsync("header", { key: '5930f28a48304296be40fc337a6990a1444cdcdb' }, hAsync("h2", { key: '0138cdc21b5ac8b40b40988937ba24292532e069', class: "title" }, this.cardTitle)), hAsync("p", { key: '45a9e7947ae99d1db67efa4aa04c3186d02a97c7', class: "description" }, this.description), hAsync("div", { key: '940a8a5e7e38f65efa0d7bb25a56131e4456c248', class: "actions" }, hAsync("button", { key: '35b0a7ae68fb9ac8c62e181b0087a312a85da185', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), hAsync("button", { key: '6d391205d50a8ab92336bad0bd70fd24f00b5cda', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, hAsync("span", { key: 'dca656b4c1758c1fdcc3c7d971e58b6a63fcd0d1', class: "icon-placeholder" }, "..."))))));
27397
+ return (hAsync(Host, { key: '1438354a53604954320d01652aa1d84f8712e875', role: "article" }, hAsync("div", { key: 'dcffae2c48ebf8f8769cf07c2e78806f12df6888', class: "top" }, hAsync("div", { key: 'e41e1d0aafbfc5879b86022e91958ef3373b48b2', class: "image-wrapper", style: imgStyle }, hAsync("div", { key: 'f6a1fc9706012f39aca9dd0b995290e6042e3407', class: "chip-slot" }, hAsync("slot", { key: '4e014519c147705cc30b3268d652ea6c76c749ec', name: "chip" })))), hAsync("div", { key: 'e7baf78b660e9a97edd0b6a0aa1bdb1afa593fed', class: "bottom" }, hAsync("header", { key: 'a8dad9f91df60f535725328a4901833d47652678' }, hAsync("h2", { key: '1cdbca46469750187856a46fa155128f1f8a677f', class: "title" }, this.cardTitle)), hAsync("p", { key: 'f33c2c0af86d7be31fcbd676833b27c7d06e2dd9', class: "description" }, this.description), hAsync("div", { key: 'a12595d514167fb957aac71fe3d144810b442f9d', class: "actions" }, hAsync("button", { key: '9730cedbf83599c09eedaaae43331147691486d6', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), hAsync("button", { key: '48e9c511c406beb75334452769beade3dec9a3f5', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, hAsync("span", { key: '81cc1af42a15dddb9dbd4f373a6a047c2e2cd563', class: "icon-placeholder" }, "..."))))));
26915
27398
  }
26916
27399
  static get assetsDirs() { return ["../../assets"]; }
26917
27400
  static get style() { return lmvzCardCss(); }
@@ -27100,9 +27583,6 @@ class ResponseTextError extends TaggedError('ResponseTextError') {
27100
27583
  }
27101
27584
  }
27102
27585
 
27103
- class URLCreationError extends TaggedError('URLCreationError') {
27104
- }
27105
-
27106
27586
  refined(isValidSVG, () => error('SVG data is malformed'));
27107
27587
  class BrandValidationError extends TaggedError('BrandValidationError') {
27108
27588
  constructor(error, type) {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@lmvz-ds/components",
3
3
  "private": false,
4
4
  "type": "module",
5
- "version": "0.12.3-alpha.3+fbf08b5",
5
+ "version": "0.12.3",
6
6
  "description": "The components of the design system",
7
7
  "author": "Patrick Nemenz <patrick.nemenz@adesso.at>",
8
8
  "volta": {
@@ -109,7 +109,7 @@
109
109
  },
110
110
  "scripts": {
111
111
  "start": "npm run start:integration",
112
- "start:integration": "concurrently 'npm run build:css -- --watch' 'npm run build:components -- --watch'",
112
+ "start:integration": "concurrently 'npm run build:css -- --watch' 'npm run build:dev -- --watch'",
113
113
  "start:dev": "stencil build --watch --dev --serve --config stencil.config.dev.ts",
114
114
  "build": "npm run build:css && npm run build:components",
115
115
  "build:css": "vite build --config vite-style.config.js",
@@ -187,7 +187,7 @@
187
187
  "effect": "3.19.14"
188
188
  },
189
189
  "devDependencies": {
190
- "@lmvz-ds/design-tokens": "^0.12.3-alpha.3+fbf08b5",
190
+ "@lmvz-ds/design-tokens": "^0.12.3",
191
191
  "@playwright/test": "^1.55.0",
192
192
  "@stencil-community/postcss": "^2.2.0",
193
193
  "@stencil/angular-output-target": "1.3.0",
@@ -212,5 +212,5 @@
212
212
  "tsx": "^4.21.0",
213
213
  "vite": "^7.3.1"
214
214
  },
215
- "gitHead": "fbf08b52251c378e00c54ee2dfae0034fb5ec050"
215
+ "gitHead": "0c054b75ec63f244dd843d0946a7468359ee691e"
216
216
  }