@lmvz-ds/components 0.18.2 → 0.20.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 (141) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +45 -100
  3. package/assets/icons/checkmark.svg +4 -0
  4. package/cjs/{aria-loader-CfFuAbJn.js → aria-loader-Cec1zR2g.js} +1 -1
  5. package/cjs/ds.constants-DSnxZ3ia.js +16 -0
  6. package/cjs/icons-BQASWgk-.js +80 -0
  7. package/cjs/{index--7IqZZqn.js → index-3g9Z9sfF.js} +765 -2854
  8. package/cjs/index.cjs.js +12 -12
  9. package/cjs/lmvz-button.cjs.entry.js +4 -4
  10. package/cjs/lmvz-card.cjs.entry.js +1 -1
  11. package/cjs/lmvz-checkbox.cjs.entry.js +113 -0
  12. package/cjs/lmvz-chip.cjs.entry.js +68 -4
  13. package/cjs/lmvz-components.cjs.js +1 -1
  14. package/cjs/lmvz-header_2.cjs.entry.js +3 -3
  15. package/cjs/lmvz-icon.cjs.entry.js +10 -8
  16. package/cjs/lmvz-input.cjs.entry.js +4 -4
  17. package/cjs/lmvz-menuitem.cjs.entry.js +4 -4
  18. package/cjs/lmvz-select.cjs.entry.js +3 -3
  19. package/cjs/loader.cjs.js +1 -1
  20. package/cjs/{logger-Bn2yoZGP.js → logger-DsM6xg6V.js} +3063 -833
  21. package/cjs/{reactive-controller-host-CtaVAiYJ.js → reactive-controller-host-BA4ZhjKA.js} +10 -10
  22. package/cjs/svg-BMBduILB.js +125 -0
  23. package/collection/api/ds.constants.js +2 -0
  24. package/collection/assets/icons/checkmark.svg +4 -0
  25. package/collection/collection-manifest.json +1 -0
  26. package/collection/components/lmvz-button/lmvz-button.css +1 -2
  27. package/collection/components/lmvz-button/lmvz-button.js +6 -3
  28. package/collection/components/lmvz-card/lmvz-card.css +1 -2
  29. package/collection/components/lmvz-checkbox/lmvz-checkbox.css +207 -0
  30. package/collection/components/lmvz-checkbox/lmvz-checkbox.js +424 -0
  31. package/collection/components/lmvz-chip/lmvz-chip.css +84 -1
  32. package/collection/components/lmvz-chip/lmvz-chip.js +110 -13
  33. package/collection/components/lmvz-header/lmvz-header.js +2 -2
  34. package/collection/components/lmvz-icon/lmvz-icon.css +11 -10
  35. package/collection/components/lmvz-icon/lmvz-icon.js +8 -7
  36. package/collection/components/lmvz-input/lmvz-input.js +4 -4
  37. package/collection/components/lmvz-menuitem/lmvz-menuitem.css +1 -1
  38. package/collection/components/lmvz-menuitem/lmvz-menuitem.js +11 -5
  39. package/collection/components/lmvz-select/lmvz-select.js +1 -1
  40. package/collection/index.js +1 -1
  41. package/collection/integration/header-integration/header-integration.js +1 -1
  42. package/collection/utils/aria/aria-validation-controller.js +1 -0
  43. package/collection/utils/icons/icons.js +2 -13
  44. package/collection/utils/icons/icons.unit.js +3 -15
  45. package/collection/utils/reactive-controller-host.js +9 -9
  46. package/components/index.d.ts +2 -0
  47. package/components/index.d.ts.bak +2 -0
  48. package/components/index.js +1 -1
  49. package/components/lmvz-button.js +1 -1
  50. package/components/lmvz-card.js +1 -1
  51. package/components/lmvz-checkbox.d.ts +11 -0
  52. package/components/lmvz-checkbox.d.ts.bak +11 -0
  53. package/components/lmvz-checkbox.js +1 -0
  54. package/components/lmvz-chip.js +1 -1
  55. package/components/lmvz-header.js +1 -1
  56. package/components/lmvz-icon.js +1 -1
  57. package/components/lmvz-input.js +1 -1
  58. package/components/lmvz-menuitem.js +1 -1
  59. package/components/lmvz-select.js +1 -1
  60. package/components/p-0s99QfRy.js +12 -0
  61. package/components/{p-CBLAeife.js → p-BuFx0tTm.js} +1 -1
  62. package/components/p-CGmJG63p.js +1 -0
  63. package/components/p-CcxjkCOx.js +1 -0
  64. package/components/{p-DQEkWkMh.js → p-DIrAQ4IB.js} +1 -1
  65. package/esm/{aria-loader-BF_AYtbb.js → aria-loader-BVolm0lC.js} +1 -1
  66. package/esm/ds.constants-Bmi89ll1.js +9 -0
  67. package/esm/icons-CmuFKDRz.js +75 -0
  68. package/esm/{index-7Ru1khgk.js → index-Dh_9sN0q.js} +389 -2478
  69. package/esm/index.js +5 -11
  70. package/esm/lmvz-button.entry.js +4 -4
  71. package/esm/lmvz-card.entry.js +1 -1
  72. package/esm/lmvz-checkbox.entry.js +111 -0
  73. package/esm/lmvz-chip.entry.js +69 -5
  74. package/esm/lmvz-components.js +1 -1
  75. package/esm/lmvz-header_2.entry.js +3 -3
  76. package/esm/lmvz-icon.entry.js +10 -8
  77. package/esm/lmvz-input.entry.js +4 -4
  78. package/esm/lmvz-menuitem.entry.js +4 -4
  79. package/esm/lmvz-select.entry.js +3 -3
  80. package/esm/loader.js +1 -1
  81. package/esm/{logger-fiRXhuXK.js → logger-CGmJG63p.js} +2870 -765
  82. package/esm/{reactive-controller-host-sR2jJxNG.js → reactive-controller-host-DHcPpJW7.js} +10 -10
  83. package/esm/svg-B2YoIRuh.js +121 -0
  84. package/hydrate/index.js +2383 -42
  85. package/hydrate/index.mjs +2383 -42
  86. package/lmvz-components/index.esm.js +1 -1
  87. package/lmvz-components/lmvz-components.esm.js +1 -1
  88. package/lmvz-components/{p-5aa17cd2.entry.js → p-0f7a4236.entry.js} +1 -1
  89. package/lmvz-components/p-0s99QfRy.js +12 -0
  90. package/lmvz-components/{p-30b99f11.entry.js → p-2f83d7a2.entry.js} +1 -1
  91. package/lmvz-components/{p-6dbb3f13.entry.js → p-32171f4f.entry.js} +1 -1
  92. package/lmvz-components/{p-59383f3a.entry.js → p-400b2318.entry.js} +1 -1
  93. package/lmvz-components/p-851969bd.entry.js +1 -0
  94. package/lmvz-components/p-9f9d845d.entry.js +1 -0
  95. package/lmvz-components/p-Bmi89ll1.js +1 -0
  96. package/lmvz-components/p-CFsC37ww.js +1 -0
  97. package/lmvz-components/p-CGmJG63p.js +1 -0
  98. package/lmvz-components/p-CcxjkCOx.js +1 -0
  99. package/lmvz-components/{p-Bkfdgg0T.js → p-GdMr6Qlp.js} +1 -1
  100. package/lmvz-components/p-a12f95da.entry.js +1 -0
  101. package/lmvz-components/{p-84267405.entry.js → p-ab4437dc.entry.js} +1 -1
  102. package/lmvz-components/{p-7a6bec13.entry.js → p-d0a0e206.entry.js} +1 -1
  103. package/lmvz-components/{p-B3dnXEPG.js → p-dhVSUYqd.js} +1 -1
  104. package/manifest.json +544 -28
  105. package/package.json +5 -1
  106. package/types/api/ds.constants.d.ts +6 -1
  107. package/types/components/lmvz-action/lmvz-action.d.ts +0 -1
  108. package/types/components/lmvz-button/lmvz-button.d.ts +0 -1
  109. package/types/components/lmvz-card/lmvz-card.d.ts +0 -1
  110. package/types/components/lmvz-checkbox/lmvz-checkbox.d.ts +39 -0
  111. package/types/components/lmvz-chip/lmvz-chip.d.ts +18 -3
  112. package/types/components/lmvz-header/lmvz-header.d.ts +0 -1
  113. package/types/components/lmvz-icon/lmvz-icon.d.ts +0 -1
  114. package/types/components/lmvz-input/lmvz-input.d.ts +0 -1
  115. package/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +0 -1
  116. package/types/components/lmvz-select/lmvz-select.d.ts +0 -1
  117. package/types/components.d.ts +221 -12
  118. package/types/index.d.ts +1 -2
  119. package/types/utils/aria/aria-validation-controller.d.ts +1 -2
  120. package/types/utils/aria/element-activation-controller.d.ts +0 -1
  121. package/types/utils/aria/list-keyboard-controller.d.ts +0 -1
  122. package/types/utils/assets.d.ts +0 -1
  123. package/types/utils/component.d.ts +0 -1
  124. package/types/utils/environment.d.ts +0 -1
  125. package/types/utils/http.d.ts +0 -1
  126. package/types/utils/http.unit.d.ts +0 -1
  127. package/types/utils/icons/icons-registry.d.ts +0 -1
  128. package/types/utils/icons/icons.d.ts +0 -2
  129. package/types/utils/icons/icons.unit.d.ts +0 -1
  130. package/types/utils/icons/public.d.ts +0 -1
  131. package/types/utils/public.d.ts +0 -1
  132. package/types/utils/reactive-controller-host.d.ts +0 -1
  133. package/cjs/icons-swqMn6s2.js +0 -163
  134. package/components/p-DXOTa5VF.js +0 -12
  135. package/components/p-fiRXhuXK.js +0 -1
  136. package/esm/icons-Ca8oMiRa.js +0 -157
  137. package/lmvz-components/p-0a41cc24.entry.js +0 -1
  138. package/lmvz-components/p-5f150890.entry.js +0 -1
  139. package/lmvz-components/p-Bh2Epkwf.js +0 -1
  140. package/lmvz-components/p-DXOTa5VF.js +0 -12
  141. package/lmvz-components/p-fiRXhuXK.js +0 -1
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-05-18T08:47:43",
2
+ "timestamp": "2026-05-20T12:42:52",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.4",
@@ -261,7 +261,7 @@
261
261
  "mutable": false,
