@lmvz-ds/components 0.40.0 → 0.42.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 (170) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cjs/{aria-validation-controller-DKNXjnQr.js → aria-validation-controller-BR7cnyq5.js} +1 -1
  3. package/cjs/{ds.constants-C6eKRAEu.js → ds.constants-pI-qkOYv.js} +2 -0
  4. package/cjs/{index-DWy4nuyZ.js → index-BUrb__KL.js} +52 -11
  5. package/cjs/index.cjs.js +2 -1
  6. package/cjs/lmvz-action-list.cjs.entry.js +2 -2
  7. package/cjs/lmvz-action.cjs.entry.js +1 -1
  8. package/cjs/lmvz-button-group.cjs.entry.js +2 -2
  9. package/cjs/lmvz-button_2.cjs.entry.js +4 -4
  10. package/cjs/lmvz-card.cjs.entry.js +59 -15
  11. package/cjs/lmvz-checkbox.cjs.entry.js +3 -3
  12. package/cjs/lmvz-chip.cjs.entry.js +4 -4
  13. package/cjs/lmvz-components.cjs.js +3 -3
  14. package/cjs/lmvz-datepicker.cjs.entry.js +3 -3
  15. package/cjs/lmvz-header_2.cjs.entry.js +3 -3
  16. package/cjs/lmvz-input.cjs.entry.js +6 -7
  17. package/cjs/lmvz-link.cjs.entry.js +3 -3
  18. package/cjs/lmvz-menuitem.cjs.entry.js +3 -3
  19. package/cjs/lmvz-message.cjs.entry.js +2 -2
  20. package/cjs/lmvz-modal.cjs.entry.js +3 -3
  21. package/cjs/lmvz-popover.cjs.entry.js +2 -2
  22. package/cjs/lmvz-radio.cjs.entry.js +3 -3
  23. package/cjs/lmvz-select.cjs.entry.js +3 -3
  24. package/cjs/lmvz-snackbar.cjs.entry.js +2 -2
  25. package/cjs/lmvz-spinner.cjs.entry.js +3 -3
  26. package/cjs/lmvz-tab.cjs.entry.js +2 -2
  27. package/cjs/lmvz-tabs.cjs.entry.js +2 -2
  28. package/cjs/lmvz-toggle.cjs.entry.js +3 -3
  29. package/cjs/loader.cjs.js +2 -2
  30. package/collection/api/ds.constants.js +1 -0
  31. package/collection/api/public-utils.js +3 -0
  32. package/collection/collection-manifest.json +2 -3
  33. package/collection/components/lmvz-card/lmvz-card.css +82 -194
  34. package/collection/components/lmvz-card/lmvz-card.js +131 -38
  35. package/collection/components/lmvz-checkbox/lmvz-checkbox.js +1 -1
  36. package/collection/components/lmvz-chip/lmvz-chip.js +1 -1
  37. package/collection/components/lmvz-datepicker/lmvz-datepicker.js +2 -2
  38. package/collection/components/lmvz-header/lmvz-header.js +1 -1
  39. package/collection/components/lmvz-icon/lmvz-icon.js +7 -6
  40. package/collection/components/lmvz-input/lmvz-input.js +14 -35
  41. package/collection/components/lmvz-link/lmvz-link.js +1 -1
  42. package/collection/components/lmvz-menuitem/lmvz-menuitem.js +1 -1
  43. package/collection/components/lmvz-message/lmvz-message.js +1 -1
  44. package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
  45. package/collection/components/lmvz-popover/lmvz-popover.js +1 -1
  46. package/collection/components/lmvz-radio/lmvz-radio.js +1 -1
  47. package/collection/components/lmvz-select/lmvz-select.js +1 -1
  48. package/collection/components/lmvz-snackbar/lmvz-snackbar.js +1 -1
  49. package/collection/components/lmvz-spinner/lmvz-spinner.js +7 -6
  50. package/collection/components/lmvz-tab/lmvz-tab.js +1 -1
  51. package/collection/components/lmvz-tabs/lmvz-tabs.js +1 -1
  52. package/collection/components/lmvz-toggle/lmvz-toggle.js +1 -1
  53. package/collection/index.js +1 -3
  54. package/components/index.js +1 -1
  55. package/components/lmvz-action-list.js +1 -1
  56. package/components/lmvz-action.js +1 -1
  57. package/components/lmvz-button-group.js +1 -1
  58. package/components/lmvz-button.js +1 -1
  59. package/components/lmvz-card.js +1 -1
  60. package/components/lmvz-checkbox.js +1 -1
  61. package/components/lmvz-chip.js +1 -1
  62. package/components/lmvz-datepicker.js +1 -1
  63. package/components/lmvz-header.js +1 -1
  64. package/components/lmvz-icon.js +1 -1
  65. package/components/lmvz-input.js +1 -1
  66. package/components/lmvz-link.js +1 -1
  67. package/components/lmvz-menuitem.js +1 -1
  68. package/components/lmvz-message.js +1 -1
  69. package/components/lmvz-modal.js +1 -1
  70. package/components/lmvz-popover.js +1 -1
  71. package/components/lmvz-radio.js +1 -1
  72. package/components/lmvz-select.js +1 -1
  73. package/components/lmvz-snackbar.js +1 -1
  74. package/components/lmvz-spinner.js +1 -1
  75. package/components/lmvz-tab.js +1 -1
  76. package/components/lmvz-tabs.js +1 -1
  77. package/components/lmvz-toggle.js +1 -1
  78. package/components/p-Buw_s-9k.js +1 -0
  79. package/components/p-CME20cTM.js +1 -0
  80. package/components/{p-DsTgD0_a.js → p-CPsPpCPH.js} +1 -1
  81. package/components/{p--mU29mrX.js → p-CUSmZDCK.js} +1 -1
  82. package/components/p-CbxNLroR.js +1 -0
  83. package/components/{p-DXFoXTse.js → p-CeGgx3Rl.js} +1 -1
  84. package/components/{p-DyQ1GbaN.js → p-D0S1O-Op.js} +1 -1
  85. package/components/{p-sACbyedu.js → p-DCFz070C.js} +1 -1
  86. package/components/p-DCYK_qaZ.js +1 -0
  87. package/components/{p-niXjuPxe.js → p-Wp9d5O3R.js} +1 -1
  88. package/components/{p-D_mff3n7.js → p-ctF-ydws.js} +1 -1
  89. package/components/{p-Bc5MM0zh.js → p-g_Ehzzvy.js} +1 -1
  90. package/esm/{aria-validation-controller-Dwv7n0rk.js → aria-validation-controller-uMqDgutI.js} +1 -1
  91. package/esm/{ds.constants-0ctLESas.js → ds.constants-Buw_s-9k.js} +2 -1
  92. package/esm/{index-DVab4vzV.js → index-wQ10Syko.js} +52 -11
  93. package/esm/index.js +1 -1
  94. package/esm/lmvz-action-list.entry.js +2 -2
  95. package/esm/lmvz-action.entry.js +1 -1
  96. package/esm/lmvz-button-group.entry.js +2 -2
  97. package/esm/lmvz-button_2.entry.js +4 -4
  98. package/esm/lmvz-card.entry.js +59 -15
  99. package/esm/lmvz-checkbox.entry.js +3 -3
  100. package/esm/lmvz-chip.entry.js +4 -4
  101. package/esm/lmvz-components.js +4 -4
  102. package/esm/lmvz-datepicker.entry.js +3 -3
  103. package/esm/lmvz-header_2.entry.js +3 -3
  104. package/esm/lmvz-input.entry.js +6 -7
  105. package/esm/lmvz-link.entry.js +3 -3
  106. package/esm/lmvz-menuitem.entry.js +3 -3
  107. package/esm/lmvz-message.entry.js +2 -2
  108. package/esm/lmvz-modal.entry.js +3 -3
  109. package/esm/lmvz-popover.entry.js +2 -2
  110. package/esm/lmvz-radio.entry.js +3 -3
  111. package/esm/lmvz-select.entry.js +3 -3
  112. package/esm/lmvz-snackbar.entry.js +2 -2
  113. package/esm/lmvz-spinner.entry.js +3 -3
  114. package/esm/lmvz-tab.entry.js +2 -2
  115. package/esm/lmvz-tabs.entry.js +2 -2
  116. package/esm/lmvz-toggle.entry.js +3 -3
  117. package/esm/loader.js +3 -3
  118. package/hydrate/index.js +115 -53
  119. package/hydrate/index.mjs +115 -53
  120. package/lmvz-components/index.esm.js +1 -1
  121. package/lmvz-components/lmvz-components.esm.js +1 -1
  122. package/lmvz-components/p-01ac17f8.entry.js +1 -0
  123. package/lmvz-components/{p-e35f49a1.entry.js → p-11ccd914.entry.js} +1 -1
  124. package/lmvz-components/{p-143e9621.entry.js → p-1595cad0.entry.js} +1 -1
  125. package/lmvz-components/{p-7cbfbc88.entry.js → p-253e56c9.entry.js} +1 -1
  126. package/lmvz-components/{p-773e9d95.entry.js → p-2ae64b73.entry.js} +1 -1
  127. package/lmvz-components/{p-93b781ca.entry.js → p-3606c1db.entry.js} +1 -1
  128. package/lmvz-components/{p-f911691c.entry.js → p-3de59694.entry.js} +1 -1
  129. package/lmvz-components/p-457b10e1.entry.js +1 -0
  130. package/lmvz-components/{p-d73bb7fd.entry.js → p-5e8f0b43.entry.js} +1 -1
  131. package/lmvz-components/{p-8ba6ec19.entry.js → p-7a018765.entry.js} +1 -1
  132. package/lmvz-components/{p-335b3867.entry.js → p-7d80a49d.entry.js} +1 -1
  133. package/lmvz-components/{p-ebad823c.entry.js → p-84d2b2e5.entry.js} +1 -1
  134. package/lmvz-components/{p-Wi9d2-w9.js → p-BbeaVKMa.js} +1 -1
  135. package/lmvz-components/p-Buw_s-9k.js +1 -0
  136. package/lmvz-components/{p-41286514.entry.js → p-a2f03112.entry.js} +1 -1
  137. package/lmvz-components/p-adb37d60.entry.js +1 -0
  138. package/lmvz-components/{p-edec4d09.entry.js → p-b050450d.entry.js} +1 -1
  139. package/lmvz-components/{p-efd9d50e.entry.js → p-b0f3758f.entry.js} +1 -1
  140. package/lmvz-components/{p-f24f5207.entry.js → p-b123e33d.entry.js} +1 -1
  141. package/lmvz-components/{p-304c7554.entry.js → p-ddf5d866.entry.js} +1 -1
  142. package/lmvz-components/p-e40f174d.entry.js +1 -0
  143. package/lmvz-components/{p-220e455e.entry.js → p-edb35b52.entry.js} +1 -1
  144. package/lmvz-components/{p-87f21ac9.entry.js → p-ef6e12ee.entry.js} +1 -1
  145. package/lmvz-components/{p-316dd61a.entry.js → p-f6ac0f0d.entry.js} +1 -1
  146. package/lmvz-components/p-wQ10Syko.js +3 -0
  147. package/loader/index.d.ts +1 -1
  148. package/manifest.json +243 -158
  149. package/package.json +5 -1
  150. package/types/api/ds.constants.d.ts +1 -0
  151. package/types/api/ds.types.d.ts +4 -0
  152. package/types/api/public-utils.d.ts +8 -0
  153. package/types/components/lmvz-card/lmvz-card.d.ts +17 -6
  154. package/types/components/lmvz-icon/lmvz-icon.d.ts +1 -1
  155. package/types/components/lmvz-input/lmvz-input.d.ts +2 -3
  156. package/types/components/lmvz-spinner/lmvz-spinner.d.ts +1 -1
  157. package/types/components.d.ts +68 -43
  158. package/types/index.d.ts +1 -8
  159. package/types/stencil-public-runtime.d.ts +12 -0
  160. package/collection/integration/header-integration/header-integration.js +0 -51
  161. package/components/p-0ctLESas.js +0 -1
  162. package/components/p-DSDBThqb.js +0 -1
  163. package/components/p-DXhP6UeF.js +0 -1
  164. package/components/p-DbBJxuBm.js +0 -1
  165. package/lmvz-components/p-0ctLESas.js +0 -1
  166. package/lmvz-components/p-27e8b4fa.entry.js +0 -1
  167. package/lmvz-components/p-6aae1df9.entry.js +0 -1
  168. package/lmvz-components/p-743616c0.entry.js +0 -1
  169. package/lmvz-components/p-DVab4vzV.js +0 -2
  170. package/lmvz-components/p-c884c76e.entry.js +0 -1