262
262
  "attr": "type",
263
263
  "reflectToAttr": false,
264
- "docs": "",
264
+ "docs": "Native button type forwarded to the internal `<button>` element.\nUse `submit` to trigger form submission.",
265
265
  "docsTags": [
266
266
  {
267
267
  "name": "default",
@@ -507,16 +507,215 @@
507
507
  "dependencyGraph": {}
508
508
  },
509
509
  {
510
- "filePath": "src/components/lmvz-chip/lmvz-chip.tsx",
511
- "encapsulation": "shadow",
512
- "tag": "lmvz-chip",
513
- "readme": "# lmvz-chip\n\n\n",
514
- "docs": "",
515
- "docsTags": [],
510
+ "filePath": "src/components/lmvz-checkbox/lmvz-checkbox.tsx",
511
+ "encapsulation": "scoped",
512
+ "tag": "lmvz-checkbox",
513
+ "readme": "# lmvz-checkbox\n\nAccessible, form-associated checkbox built as a Stencil scoped web component. Participates in native HTML forms via `ElementInternals` and emits a `lmvzChange` event on toggle.\n\n## Usage\n\n### Basic\n\n```html\n<lmvz-checkbox label=\"Accept terms and conditions\"></lmvz-checkbox>\n\n<!-- With helper text -->\n<lmvz-checkbox\n label=\"Subscribe to newsletter\"\n helper-text=\"You can unsubscribe at any time.\"\n></lmvz-checkbox>\n\n<!-- Required with error state -->\n<lmvz-checkbox\n label=\"I agree to the privacy policy\"\n required\n error\n error-message=\"You must accept the privacy policy to continue.\"\n></lmvz-checkbox>\n```\n\n### Form integration\n\n`lmvz-checkbox` participates in native form submission via `ElementInternals`. Use `name` to set the field name and `value` to control the submitted value (defaults to `'on'`).\n\n```html\n<form id=\"signup-form\">\n <lmvz-checkbox\n name=\"terms\"\n label=\"Accept terms and conditions\"\n value=\"accepted\"\n required\n ></lmvz-checkbox>\n <button type=\"submit\">Submit</button>\n</form>\n```\n\n```js\ndocument.getElementById('signup-form').addEventListener('submit', (event) => {\n event.preventDefault();\n const data = new FormData(event.target);\n // data.get('terms') === 'accepted' when checked, null when unchecked\n console.log(data.get('terms'));\n});\n```\n\nTo associate the checkbox with a form outside its DOM subtree, pass the form element's `id` via the `form` attribute:\n\n```html\n<form id=\"external-form\">...</form>\n<lmvz-checkbox name=\"consent\" label=\"I consent\" form=\"external-form\"></lmvz-checkbox>\n```\n\n## Reflected Attributes\n\nThe following props are reflected as HTML attributes and can be used in CSS attribute selectors:\n\n| Prop | Attribute |\n|------|-----------|\n| `checked` | `checked` |\n| `disabled` | `disabled` |\n| `required` | `required` |\n| `error` | `error` |\n\n## CSS Custom Properties\n\nOverride these on the `:host` element to theme the component. All defaults reference LMVZ semantic or global design tokens.\n\n| Custom Property | Default | Purpose |\n|----------------|---------|---------|\n| `--checkbox-box-size` | `var(--lmvz-global-dimension-s18)` | Width and height of the checkbox box |\n| `--checkbox-border-radius` | `var(--lmvz-global-dimension-s4)` | Border radius of the checkbox box |\n| `--checkbox-border-color` | `var(--lmvz-semantic-color-border-default)` | Default (unchecked) border color |\n| `--checkbox-border-color-hover` | `var(--lmvz-semantic-color-border-hover)` | Border color on hover |\n| `--checkbox-border-color-checked` | `var(--lmvz-semantic-color-border-active)` | Border color when checked |\n| `--checkbox-border-color-error` | `var(--lmvz-semantic-color-status-on-danger)` | Border color in error state |\n| `--checkbox-focus-color` | `var(--lmvz-semantic-color-status-on-active)` | Focus ring color |\n| `--checkbox-checkmark-color` | `var(--lmvz-semantic-color-border-active)` | Checkmark SVG stroke color |\n| `--checkbox-label-color` | `var(--lmvz-semantic-color-on-surface-primary)` | Label text color (default and hover) |\n| `--checkbox-label-color-checked` | `var(--lmvz-semantic-color-status-on-active)` | Label text color when checked |\n| `--checkbox-wrapper-bg-hover` | `var(--lmvz-semantic-color-int-tertiary-hover)` | Pill background on hover |\n| `--checkbox-wrapper-bg-checked` | `var(--lmvz-semantic-color-status-active)` | Pill background when checked |\n| `--checkbox-ripple-bg` | `var(--lmvz-semantic-color-int-secondary-hover)` | Ripple dot color |\n| `--checkbox-helper-color` | `var(--lmvz-semantic-color-on-surface-secondary)` | Helper text color |\n| `--checkbox-error-color` | `var(--lmvz-semantic-color-status-on-danger)` | Error message text color |\n| `--checkbox-disabled-opacity` | `var(--lmvz-component-input-disabled-opacity)` | Opacity when disabled — see caveat below |\n\n## Known Caveats\n\n### Checkbox box size uses a generic dimension token (5.1)\n\n`--checkbox-box-size` defaults to `--lmvz-global-dimension-s18` (18 px). This is a global dimension token; a component-specific token (`component.checkbox.box-size`) is the recommended long-term solution. The effective rendered size is 18 px until that token exists.\n\n### Border-radius uses a generic dimension token (5.2)\n\n`--checkbox-border-radius` defaults to `--lmvz-global-dimension-s4` (4 px). This is a generic dimension token. If `component.checkbox.border-radius` is introduced, this property should be migrated to it.\n\n### Checked label contrast borderline (5.3)\n\nWhen checked, the label text color (`--lmvz-semantic-color-status-on-active`, `#0e7ab4`) against the checked wrapper background (`--lmvz-semantic-color-status-active`, `#f1f9fe`) produces approximately 4.4:1 contrast. This is marginally below the WCAG AA minimum of 4.5:1 for normal text. This was accepted as a design trade-off. Verify contrast against the actual rendered background before each accessibility audit.\n\n### Helper text font-weight inconsistency with `lmvz-input` (5.6)\n\nHelper text renders at `font-weight: 400` per the `body-sm` design token. `lmvz-input` uses `font-weight: 500` for its helper text — a pre-existing inconsistency in the design system. `lmvz-checkbox` intentionally follows the token-specified value. This should be resolved at the design system token level.\n\n### Disabled opacity token export bug (5.7)\n\n`--lmvz-component-input-disabled-opacity` resolves from `global.opacity.opacity-disabled`, which has a known Supernova export bug: the token value is stored as `\"40px\"` (dimension type) instead of `0.4` (unitless number). If disabled checkboxes render at full opacity or at an incorrect size, apply the following workaround at the consuming app level:\n\n```css\nlmvz-checkbox[disabled] {\n --checkbox-disabled-opacity: 0.4;\n}\n```\n\nThis token bug should be tracked and fixed in `packages/design-tokens`.\n",
514
+ "docs": "Checkbox component with form association, ARIA validation, and accessible label support.",
515
+ "docsTags": [
516
+ {
517
+ "name": "example",
518
+ "text": "```html\n<lmvz-checkbox label=\"Accept terms\" name=\"terms\" required></lmvz-checkbox>\n```"
519
+ }
520
+ ],
516
521
  "usage": {},
517
522
  "props": [
518
523
  {
519
- "name": "text",
524
+ "name": "autofocus",
525
+ "type": "boolean",
526
+ "complexType": {
527
+ "original": "boolean",
528
+ "resolved": "boolean",
529
+ "references": {}
530
+ },
531
+ "mutable": false,
532
+ "attr": "autofocus",
533
+ "reflectToAttr": false,
534
+ "docs": "Whether the checkbox should autofocus.",
535
+ "docsTags": [
536
+ {
537
+ "name": "default",
538
+ "text": "false"
539
+ }
540
+ ],
541
+ "default": "false",
542
+ "values": [
543
+ {
544
+ "type": "boolean"
545
+ }
546
+ ],
547
+ "optional": false,
548
+ "required": false,
549
+ "getter": false,
550
+ "setter": false
551
+ },
552
+ {
553
+ "name": "checked",
554
+ "type": "boolean",
555
+ "complexType": {
556
+ "original": "boolean",
557
+ "resolved": "boolean",
558
+ "references": {}
559
+ },
560
+ "mutable": true,
561
+ "attr": "checked",
562
+ "reflectToAttr": true,
563
+ "docs": "Whether the checkbox is checked.",
564
+ "docsTags": [
565
+ {
566
+ "name": "default",
567
+ "text": "false"
568
+ }
569
+ ],
570
+ "default": "false",
571
+ "values": [
572
+ {
573
+ "type": "boolean"
574
+ }
575
+ ],
576
+ "optional": false,
577
+ "required": false,
578
+ "getter": false,
579
+ "setter": false
580
+ },
581
+ {
582
+ "name": "disabled",
583
+ "type": "boolean",
584
+ "complexType": {
585
+ "original": "boolean",
586
+ "resolved": "boolean",
587
+ "references": {}
588
+ },
589
+ "mutable": false,
590
+ "attr": "disabled",
591
+ "reflectToAttr": true,
592
+ "docs": "Whether the checkbox is disabled.",
593
+ "docsTags": [
594
+ {
595
+ "name": "default",
596
+ "text": "false"
597
+ }
598
+ ],
599
+ "default": "false",
600
+ "values": [
601
+ {
602
+ "type": "boolean"
603
+ }
604
+ ],
605
+ "optional": false,
606
+ "required": false,
607
+ "getter": false,
608
+ "setter": false
609
+ },
610
+ {
611
+ "name": "error",
612
+ "type": "boolean",
613
+ "complexType": {
614
+ "original": "boolean",
615
+ "resolved": "boolean",
616
+ "references": {}
617
+ },
618
+ "mutable": false,
619
+ "attr": "error",
620
+ "reflectToAttr": true,
621
+ "docs": "Whether the checkbox is in an error state.",
622
+ "docsTags": [
623
+ {
624
+ "name": "default",
625
+ "text": "false"
626
+ }
627
+ ],
628
+ "default": "false",
629
+ "values": [
630
+ {
631
+ "type": "boolean"
632
+ }
633
+ ],
634
+ "optional": false,
635
+ "required": false,
636
+ "getter": false,
637
+ "setter": false
638
+ },
639
+ {
640
+ "name": "errorMessage",
641
+ "type": "string | undefined",
642
+ "complexType": {
643
+ "original": "string",
644
+ "resolved": "string | undefined",
645
+ "references": {}
646
+ },
647
+ "mutable": false,
648
+ "attr": "error-message",
649
+ "reflectToAttr": false,
650
+ "docs": "Error message displayed when error is true. Required when error=true.",
651
+ "docsTags": [],
652
+ "values": [
653
+ {
654
+ "type": "string"
655
+ },
656
+ {
657
+ "type": "undefined"
658
+ }
659
+ ],
660
+ "optional": true,
661
+ "required": false,
662
+ "getter": false,
663
+ "setter": false
664
+ },
665
+ {
666
+ "name": "form",
667
+ "type": "string | undefined",
668
+ "complexType": {
669
+ "original": "string",
670
+ "resolved": "string | undefined",
671
+ "references": {}
672
+ },
673
+ "mutable": false,
674
+ "attr": "form",
675
+ "reflectToAttr": false,
676
+ "docs": "Form id to associate with (for out-of-form usage).",
677
+ "docsTags": [],
678
+ "values": [
679
+ {
680
+ "type": "string"
681
+ },
682
+ {
683
+ "type": "undefined"
684
+ }
685
+ ],
686
+ "optional": true,
687
+ "required": false,
688
+ "getter": false,
689
+ "setter": false
690
+ },
691
+ {
692
+ "name": "helperText",
693
+ "type": "string | undefined",
694
+ "complexType": {
695
+ "original": "string",
696
+ "resolved": "string | undefined",
697
+ "references": {}
698
+ },
699
+ "mutable": false,
700
+ "attr": "helper-text",
701
+ "reflectToAttr": false,
702
+ "docs": "Helper / description text displayed below the label.",
703
+ "docsTags": [],
704
+ "values": [
705
+ {
706
+ "type": "string"
707
+ },
708
+ {
709
+ "type": "undefined"
710
+ }
711
+ ],
712
+ "optional": true,
713
+ "required": false,
714
+ "getter": false,
715
+ "setter": false
716
+ },
717
+ {
718
+ "name": "label",
520
719
  "type": "string",
521
720
  "complexType": {
522
721
  "original": "string",
@@ -524,9 +723,9 @@
524
723
  "references": {}
525
724
  },
526
725
  "mutable": false,
527
- "attr": "text",
726
+ "attr": "label",
528
727
  "reflectToAttr": false,
529
- "docs": "",
728
+ "docs": "Label text for the checkbox. Required for accessibility.",
530
729
  "docsTags": [],
531
730
  "values": [
532
731
  {
@@ -537,13 +736,320 @@
537
736
  "required": true,
538
737
  "getter": false,
539
738
  "setter": false
739
+ },
740
+ {
741
+ "name": "name",
742
+ "type": "string | undefined",
743
+ "complexType": {
744
+ "original": "string",
745
+ "resolved": "string | undefined",
746
+ "references": {}
747
+ },
748
+ "mutable": false,
749
+ "attr": "name",
750
+ "reflectToAttr": false,
751
+ "docs": "Name attribute for form submission via ElementInternals.",
752
+ "docsTags": [],
753
+ "values": [
754
+ {
755
+ "type": "string"
756
+ },
757
+ {
758
+ "type": "undefined"
759
+ }
760
+ ],
761
+ "optional": true,
762
+ "required": false,
763
+ "getter": false,
764
+ "setter": false
765
+ },
766
+ {
767
+ "name": "required",
768
+ "type": "boolean",
769
+ "complexType": {
770
+ "original": "boolean",
771
+ "resolved": "boolean",
772
+ "references": {}
773
+ },
774
+ "mutable": false,
775
+ "attr": "required",
776
+ "reflectToAttr": true,
777
+ "docs": "Whether the checkbox is required.",
778
+ "docsTags": [
779
+ {
780
+ "name": "default",
781
+ "text": "false"
782
+ }
783
+ ],
784
+ "default": "false",
785
+ "values": [
786
+ {
787
+ "type": "boolean"
788
+ }
789
+ ],
790
+ "optional": false,
791
+ "required": false,
792
+ "getter": false,
793
+ "setter": false
794
+ },
795
+ {
796
+ "name": "value",
797
+ "type": "string",
798
+ "complexType": {
799
+ "original": "string",
800
+ "resolved": "string",
801
+ "references": {}
802
+ },
803
+ "mutable": false,
804
+ "attr": "value",
805
+ "reflectToAttr": false,
806
+ "docs": "Form submission value when checked.",
807
+ "docsTags": [
808
+ {
809
+ "name": "default",
810
+ "text": "'on'"
811
+ }
812
+ ],
813
+ "default": "'on'",
814
+ "values": [
815
+ {
816
+ "type": "string"
817
+ }
818
+ ],
819
+ "optional": false,
820
+ "required": false,
821
+ "getter": false,
822
+ "setter": false
823
+ }
824
+ ],
825
+ "methods": [
826
+ {
827
+ "name": "checkValidity",
828
+ "returns": {
829
+ "type": "Promise<boolean>",
830
+ "docs": ""
831
+ },
832
+ "complexType": {
833
+ "signature": "() => Promise<boolean>",
834
+ "parameters": [],
835
+ "references": {
836
+ "Promise": {
837
+ "location": "global",
838
+ "id": "global::Promise"
839
+ }
840
+ },
841
+ "return": "Promise<boolean>"
842
+ },
843
+ "signature": "checkValidity() => Promise<boolean>",
844
+ "parameters": [],
845
+ "docs": "Returns whether the checkbox satisfies its validation constraints.",
846
+ "docsTags": []
847
+ },
848
+ {
849
+ "name": "focusInput",
850
+ "returns": {
851
+ "type": "Promise<void>",
852
+ "docs": ""
853
+ },
854
+ "complexType": {
855
+ "signature": "() => Promise<void>",
856
+ "parameters": [],
857
+ "references": {
858
+ "Promise": {
859
+ "location": "global",
860
+ "id": "global::Promise"
861
+ }
862
+ },
863
+ "return": "Promise<void>"
864
+ },
865
+ "signature": "focusInput() => Promise<void>",
866
+ "parameters": [],
867
+ "docs": "Sets focus on the native checkbox input.",
868
+ "docsTags": []
869
+ },
870
+ {
871
+ "name": "reportValidity",
872
+ "returns": {
873
+ "type": "Promise<boolean>",
874
+ "docs": ""
875
+ },
876
+ "complexType": {
877
+ "signature": "() => Promise<boolean>",
878
+ "parameters": [],
879
+ "references": {
880
+ "Promise": {
881
+ "location": "global",
882
+ "id": "global::Promise"
883
+ }
884
+ },
885
+ "return": "Promise<boolean>"
886
+ },
887
+ "signature": "reportValidity() => Promise<boolean>",
888
+ "parameters": [],
889
+ "docs": "Reports validation errors to the user.",
890
+ "docsTags": []
891
+ }
892
+ ],
893
+ "events": [
894
+ {
895
+ "event": "lmvzChange",
896
+ "detail": "boolean",
897
+ "bubbles": true,
898
+ "complexType": {
899
+ "original": "boolean",
900
+ "resolved": "boolean",
901
+ "references": {}
902
+ },
903
+ "cancelable": true,
904
+ "composed": true,
905
+ "docs": "Emitted whenever the checkbox checked state changes.\nEvent detail contains the new checked boolean value.",
906
+ "docsTags": []
907
+ }
908
+ ],
909
+ "listeners": [],
910
+ "styles": [],
911
+ "slots": [],
912
+ "parts": [],
913
+ "states": [],
914
+ "dependents": [],
915
+ "dependencies": [],
916
+ "dependencyGraph": {}
917
+ },
918
+ {
919
+ "filePath": "src/components/lmvz-chip/lmvz-chip.tsx",
920
+ "encapsulation": "shadow",
921
+ "tag": "lmvz-chip",
922
+ "readme": "# lmvz-chip\n\n\n",
923
+ "docs": "The chip displays a compact semantic status as a non-interactive UI element.",
924
+ "docsTags": [
925
+ {
926
+ "name": "slot",
927
+ "text": "default - Arbitrary inline content used as the chip label. Icons passed here may not be aligned or spaced with the text content properly."
928
+ },
929
+ {
930
+ "name": "slot",
931
+ "text": "before-text - Optional slot for content to be placed before the text content. Common use case is an icon."
932
+ },
933
+ {
934
+ "name": "slot",
935
+ "text": "after-text - 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."
936
+ }
937
+ ],
938
+ "usage": {},
939
+ "props": [
940
+ {
941
+ "name": "size",
942
+ "type": "\"default\" | \"small\"",
943
+ "complexType": {
944
+ "original": "Chip.Size",
945
+ "resolved": "\"default\" | \"small\"",
946
+ "references": {
947
+ "Chip": {
948
+ "location": "import",
949
+ "path": "../../api/ds.constants.js",
950
+ "id": "src/api/ds.constants.ts::Chip",
951
+ "referenceLocation": "Chip"
952
+ }
953
+ }
954
+ },
955
+ "mutable": true,
956
+ "attr": "size",
957
+ "reflectToAttr": true,
958
+ "docs": "Size variant of the chip.\nInvalid values are normalized to `default` at runtime.",
959
+ "docsTags": [
960
+ {
961
+ "name": "default",
962
+ "text": "'default'"
963
+ }
964
+ ],
965
+ "default": "'default'",
966
+ "values": [
967
+ {
968
+ "value": "default",
969
+ "type": "string"
970
+ },
971
+ {
972
+ "value": "small",
973
+ "type": "string"
974
+ }
975
+ ],
976
+ "optional": false,
977
+ "required": false,
978
+ "getter": false,
979
+ "setter": false
980
+ },
981
+ {
982
+ "name": "type",
983
+ "type": "\"active\" | \"error\" | \"neutral\" | \"success\" | \"warning\"",
984
+ "complexType": {
985
+ "original": "Chip.Type",
986
+ "resolved": "\"active\" | \"error\" | \"neutral\" | \"success\" | \"warning\"",
987
+ "references": {
988
+ "Chip": {
989
+ "location": "import",
990
+ "path": "../../api/ds.constants.js",
991
+ "id": "src/api/ds.constants.ts::Chip",
992
+ "referenceLocation": "Chip"
993
+ }
994
+ }
995
+ },
996
+ "mutable": true,
997
+ "attr": "type",
998
+ "reflectToAttr": true,
999
+ "docs": "Semantic variant of the chip.\nInvalid values are normalized to `active` at runtime.",
1000
+ "docsTags": [
1001
+ {
1002
+ "name": "default",
1003
+ "text": "'active'"
1004
+ }
1005
+ ],
1006
+ "default": "'active'",
1007
+ "values": [
1008
+ {
1009
+ "value": "active",
1010
+ "type": "string"
1011
+ },
1012
+ {
1013
+ "value": "error",
1014
+ "type": "string"
1015
+ },
1016
+ {
1017
+ "value": "neutral",
1018
+ "type": "string"
1019
+ },
1020
+ {
1021
+ "value": "success",
1022
+ "type": "string"
1023
+ },
1024
+ {
1025
+ "value": "warning",
1026
+ "type": "string"
1027
+ }
1028
+ ],
1029
+ "optional": false,
1030
+ "required": false,
1031
+ "getter": false,
1032
+ "setter": false
540
1033
  }
541
1034
  ],
542
1035
  "methods": [],
543
1036
  "events": [],
544
1037
  "listeners": [],
545
1038
  "styles": [],
546
- "slots": [],
1039
+ "slots": [
1040
+ {
1041
+ "name": "after-text",
1042
+ "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."
1043
+ },
1044
+ {
1045
+ "name": "before-text",
1046
+ "docs": "Optional slot for content to be placed before the text content. Common use case is an icon."
1047
+ },
1048
+ {
1049
+ "name": "default",
1050
+ "docs": "Arbitrary inline content used as the chip label. Icons passed here may not be aligned or spaced with the text content properly."
1051
+ }
1052
+ ],
547
1053
  "parts": [],
548
1054
  "states": [],
549
1055
  "dependents": [],
@@ -587,7 +1093,7 @@
587
1093
  "mutable": false,
588
1094
  "attr": "lmvz-active-nav",
589
1095
  "reflectToAttr": false,
590
- "docs": "",
1096
+ "docs": "Id of the currently active primary navigation item.\nAlso determines which `connect-nav-*` secondary slot is shown.",
591
1097
  "docsTags": [],
592
1098
  "values": [
593
1099
  {
@@ -684,7 +1190,7 @@
684
1190
  "mutable": false,
685
1191
  "attr": "aria-label",
686
1192
  "reflectToAttr": true,
687
- "docs": "",
1193
+ "docs": "Accessible name for assistive technology.\nLeave unset for decorative icons so the icon stays hidden from the accessibility tree.",
688
1194
  "docsTags": [],
689
1195
  "values": [
690
1196
  {
@@ -717,7 +1223,7 @@
717
1223
  "mutable": false,
718
1224
  "attr": "icon",
719
1225
  "reflectToAttr": true,
720
- "docs": "Required\n\nEither a valid name from a registered iconset, or the icon's SVG content (inline).\n\nWill be checked against the (default) iconset.",
1226
+ "docs": "Required\n\nEither a valid name from a registered iconset, or the icon's SVG content (inline).\n\nWill be checked against the chosen {@link iconset}.",
721
1227
  "docsTags": [],
722
1228
  "values": [
723
1229
  {
@@ -743,7 +1249,7 @@
743
1249
  "mutable": false,
744
1250
  "attr": "iconset",
745
1251
  "reflectToAttr": true,
746
- "docs": "Optional custom icon iconset id. Must reference a registered custom iconset by its exported name.",
1252
+ "docs": "Optional custom icon iconset id. Must reference a registered custom iconset by its exported name.\n\nWill try to resolve from the default iconset if not provided.",
747
1253
  "docsTags": [],
748
1254
  "values": [
749
1255
  {
@@ -875,6 +1381,11 @@
875
1381
  "name": "--lmvz-icon-color",
876
1382
  "annotation": "prop",
877
1383
  "docs": "The icon's color. This is inferred from the context (e.g. button) but can be overridden if needed, or when the icon is used standalone."
1384
+ },
1385
+ {
1386
+ "name": "--lmvz-icon-size",
1387
+ "annotation": "prop",
1388
+ "docs": "The icon's size. This is inferred from the context (e.g. button) but can be overridden if needed, or when the icon is used standalone."
878
1389
  }
879
1390
  ],
880
1391
  "slots": [],
@@ -4881,7 +5392,7 @@
4881
5392
  "docs": ""
4882
5393
  }
4883
5394
  ],
4884
- "docs": "",
5395
+ "docs": "Updates the value programmatically and emits `lmvzInput` with the new value.",
4885
5396
  "docsTags": []
4886
5397
  }
4887
5398
  ],
@@ -4897,7 +5408,7 @@
4897
5408
  },
4898
5409
  "cancelable": true,
4899
5410
  "composed": true,
4900
- "docs": "",
5411
+ "docs": "Emitted whenever the input value changes.\nEvent detail contains the current value.",
4901
5412
  "docsTags": []
4902
5413
  }
4903
5414
  ],
@@ -4939,15 +5450,15 @@
4939
5450
  "mutable": false,
4940
5451
  "attr": "role",
4941
5452
  "reflectToAttr": true,
4942
- "docs": "",
5453
+ "docs": "Accessibility role exposed by the host element.",
4943
5454
  "docsTags": [
4944
- {
4945
- "name": "readonly",
4946
- "text": ""
4947
- },
4948
5455
  {
4949
5456
  "name": "default",
4950
5457
  "text": "'menuitem'"
5458
+ },
5459
+ {
5460
+ "name": "readonly",
5461
+ "text": ""
4951
5462
  }
4952
5463
  ],
4953
5464
  "default": "'menuitem'",
@@ -4972,15 +5483,15 @@
4972
5483
  "mutable": false,
4973
5484
  "attr": "tabindex",
4974
5485
  "reflectToAttr": true,
4975
- "docs": "",
5486
+ "docs": "Keeps the host focusable for keyboard navigation inside `lmvz-header`.",
4976
5487
  "docsTags": [
4977
- {
4978
- "name": "readonly",
4979
- "text": ""
4980
- },
4981
5488
  {
4982
5489
  "name": "default",
4983
5490
  "text": "0"
5491
+ },
5492
+ {
5493
+ "name": "readonly",
5494
+ "text": ""
4984
5495
  }
4985
5496
  ],
4986
5497
  "default": "0",
@@ -5246,6 +5757,11 @@
5246
5757
  "docstring": "",
5247
5758
  "path": "src/api/index.d.ts"
5248
5759
  },
5760
+ "src/api/ds.constants.ts::Chip": {
5761
+ "declaration": "any",
5762
+ "docstring": "",
5763
+ "path": "src/api/ds.constants.ts"
5764
+ },
5249
5765
  "../../lib/ts/dist/validation/SVGString.d.ts::SVGString": {
5250
5766
  "declaration": "export type SVGString = string & Brand.Brand<'SVG'>;",
5251
5767
  "docstring": "",