package/manifest.json CHANGED
@@ -1,58 +1,11 @@
1
1
  {
2
- "timestamp": "2026-08-17T12:33:14",
2
+ "timestamp": "2026-09-02T13:24:46",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.43.5",
5
+ "version": "4.44.2",
6
6
  "typescriptVersion": "5.8.3"
7
7
  },
8
8
  "components": [
9
- {
10
- "filePath": "src/integration/header-integration/header-integration.tsx",
11
- "encapsulation": "shadow",
12
- "tag": "header-integration",
13
- "readme": "# header-integration\n\n\n",
14
- "docs": "",
15
- "docsTags": [],
16
- "usage": {},
17
- "props": [
18
- {
19
- "name": "activeNav",
20
- "type": "string | undefined",
21
- "complexType": {
22
- "original": "string",
23
- "resolved": "string | undefined",
24
- "references": {}
25
- },
26
- "mutable": true,
27
- "attr": "active-nav",
28
- "reflectToAttr": false,
29
- "docs": "",
30
- "docsTags": [],
31
- "values": [
32
- {
33
- "type": "string"
34
- },
35
- {
36
- "type": "undefined"
37
- }
38
- ],
39
- "optional": true,
40
- "required": false,
41
- "getter": false,
42
- "setter": false
43
- }
44
- ],
45
- "methods": [],
46
- "events": [],
47
- "listeners": [],
48
- "styles": [],
49
- "slots": [],
50
- "parts": [],
51
- "states": [],
52
- "dependents": [],
53
- "dependencies": [],
54
- "dependencyGraph": {}
55
- },
56
9
  {
57
10
  "filePath": "src/components/lmvz-action/lmvz-action.tsx",
58
11
  "encapsulation": "shadow",
@@ -91,7 +44,12 @@
91
44
  ],
92
45
  "listeners": [],
93
46
  "styles": [],
94
- "slots": [],
47
+ "slots": [
48
+ {
49
+ "name": "",
50
+ "docs": "The default slot"
51
+ }
52
+ ],
95
53
  "parts": [],
96
54
  "states": [],
97
55
  "dependents": [],
@@ -172,6 +130,10 @@
172
130
  "listeners": [],
173
131
  "styles": [],
174
132
  "slots": [
133
+ {
134
+ "name": "",
135
+ "docs": "The default slot"
136
+ },
175
137
  {
176
138
  "name": "default",
177
139
  "docs": "`<lmvz-button>`, native `<button>`, `<hr>` dividers, or\n`<div role=\"group\" aria-label=\"…\">` groups containing buttons."
@@ -555,6 +517,10 @@
555
517
  "listeners": [],
556
518
  "styles": [],
557
519
  "slots": [
520
+ {
521
+ "name": "",
522
+ "docs": "The default slot"
523
+ },
558
524
  {
559
525
  "name": "default",
560
526
  "docs": "Slot for the content of the button"
@@ -568,6 +534,7 @@
568
534
  ],
569
535
  "states": [],
570
536
  "dependents": [
537
+ "lmvz-card",
571
538
  "lmvz-datepicker",
572
539
  "lmvz-message",
573
540
  "lmvz-modal",
@@ -575,6 +542,9 @@
575
542
  ],
576
543
  "dependencies": [],
577
544
  "dependencyGraph": {
545
+ "lmvz-card": [
546
+ "lmvz-button"
547
+ ],
578
548
  "lmvz-datepicker": [
579
549
  "lmvz-button"
580
550
  ],
@@ -695,7 +665,12 @@
695
665
  "events": [],
696
666
  "listeners": [],
697
667
  "styles": [],
698
- "slots": [],
668
+ "slots": [
669
+ {
670
+ "name": "",
671
+ "docs": "The default slot"
672
+ }
673
+ ],
699
674
  "parts": [],
700
675
  "states": [],
701
676
  "dependents": [
@@ -710,38 +685,50 @@
710
685
  },
711
686
  {
712
687
  "filePath": "src/components/lmvz-card/lmvz-card.tsx",
713
- "encapsulation": "scoped",
688
+ "encapsulation": "shadow",
714
689
  "tag": "lmvz-card",
715
- "readme": "# lmvz-card\n\n\n",
716
- "docs": "",
717
- "docsTags": [],
690
+ "readme": "# lmvz-card\n\nA card composes an image, title, description, an optional chip, and an optional single action into a self-contained content unit. Cards are available in two sizes: `large` and `small`.\n\n## Props\n\n- **`size`** — Size variant (`'large'` or `'small'`, default: `'large'`). Invalid values are normalized to `'large'` at runtime.\n- **`cardTitle?`** — Card title text. Rendered as the fallback `<h3>` for the `card-title` slot. Ignored when a heading is slotted into `card-title`. Exactly one of `cardTitle` or a slotted heading should be supplied.\n- **`description?`** — Optional description text.\n- **`imageUrl?`** — Optional image URL. Falls back to a bundled placeholder graphic when unset.\n- **`imageAlt?`** — Accessible alt text for the image (default: `''`). Use an empty string for decorative images.\n- **`actionLabel?`** — Label for the card's single action button. The action row renders only when this is a non-empty string.\n\n## Events\n\n- **`lmvzCardAction`** — Emitted once per activation of the action button.\n\n## Slots\n\n- **`chip`** — Optional slot for a status/metadata chip (e.g., `<lmvz-chip>`), rendered in the content block. Visibility and spacing are handled automatically based on whether content is present.\n\n- **`card-title`** — Optional slot to provide a heading element (`h2`, `h3`, `h4`, or `h5`) for the card title, allowing you to control the heading level for a correct document outline.\n - **Purpose:** When no heading is slotted, the `cardTitle` prop is rendered as a fallback `<h3>`. The slot lets you override the heading level so the card fits correctly into your page's document outline structure.\n - **Supported range:** `h2` through `h5`. This range is **documented guidance only and not technically enforced by any DOM, CSS, or type mechanism** — any element can technically be slotted. A dev-time console warning (when ARIA validation is enabled) flags non-heading elements, out-of-range headings (`h1` or `h6`), or when neither a heading nor a `cardTitle` prop is supplied.\n - **Mutual exclusivity:** Exactly one of `cardTitle` or a slotted heading must be supplied. Slotting a heading and setting `cardTitle` at the same time is not an error, but only the slotted heading will render. The two mechanisms are mutually exclusive by platform design (slot fallback content only renders when no content is assigned to the slot).\n - **Styling:** The card applies its own size-branched title typography to the slotted heading regardless of which heading level you choose. Slotting a heading replaces the default `<h3>` entirely. You control the heading level for your document outline; the card controls the typography.\n\n## Breaking Changes\n\nThis version of `lmvz-card` is a from-scratch implementation with no migration path, deprecation alias, or compatibility shim:\n\n- **Removed props:** `primaryActionLabel`\n- **Removed events:** `primaryAction`\n- **Removed UI:** The overflow/kebab menu button\n\nThere is no direct successor for these removed APIs. The new card ships with a single secondary-styled action button whose label is supplied via `actionLabel` and whose activation emits `lmvzCardAction`. No old-to-new mapping exists.\n\n## Deferred Features\n\nA favorite/bookmark icon-button affordance was evaluated during design (visible in the source Figma frame) but intentionally deferred out of this implementation, pending a future, separately-scoped checklist. It is not available in this version.\n",
691
+ "docs": "A card composes an image, title, description, an optional chip, and an optional single action into a self-contained content unit.",
692
+ "docsTags": [
693
+ {
694
+ "name": "slot",
695
+ "text": "chip - Optional slot for a status/metadata chip (e.g. `<lmvz-chip>`), rendered in the content block. Visibility and spacing are handled automatically based on whether content is present."
696
+ },
697
+ {
698
+ "name": "slot",
699
+ "text": "card-title - Optional slot to provide a heading element (`<h2>`-`<h5>`) for the card title, allowing consumers to control the heading level for a correct document outline. If nothing is slotted, the `cardTitle` prop is rendered as the fallback `<h3>`. Exactly one of the two mechanisms should be used."
700
+ }
701
+ ],
718
702
  "usage": {},
719
703
  "props": [
720
704
  {
721
- "name": "cardTitle",
722
- "type": "string",
705
+ "name": "actionLabel",
706
+ "type": "string | undefined",
723
707
  "complexType": {
724
708
  "original": "string",
725
- "resolved": "string",
709
+ "resolved": "string | undefined",
726
710
  "references": {}
727
711
  },
728
712
  "mutable": false,
729
- "attr": "card-title",
713
+ "attr": "action-label",
730
714
  "reflectToAttr": false,
731
- "docs": "Card title (required)",
715
+ "docs": "Label for the card's single action button. The action row renders only when this is a non-empty string.",
732
716
  "docsTags": [],
733
717
  "values": [
734
718
  {
735
719
  "type": "string"
720
+ },
721
+ {
722
+ "type": "undefined"
736
723
  }
737
724
  ],
738
- "optional": false,
739
- "required": true,
725
+ "optional": true,
726
+ "required": false,
740
727
  "getter": false,
741
728
  "setter": false
742
729
  },
743
730
  {
744
- "name": "description",
731
+ "name": "cardTitle",
745
732
  "type": "string | undefined",
746
733
  "complexType": {
747
734
  "original": "string",
@@ -749,9 +736,9 @@
749
736
  "references": {}
750
737
  },
751
738
  "mutable": false,
752
- "attr": "description",
739
+ "attr": "card-title",
753
740
  "reflectToAttr": false,
754
- "docs": "Optional description",
741
+ "docs": "Card title text, rendered as the fallback `<h3>` for the `card-title` slot.\nIgnored when a heading is slotted into `card-title`. One of `cardTitle` or a slotted heading should be supplied.",
755
742
  "docsTags": [],
756
743
  "values": [
757
744
  {
@@ -767,7 +754,7 @@
767
754
  "setter": false
768
755
  },
769
756
  {
770
- "name": "imageUrl",
757
+ "name": "description",
771
758
  "type": "string | undefined",
772
759
  "complexType": {
773
760
  "original": "string",
@@ -775,9 +762,9 @@
775
762
  "references": {}
776
763
  },
777
764
  "mutable": false,
778
- "attr": "image-url",
765
+ "attr": "description",
779
766
  "reflectToAttr": false,
780
- "docs": "Optional image URL; placeholder used if omitted",
767
+ "docs": "Optional description text.",
781
768
  "docsTags": [],
782
769
  "values": [
783
770
  {
@@ -793,7 +780,7 @@
793
780
  "setter": false
794
781
  },
795
782
  {
796
- "name": "primaryActionLabel",
783
+ "name": "imageAlt",
797
784
  "type": "string",
798
785
  "complexType": {
799
786
  "original": "string",
@@ -801,9 +788,9 @@
801
788
  "references": {}
802
789
  },
803
790
  "mutable": false,
804
- "attr": "primary-action-label",
791
+ "attr": "image-alt",
805
792
  "reflectToAttr": false,
806
- "docs": "Primary action button label",
793
+ "docs": "Accessible alt text for the image.",
807
794
  "docsTags": [
808
795
  {
809
796
  "name": "default",
@@ -820,38 +807,115 @@
820
807
  "required": false,
821
808
  "getter": false,
822
809
  "setter": false
810
+ },
811
+ {
812
+ "name": "imageUrl",
813
+ "type": "string | undefined",
814
+ "complexType": {
815
+ "original": "string",
816
+ "resolved": "string | undefined",
817
+ "references": {}
818
+ },
819
+ "mutable": false,
820
+ "attr": "image-url",
821
+ "reflectToAttr": false,
822
+ "docs": "Optional image URL; falls back to a bundled placeholder graphic when unset.",
823
+ "docsTags": [],
824
+ "values": [
825
+ {
826
+ "type": "string"
827
+ },
828
+ {
829
+ "type": "undefined"
830
+ }
831
+ ],
832
+ "optional": true,
833
+ "required": false,
834
+ "getter": false,
835
+ "setter": false
836
+ },
837
+ {
838
+ "name": "size",
839
+ "type": "\"large\" | \"small\"",
840
+ "complexType": {
841
+ "original": "Card.Size",
842
+ "resolved": "\"large\" | \"small\"",
843
+ "references": {
844
+ "Card": {
845
+ "location": "import",
846
+ "path": "../../api/ds.types",
847
+ "id": "src/api/ds.types.d.ts::Card",
848
+ "referenceLocation": "Card"
849
+ }
850
+ }
851
+ },
852
+ "mutable": true,
853
+ "attr": "size",
854
+ "reflectToAttr": true,
855
+ "docs": "Size variant of the card.\nInvalid values are normalized to `large` at runtime.",
856
+ "docsTags": [
857
+ {
858
+ "name": "default",
859
+ "text": "'large'"
860
+ }
861
+ ],
862
+ "default": "'large'",
863
+ "values": [
864
+ {
865
+ "value": "large",
866
+ "type": "string"
867
+ },
868
+ {
869
+ "value": "small",
870
+ "type": "string"
871
+ }
872
+ ],
873
+ "optional": false,
874
+ "required": false,
875
+ "getter": false,
876
+ "setter": false
823
877
  }
824
878
  ],
825
879
  "methods": [],
826
880
  "events": [
827
881
  {
828
- "event": "primaryAction",
829
- "detail": "PointerEvent",
882
+ "event": "lmvzCardAction",
883
+ "detail": "void",
830
884
  "bubbles": true,
831
885
  "complexType": {
832
- "original": "PointerEvent",
833
- "resolved": "PointerEvent",
834
- "references": {
835
- "PointerEvent": {
836
- "location": "global",
837
- "id": "global::PointerEvent"
838
- }
839
- }
886
+ "original": "void",
887
+ "resolved": "void",
888
+ "references": {}
840
889
  },
841
890
  "cancelable": true,
842
891
  "composed": true,
843
- "docs": "Event emitted when primary button is clicked",
892
+ "docs": "Emitted once per activation of the action button.",
844
893
  "docsTags": []
845
894
  }
846
895
  ],
847
896
  "listeners": [],
848
897
  "styles": [],
849
- "slots": [],
898
+ "slots": [
899
+ {
900
+ "name": "card-title",
901
+ "docs": "Optional slot to provide a heading element (`<h2>`-`<h5>`) for the card title, allowing consumers to control the heading level for a correct document outline. If nothing is slotted, the `cardTitle` prop is rendered as the fallback `<h3>`. Exactly one of the two mechanisms should be used."
902
+ },
903
+ {
904
+ "name": "chip",
905
+ "docs": "Optional slot for a status/metadata chip (e.g. `<lmvz-chip>`), rendered in the content block. Visibility and spacing are handled automatically based on whether content is present."
906
+ }
907
+ ],
850
908
  "parts": [],
851
909
  "states": [],
852
910
  "dependents": [],
853
- "dependencies": [],
854
- "dependencyGraph": {}
911
+ "dependencies": [
912
+ "lmvz-button"
913
+ ],
914
+ "dependencyGraph": {
915
+ "lmvz-card": [
916
+ "lmvz-button"
917
+ ]
918
+ }
855
919
  },
856
920
  {
857
921
  "filePath": "src/components/lmvz-checkbox/lmvz-checkbox.tsx",
@@ -1411,6 +1475,10 @@
1411
1475
  "listeners": [],
1412
1476
  "styles": [],
1413
1477
  "slots": [
1478
+ {
1479
+ "name": "",
1480
+ "docs": "The default slot"
1481
+ },
1414
1482
  {
1415
1483
  "name": "after-text",
1416
1484
  "docs": "Optional slot for content to be placed after the text content. Common use case is an icon.\n\nSlotted `lmvz-icon`s are controlled by the chip's internal sizing."
@@ -2335,26 +2403,32 @@
2335
2403
  "props": [
2336
2404
  {
2337
2405
  "name": "ariaLabel",
2338
- "type": "string | undefined",
2406
+ "type": "null | string",
2339
2407
  "complexType": {
2340
- "original": "string",
2341
- "resolved": "string | undefined",
2408
+ "original": "string | null",
2409
+ "resolved": "null | string",
2342
2410
  "references": {}
2343
2411
  },
2344
2412
  "mutable": false,
2345
2413
  "attr": "aria-label",
2346
2414
  "reflectToAttr": true,
2347
2415
  "docs": "Accessible name for assistive technology.\nLeave unset for decorative icons so the icon stays hidden from the accessibility tree.",
2348
- "docsTags": [],
2416
+ "docsTags": [
2417
+ {
2418
+ "name": "default",
2419
+ "text": "null"
2420
+ }
2421
+ ],
2422
+ "default": "null",
2349
2423
  "values": [
2350
2424
  {
2351
- "type": "string"
2425
+ "type": "null"
2352
2426
  },
2353
2427
  {
2354
- "type": "undefined"
2428
+ "type": "string"
2355
2429
  }
2356
2430
  ],
2357
- "optional": true,
2431
+ "optional": false,
2358
2432
  "required": false,
2359
2433
  "getter": false,
2360
2434
  "setter": false
@@ -2595,10 +2669,10 @@
2595
2669
  "props": [
2596
2670
  {
2597
2671
  "name": "autocapitalize",
2598
- "type": "\"characters\" | \"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | undefined",
2672
+ "type": "\"characters\" | \"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | null",
2599
2673
  "complexType": {
2600
- "original": "Input.Autocapitalize",
2601
- "resolved": "\"characters\" | \"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | undefined",
2674
+ "original": "Input.Autocapitalize | null",
2675
+ "resolved": "\"characters\" | \"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | null",
2602
2676
  "references": {
2603
2677
  "Input": {
2604
2678
  "location": "import",
@@ -2618,6 +2692,7 @@
2618
2692
  "text": "undefined"
2619
2693
  }
2620
2694
  ],
2695
+ "default": "null",
2621
2696
  "values": [
2622
2697
  {
2623
2698
  "value": "characters",
@@ -2644,10 +2719,10 @@
2644
2719
  "type": "string"
2645
2720
  },
2646
2721
  {
2647
- "type": "undefined"
2722
+ "type": "null"
2648
2723
  }
2649
2724
  ],
2650
- "optional": true,
2725
+ "optional": false,
2651
2726
  "required": false,
2652
2727
  "getter": false,
2653
2728
  "setter": false
@@ -5717,42 +5792,6 @@
5717
5792
  "getter": false,
5718
5793
  "setter": false
5719
5794
  },
5720
- {
5721
- "name": "autocorrect",
5722
- "type": "\"off\" | \"on\" | undefined",
5723
- "complexType": {
5724
- "original": "'on' | 'off'",
5725
- "resolved": "\"off\" | \"on\" | undefined",
5726
- "references": {}
5727
- },
5728
- "mutable": false,
5729
- "attr": "autocorrect",
5730
- "reflectToAttr": false,
5731
- "docs": "Autocorrect attribute for mobile keyboards",
5732
- "docsTags": [
5733
- {
5734
- "name": "default",
5735
- "text": "undefined"
5736
- }
5737
- ],
5738
- "values": [
5739
- {
5740
- "value": "off",
5741
- "type": "string"
5742
- },
5743
- {
5744
- "value": "on",
5745
- "type": "string"
5746
- },
5747
- {
5748
- "type": "undefined"
5749
- }
5750
- ],
5751
- "optional": true,
5752
- "required": false,
5753
- "getter": false,
5754
- "setter": false
5755
- },
5756
5795
  {
5757
5796
  "name": "autofocus",
5758
5797
  "type": "boolean",
@@ -6295,10 +6334,10 @@
6295
6334
  },
6296
6335
  {
6297
6336
  "name": "spellcheck",
6298
- "type": "boolean | undefined",
6337
+ "type": "boolean | null",
6299
6338
  "complexType": {
6300
- "original": "boolean",
6301
- "resolved": "boolean | undefined",
6339
+ "original": "boolean | null",
6340
+ "resolved": "boolean | null",
6302
6341
  "references": {}
6303
6342
  },
6304
6343
  "mutable": false,
@@ -6311,15 +6350,16 @@
6311
6350
  "text": "undefined"
6312
6351
  }
6313
6352
  ],
6353
+ "default": "null",
6314
6354
  "values": [
6315
6355
  {
6316
6356
  "type": "boolean"
6317
6357
  },
6318
6358
  {
6319
- "type": "undefined"
6359
+ "type": "null"
6320
6360
  }
6321
6361
  ],
6322
- "optional": true,
6362
+ "optional": false,
6323
6363
  "required": false,
6324
6364
  "getter": false,
6325
6365
  "setter": false
@@ -6859,6 +6899,10 @@
6859
6899
  "listeners": [],
6860
6900
  "styles": [],
6861
6901
  "slots": [
6902
+ {
6903
+ "name": "",
6904
+ "docs": "The default slot"
6905
+ },
6862
6906
  {
6863
6907
  "name": "default",
6864
6908
  "docs": "Inline label text for the link."
@@ -6971,7 +7015,12 @@
6971
7015
  ],
6972
7016
  "listeners": [],
6973
7017
  "styles": [],
6974
- "slots": [],
7018
+ "slots": [
7019
+ {
7020
+ "name": "",
7021
+ "docs": "The default slot"
7022
+ }
7023
+ ],
6975
7024
  "parts": [],
6976
7025
  "states": [],
6977
7026
  "dependents": [],
@@ -7213,7 +7262,12 @@
7213
7262
  ],
7214
7263
  "listeners": [],
7215
7264
  "styles": [],
7216
- "slots": [],
7265
+ "slots": [
7266
+ {
7267
+ "name": "",
7268
+ "docs": "The default slot"
7269
+ }
7270
+ ],
7217
7271
  "parts": [],
7218
7272
  "states": [],
7219
7273
  "dependents": [],
@@ -7349,6 +7403,10 @@
7349
7403
  ],
7350
7404
  "styles": [],
7351
7405
  "slots": [
7406
+ {
7407
+ "name": "",
7408
+ "docs": "The default slot"
7409
+ },
7352
7410
  {
7353
7411
  "name": "actions",
7354
7412
  "docs": "Modal actions. Only direct `lmvz-button` children are allowed.\nThe `actions` slot is rendered inside an internal `lmvz-button-group` component. This means:\n- Slotted `lmvz-button` elements will have their `variant` attribute auto-assigned by slot order if no explicit variant is set: last button → `primary`, second-to-last → `secondary`, earlier → `tertiary`.\n- Non-button children are automatically hidden and marked with `aria-hidden=\"true\"`.\nIf you explicitly set a `variant` attribute on any button, auto-assignment will not override it."
@@ -7789,6 +7847,10 @@
7789
7847
  "listeners": [],
7790
7848
  "styles": [],
7791
7849
  "slots": [
7850
+ {
7851
+ "name": "",
7852
+ "docs": "The default slot"
7853
+ },
7792
7854
  {
7793
7855
  "name": "default",
7794
7856
  "docs": "Popover content. Any element may be slotted here."
@@ -8721,6 +8783,10 @@
8721
8783
  ],
8722
8784
  "styles": [],
8723
8785
  "slots": [
8786
+ {
8787
+ "name": "",
8788
+ "docs": "The default slot"
8789
+ },
8724
8790
  {
8725
8791
  "name": "default",
8726
8792
  "docs": "Native `<option>` or `<optgroup>` elements. Never rendered directly; read once\nassigned to build the internal `role=\"option\"` listbox, and re-read on structural slot changes\nor in-place mutation (attribute/text/subtree) of already-slotted elements. `<option selected>`\ndetermines the initial value (or, in multiselect mode, the initial `values`) when the `value`/\n`values` prop is not set."
@@ -9021,26 +9087,32 @@
9021
9087
  "props": [
9022
9088
  {
9023
9089
  "name": "ariaLabel",
9024
- "type": "string | undefined",
9090
+ "type": "null | string",
9025
9091
  "complexType": {
9026
- "original": "string",
9027
- "resolved": "string | undefined",
9092
+ "original": "string | null",
9093
+ "resolved": "null | string",
9028
9094
  "references": {}
9029
9095
  },
9030
9096
  "mutable": false,
9031
9097
  "attr": "aria-label",
9032
9098
  "reflectToAttr": true,
9033
9099
  "docs": "Accessible name for assistive technology.\nLeave unset for decorative spinners so the element stays hidden from the accessibility tree.",
9034
- "docsTags": [],
9100
+ "docsTags": [
9101
+ {
9102
+ "name": "default",
9103
+ "text": "null"
9104
+ }
9105
+ ],
9106
+ "default": "null",
9035
9107
  "values": [
9036
9108
  {
9037
- "type": "string"
9109
+ "type": "null"
9038
9110
  },
9039
9111
  {
9040
- "type": "undefined"
9112
+ "type": "string"
9041
9113
  }
9042
9114
  ],
9043
- "optional": true,
9115
+ "optional": false,
9044
9116
  "required": false,
9045
9117
  "getter": false,
9046
9118
  "setter": false
@@ -9235,6 +9307,10 @@
9235
9307
  "listeners": [],
9236
9308
  "styles": [],
9237
9309
  "slots": [
9310
+ {
9311
+ "name": "",
9312
+ "docs": "The default slot"
9313
+ },
9238
9314
  {
9239
9315
  "name": "default",
9240
9316
  "docs": "Label text or arbitrary inline content for the tab."
@@ -9460,6 +9536,10 @@
9460
9536
  ],
9461
9537
  "styles": [],
9462
9538
  "slots": [
9539
+ {
9540
+ "name": "",
9541
+ "docs": "The default slot"
9542
+ },
9463
9543
  {
9464
9544
  "name": "default",
9465
9545
  "docs": "`lmvz-tab` trigger elements."
@@ -9852,17 +9932,22 @@
9852
9932
  ],
9853
9933
  "typeLibrary": {
9854
9934
  "src/api/index.d.ts::Button": {
9855
- "declaration": "any",
9935
+ "declaration": "\"small\" | \"default\" | \"large\"",
9856
9936
  "docstring": "",
9857
9937
  "path": "src/api/index.d.ts"
9858
9938
  },
9859
9939
  "src/api/index.d.ts::FormRef": {
9860
- "declaration": "any",
9940
+ "declaration": "export type FormRef = string | HTMLFormElement | undefined;",
9861
9941
  "docstring": "",
9862
9942
  "path": "src/api/index.d.ts"
9863
9943
  },
9944
+ "src/api/ds.types.d.ts::Card": {
9945
+ "declaration": "\"small\" | \"large\"",
9946
+ "docstring": "",
9947
+ "path": "src/api/ds.types.d.ts"
9948
+ },
9864
9949
  "src/api/ds.types.d.ts::Chip": {
9865
- "declaration": "any",
9950
+ "declaration": "\"active\" | \"warning\" | \"success\" | \"error\" | \"neutral\"",
9866
9951
  "docstring": "",
9867
9952
  "path": "src/api/ds.types.d.ts"
9868
9953
  },
@@ -9877,7 +9962,7 @@
9877
9962
  "path": "../../lib/ts/src/date/IsoDateString.d.ts"
9878
9963
  },
9879
9964
  "src/api/index.d.ts::Datepicker": {
9880
- "declaration": "any",
9965
+ "declaration": "string",
9881
9966
  "docstring": "",
9882
9967
  "path": "src/api/index.d.ts"
9883
9968
  },
@@ -9887,37 +9972,37 @@
9887
9972
  "path": "../../lib/ts/dist/validation/SVGString.d.ts"
9888
9973
  },
9889
9974
  "src/api/index.d.ts::Icon": {
9890
- "declaration": "any",
9975
+ "declaration": "\"thin\" | \"medium\" | \"bold\"",
9891
9976
  "docstring": "",
9892
9977
  "path": "src/api/index.d.ts"
9893
9978
  },
9894
9979
  "src/api/index.d.ts::Input": {
9895
- "declaration": "any",
9980
+ "declaration": "\"number\" | \"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\"",
9896
9981
  "docstring": "",
9897
9982
  "path": "src/api/index.d.ts"
9898
9983
  },
9899
9984
  "src/api/ds.types.d.ts::Link": {
9900
- "declaration": "any",
9985
+ "declaration": "\"internal\" | \"external\"",
9901
9986
  "docstring": "",
9902
9987
  "path": "src/api/ds.types.d.ts"
9903
9988
  },
9904
9989
  "src/api/index.d.ts::Message": {
9905
- "declaration": "any",
9990
+ "declaration": "\"warning\" | \"neutral\"",
9906
9991
  "docstring": "",
9907
9992
  "path": "src/api/index.d.ts"
9908
9993
  },
9909
9994
  "src/api/index.d.ts::Popover": {
9910
- "declaration": "any",
9995
+ "declaration": "\"top\" | \"bottom\" | \"start\" | \"end\" | \"top-start\" | \"top-end\" | \"bottom-start\" | \"bottom-end\"",
9911
9996
  "docstring": "",
9912
9997
  "path": "src/api/index.d.ts"
9913
9998
  },
9914
9999
  "src/api/index.d.ts::Select": {
9915
- "declaration": "any",
10000
+ "declaration": "\"small\" | \"default\" | \"large\"",
9916
10001
  "docstring": "",
9917
10002
  "path": "src/api/index.d.ts"
9918
10003
  },
9919
10004
  "src/api/index.d.ts::Snackbar": {
9920
- "declaration": "any",
10005
+ "declaration": "\"warning\" | \"success\" | \"error\"",
9921
10006
  "docstring": "",
9922
10007
  "path": "src/api/index.d.ts"
9923
10008
  }