@lmvz-ds/components 0.35.0 → 0.35.1

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 (192) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +10 -0
  3. package/cjs/{async.util-BQ60l-WC.js → async.util-Dnl6c82X.js} +1 -0
  4. package/cjs/{list-keyboard-controller-Dm5S_l0D.js → directional-focus-controller-DBat-oF7.js} +13 -1
  5. package/cjs/element-activation-controller-BHqCUgQv.js +57 -0
  6. package/cjs/{element.util-Dbyc8yUG.js → element.util-CRS_YJ59.js} +10 -2
  7. package/cjs/lmvz-action-list.cjs.entry.js +8 -5
  8. package/cjs/lmvz-action.cjs.entry.js +1 -1
  9. package/cjs/lmvz-button-group.cjs.entry.js +1 -1
  10. package/cjs/lmvz-button_2.cjs.entry.js +4 -5
  11. package/cjs/lmvz-checkbox.cjs.entry.js +1 -1
  12. package/cjs/lmvz-chip.cjs.entry.js +1 -1
  13. package/cjs/lmvz-components.cjs.js +1 -1
  14. package/cjs/lmvz-header_2.cjs.entry.js +9 -6
  15. package/cjs/lmvz-input.cjs.entry.js +3 -3
  16. package/cjs/lmvz-menuitem.cjs.entry.js +3 -2
  17. package/cjs/lmvz-message.cjs.entry.js +42 -9
  18. package/cjs/lmvz-modal.cjs.entry.js +3 -3
  19. package/cjs/lmvz-popover.cjs.entry.js +48 -28
  20. package/cjs/lmvz-radio.cjs.entry.js +1 -1
  21. package/cjs/lmvz-select.cjs.entry.js +1 -1
  22. package/cjs/lmvz-tabs.cjs.entry.js +9 -6
  23. package/cjs/lmvz-toggle.cjs.entry.js +3 -3
  24. package/cjs/loader.cjs.js +1 -1
  25. package/{esm/reactive-controller-host-FBuCCcFC.js → cjs/reactive-controller-host-Bc6B_T45.js} +19 -1
  26. package/cjs/{stencil.util-DxdYjVoH.js → stencil.util-CBrPLd-F.js} +1 -1
  27. package/collection/components/lmvz-action/lmvz-action.js +1 -1
  28. package/collection/components/lmvz-action-list/lmvz-action-list.js +26 -2
  29. package/collection/components/lmvz-button/lmvz-button.js +1 -2
  30. package/collection/components/lmvz-header/lmvz-header.js +26 -2
  31. package/collection/components/lmvz-message/lmvz-message.js +42 -9
  32. package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
  33. package/collection/components/lmvz-modal/test/testing.js +36 -0
  34. package/collection/components/lmvz-popover/lmvz-popover.js +55 -28
  35. package/collection/components/lmvz-tabs/lmvz-tabs.js +22 -2
  36. package/collection/utils/aria/{list-keyboard-controller.js → directional-focus-controller.js} +11 -0
  37. package/collection/utils/aria/element-activation-controller.js +27 -11
  38. package/collection/utils/data/{event.utilt.js → event.util.js} +8 -0
  39. package/collection/utils/element/element.util.js +9 -2
  40. package/collection/utils/stencil/reactive-controller-host.js +14 -0
  41. package/components/index.js +1 -1
  42. package/components/lmvz-action-list.js +1 -1
  43. package/components/lmvz-action.js +1 -1
  44. package/components/lmvz-button-group.js +1 -1
  45. package/components/lmvz-button.js +1 -1
  46. package/components/lmvz-checkbox.js +1 -1
  47. package/components/lmvz-chip.js +1 -1
  48. package/components/lmvz-header.js +1 -1
  49. package/components/lmvz-icon.js +1 -1
  50. package/components/lmvz-input.js +1 -1
  51. package/components/lmvz-link.js +1 -1
  52. package/components/lmvz-menuitem.js +1 -1
  53. package/components/lmvz-message.js +1 -1
  54. package/components/lmvz-modal.js +1 -1
  55. package/components/lmvz-popover.js +1 -1
  56. package/components/lmvz-radio.js +1 -1
  57. package/components/lmvz-select.js +1 -1
  58. package/components/lmvz-snackbar.js +1 -1
  59. package/components/lmvz-tabs.js +1 -1
  60. package/components/lmvz-toggle.js +1 -1
  61. package/components/p-BVzxNP7h.js +1 -0
  62. package/components/p-CgK6-SEe.js +1 -0
  63. package/components/{p-DbIm98qX.js → p-Chj7BuUZ.js} +1 -1
  64. package/components/p-CxLd309t.js +1 -0
  65. package/components/{p-D7S1WiEC.js → p-D5FL8n1q.js} +1 -1
  66. package/components/p-DLUsBYJH.js +1 -0
  67. package/components/p-DZj20TV1.js +1 -0
  68. package/components/p-bh9cItsP.js +1 -0
  69. package/components/p-zMWemcoB.js +1 -0
  70. package/esm/{async.util-D9nUtvTm.js → async.util-DZj20TV1.js} +1 -1
  71. package/esm/{list-keyboard-controller-tle6IRkv.js → directional-focus-controller-DgAdCZrG.js} +13 -2
  72. package/esm/element-activation-controller-7PNSl6io.js +54 -0
  73. package/esm/{element.util-B0eCxdyI.js → element.util-BFcYfHYq.js} +10 -3
  74. package/esm/lmvz-action-list.entry.js +7 -4
  75. package/esm/lmvz-action.entry.js +1 -1
  76. package/esm/lmvz-button-group.entry.js +1 -1
  77. package/esm/lmvz-button_2.entry.js +4 -5
  78. package/esm/lmvz-checkbox.entry.js +1 -1
  79. package/esm/lmvz-chip.entry.js +1 -1
  80. package/esm/lmvz-components.js +1 -1
  81. package/esm/lmvz-header_2.entry.js +8 -5
  82. package/esm/lmvz-input.entry.js +3 -3
  83. package/esm/lmvz-menuitem.entry.js +3 -2
  84. package/esm/lmvz-message.entry.js +42 -9
  85. package/esm/lmvz-modal.entry.js +3 -3
  86. package/esm/lmvz-popover.entry.js +48 -28
  87. package/esm/lmvz-radio.entry.js +1 -1
  88. package/esm/lmvz-select.entry.js +1 -1
  89. package/esm/lmvz-tabs.entry.js +7 -4
  90. package/esm/lmvz-toggle.entry.js +3 -3
  91. package/esm/loader.js +1 -1
  92. package/{cjs/reactive-controller-host-B_lZtcA6.js → esm/reactive-controller-host-CICeIanv.js} +15 -3
  93. package/esm/{stencil.util-wGFRYLwZ.js → stencil.util-D2-5rsN3.js} +1 -1
  94. package/hydrate/index.js +212 -97
  95. package/hydrate/index.mjs +212 -97
  96. package/lmvz-components/lmvz-components.esm.js +1 -1
  97. package/lmvz-components/{p-c87e2281.entry.js → p-194a3af5.entry.js} +1 -1
  98. package/lmvz-components/{p-e0432f54.entry.js → p-24d13be6.entry.js} +1 -1
  99. package/lmvz-components/p-4416d688.entry.js +1 -0
  100. package/lmvz-components/{p-c082390b.entry.js → p-46edf36f.entry.js} +1 -1
  101. package/lmvz-components/{p-4c68d21a.entry.js → p-489d9912.entry.js} +1 -1
  102. package/lmvz-components/p-5ff55ba9.entry.js +1 -0
  103. package/lmvz-components/{p-c494bf8f.entry.js → p-888e04d7.entry.js} +1 -1
  104. package/lmvz-components/p-9dc420e2.entry.js +1 -0
  105. package/lmvz-components/p-BFcYfHYq.js +1 -0
  106. package/lmvz-components/p-BuEA0MWd.js +1 -0
  107. package/lmvz-components/p-CICeIanv.js +1 -0
  108. package/lmvz-components/p-DZj20TV1.js +1 -0
  109. package/lmvz-components/p-a887018d.entry.js +1 -0
  110. package/lmvz-components/p-aaa7691c.entry.js +1 -0
  111. package/lmvz-components/p-af48eccb.entry.js +1 -0
  112. package/lmvz-components/p-bh9cItsP.js +1 -0
  113. package/lmvz-components/{p-1d2c11ea.entry.js → p-d4154a65.entry.js} +1 -1
  114. package/lmvz-components/p-e4ce63b3.entry.js +1 -0
  115. package/lmvz-components/{p-cb75c951.entry.js → p-eb4c5a6f.entry.js} +1 -1
  116. package/lmvz-components/{p-8fb4c347.entry.js → p-eb62d4af.entry.js} +1 -1
  117. package/lmvz-components/{p-a4ef8e55.entry.js → p-f42b16e6.entry.js} +1 -1
  118. package/lmvz-components/p-wlMjNjuv.js +1 -0
  119. package/manifest.json +79 -5
  120. package/package.json +1 -1
  121. package/types/api/ds.constants.d.ts +1 -0
  122. package/types/components/lmvz-action/lmvz-action.d.ts +1 -0
  123. package/types/components/lmvz-action-list/lmvz-action-list.d.ts +3 -1
  124. package/types/components/lmvz-button/lmvz-button.d.ts +2 -1
  125. package/types/components/lmvz-button-group/lmvz-button-group.d.ts +1 -0
  126. package/types/components/lmvz-card/lmvz-card.d.ts +1 -0
  127. package/types/components/lmvz-checkbox/lmvz-checkbox.d.ts +1 -0
  128. package/types/components/lmvz-chip/lmvz-chip.d.ts +1 -0
  129. package/types/components/lmvz-header/lmvz-header.d.ts +4 -2
  130. package/types/components/lmvz-icon/lmvz-icon.d.ts +1 -0
  131. package/types/components/lmvz-input/lmvz-input.d.ts +1 -0
  132. package/types/components/lmvz-link/lmvz-link.d.ts +1 -0
  133. package/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +1 -0
  134. package/types/components/lmvz-message/lmvz-message.d.ts +1 -0
  135. package/types/components/lmvz-message/public.d.ts +1 -0
  136. package/types/components/lmvz-modal/lmvz-modal.d.ts +1 -0
  137. package/types/components/lmvz-modal/test/testing.d.ts +10 -0
  138. package/types/components/lmvz-popover/lmvz-popover.d.ts +6 -3
  139. package/types/components/lmvz-radio/lmvz-radio.d.ts +1 -0
  140. package/types/components/lmvz-select/lmvz-select.d.ts +1 -0
  141. package/types/components/lmvz-snackbar/lmvz-snackbar.d.ts +1 -0
  142. package/types/components/lmvz-snackbar/public.d.ts +1 -0
  143. package/types/components/lmvz-snackbar/snackbar-controller.d.ts +1 -0
  144. package/types/components/lmvz-spinner/lmvz-spinner.d.ts +1 -0
  145. package/types/components/lmvz-tab/lmvz-tab.d.ts +1 -0
  146. package/types/components/lmvz-tabs/lmvz-tabs.d.ts +3 -1
  147. package/types/components/lmvz-toggle/lmvz-toggle.d.ts +1 -0
  148. package/types/components.d.ts +18 -0
  149. package/types/index.d.ts +1 -0
  150. package/types/utils/aria/aria-validation-controller.d.ts +1 -0
  151. package/types/utils/aria/aria.constants.d.ts +1 -0
  152. package/types/utils/aria/{list-keyboard-controller.d.ts → directional-focus-controller.d.ts} +13 -2
  153. package/types/utils/aria/element-activation-controller.d.ts +11 -2
  154. package/types/utils/async/async.util.d.ts +1 -0
  155. package/types/utils/data/event.util.d.ts +6 -0
  156. package/types/utils/data/number.util.d.ts +1 -0
  157. package/types/utils/data/object.util.d.ts +1 -0
  158. package/types/utils/data/time.util.d.ts +1 -0
  159. package/types/utils/element/element.util.d.ts +2 -0
  160. package/types/utils/environment.d.ts +1 -0
  161. package/types/utils/icons/icons-registry.d.ts +1 -0
  162. package/types/utils/icons/icons.d.ts +1 -0
  163. package/types/utils/icons/icons.unit.d.ts +1 -0
  164. package/types/utils/icons/public.d.ts +1 -0
  165. package/types/utils/public.d.ts +1 -0
  166. package/types/utils/radio/radio-group-controller.d.ts +1 -0
  167. package/types/utils/stencil/assets.d.ts +1 -0
  168. package/types/utils/stencil/reactive-controller-host.d.ts +8 -1
  169. package/types/utils/stencil/stencil.util.d.ts +1 -0
  170. package/cjs/element-activation-controller-DC_6T0Rt.js +0 -31
  171. package/components/p-BhSTYZC6.js +0 -1
  172. package/components/p-CK3Ixl1K.js +0 -1
  173. package/components/p-CN0JX9-m.js +0 -1
  174. package/components/p-D-2gj6LP.js +0 -1
  175. package/components/p-D9nUtvTm.js +0 -1
  176. package/components/p-DAMVH-31.js +0 -1
  177. package/components/p-JtkmlmeY.js +0 -1
  178. package/esm/element-activation-controller-CN0JX9-m.js +0 -29
  179. package/lmvz-components/p-45c3ccb6.entry.js +0 -1
  180. package/lmvz-components/p-49e98627.entry.js +0 -1
  181. package/lmvz-components/p-50063516.entry.js +0 -1
  182. package/lmvz-components/p-76be3fc9.entry.js +0 -1
  183. package/lmvz-components/p-854f1c72.entry.js +0 -1
  184. package/lmvz-components/p-886e42c7.entry.js +0 -1
  185. package/lmvz-components/p-9f8fd077.entry.js +0 -1
  186. package/lmvz-components/p-B0eCxdyI.js +0 -1
  187. package/lmvz-components/p-BhSTYZC6.js +0 -1
  188. package/lmvz-components/p-CN0JX9-m.js +0 -1
  189. package/lmvz-components/p-D9nUtvTm.js +0 -1
  190. package/lmvz-components/p-DuLiExhX.js +0 -1
  191. package/lmvz-components/p-FBuCCcFC.js +0 -1
  192. package/types/utils/data/event.utilt.d.ts +0 -4
@@ -1 +1 @@
1
- import{g as e,r as o,c as r,h as c,H as a}from"./p-BPeerEwm.js";import{t}from"./p-DjvtQE7c.js";import{A as l}from"./p-D9PQIBzA.js";import{R as s}from"./p-FBuCCcFC.js";import"./p-D06Ds9Dh.js";import"./p-BDonpCG8.js";const i=t("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNzUgMTIuNTYyNUw4LjgzMDc5IDE3LjYyNUwyMC40Mzc1IDYuMzc1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K");let h=0;const n=class extends s{get el(){return e(this)}get validationEl(){return this.el}internals;nativeInput;checkboxId="lmvz-checkbox-"+h++;initialChecked=!1;get helperId(){return this.helperText?`${this.checkboxId}-helper`:void 0}get errorId(){return this.errorMessage?`${this.checkboxId}-error`:void 0}get ariaDescribedBy(){const e=[this.errorId,this.helperId].filter(Boolean);return e.length>0?e.join(" "):void 0}label;checked=!1;value="on";name;disabled=!1;required=!1;error=!1;errorMessage;helperText;form;autofocus=!1;checkedState=!1;handleCheckedChange(e){this.checkedState=e,this.internals.setFormValue?.(e?this.value??"on":null)}lmvzChange;async focusInput(){this.nativeInput?.focus()}async checkValidity(){return this.internals?.checkValidity()??!0}async reportValidity(){return this.internals?.reportValidity()??!0}constructor(e){super(),o(this,e),this.lmvzChange=r(this,"lmvzChange",7),e.$hostElement$["s-ei"]?this.internals=e.$hostElement$["s-ei"]:(this.internals=e.$hostElement$.attachInternals(),e.$hostElement$["s-ei"]=this.internals),this.addController(new l(this,{reValidateOnPropChanges:!0}))}componentWillLoad(){this.initialChecked=this.checked,this.checkedState=this.checked,this.internals.setFormValue?.(this.checked?this.value??"on":null),super.componentWillLoad()}componentWillRender(){this.error&&!this.errorMessage&&console.warn("lmvz-checkbox: error=true set without errorMessage — no visual-only error state is rendered. Provide errorMessage to communicate the error to users."),super.componentWillRender()}formAssociatedCallback(){this.internals.setFormValue?.(this.checked?this.value??"on":null)}formResetCallback(){this.checked=this.initialChecked}formStateRestoreCallback(e){this.checked=e===(this.value??"on")}handleChange=e=>{this.checked=e.target.checked,this.lmvzChange.emit(this.checked)};retargetInnerClicks(){this.nativeInput?.click()}render(){return c(a,{key:"b6b4153dbf80af15cb15799889ca23b621b4ef73"},c("div",{key:"f11d6baaa4b04ee74b201be8c4e125ccd5c366aa",class:"pill"},c("input",{key:"d61dccfa163ecf4fffa95a5d44be35adbb8ee8ff",type:"checkbox",id:this.checkboxId,checked:this.checkedState,disabled:this.disabled,required:this.required,"aria-required":this.required?"true":"false","aria-invalid":this.error?"true":"false","aria-describedby":this.ariaDescribedBy,"aria-errormessage":this.error&&this.errorId?this.errorId:void 0,ref:e=>this.nativeInput=e,onChange:this.handleChange,autoFocus:this.autofocus}),c("span",{key:"87d62f1e0572e174e6d15f30ff59e37f6a5333cb",class:"box","aria-hidden":"true"},this.checkedState&&c("span",{key:"74d29a32599f6c1ee8bde0cb6f27e384de7fcc2d",class:"indicator",innerHTML:i})),c("span",{key:"544990c81b3f7f90b53902d580d2eb2197edfa8b",class:"content"},c("label",{key:"1884744656a280f85bec91b27315d3a6b70e8238",htmlFor:this.checkboxId},this.label),this.helperText&&c("span",{key:"6783ff413a884c78dbd52e07cc7b433f5a9dcf29",onClick:this.retargetInnerClicks.bind(this),class:"helper-text",id:this.helperId,role:"status"},this.helperText))),this.errorMessage&&c("span",{key:"7c19fe406223a11e25df54cdfa304bc000eb421f",class:"error-text",id:this.errorId,role:"alert"},this.errorMessage))}static get formAssociated(){return!0}static get watchers(){return{checked:[{handleCheckedChange:0}]}}};n.style="@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } .sc-lmvz-checkbox-h { display: inline-block; --checkbox-box-size: var(--lmvz-global-s18, 18px); --checkbox-border-radius: var(--lmvz-global-s4, 4px); --checkbox-bg: var(--lmvz-semantic-color-surface-input-primary, #ffffff); --checkbox-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); --checkbox-border-color-hover: var(--lmvz-semantic-color-border-hover, #a1a1a1); --checkbox-border-color-checked: var(--lmvz-semantic-color-border-active, #0f8acc); --checkbox-border-color-error: var(--lmvz-semantic-color-status-on-danger, #a31419); --checkbox-wrapper-bg-hover: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); --checkbox-wrapper-bg-checked: var(--lmvz-semantic-color-status-active, #f6fbfe); --checkbox-ripple-bg: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --checkbox-checkmark-color: var(--lmvz-semantic-color-border-active, #0f8acc); --checkbox-label-color: var(--lmvz-semantic-color-on-surface-primary, #000000); --checkbox-label-color-checked: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --checkbox-helper-color: var(--lmvz-semantic-color-on-surface-secondary, #545454); --checkbox-error-color: var(--lmvz-semantic-color-status-on-danger, #a31419); --checkbox-focus-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --checkbox-easing: var(--lmvz-global-easing-default, ease); --checkbox-duration: 0.2s; } .pill.sc-lmvz-checkbox { display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); padding-block: var(--lmvz-dimension-8-2, clamp(0.13rem, 0.03rem + 0.39vw, 0.5rem)); padding-inline: var(--lmvz-dimension-10-4, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); border-radius: var(--lmvz-semantic-border-radius-round, 999px); text-decoration: none; background-color: transparent; transition: background-color var(--checkbox-duration) var(--checkbox-easing); } input.sc-lmvz-checkbox { position: absolute; opacity: 0; width: var(--checkbox-box-size); height: var(--checkbox-box-size); margin: 0; cursor: pointer; z-index: 1; } .box.sc-lmvz-checkbox { display: flex; align-items: center; justify-content: center; width: var(--checkbox-box-size); height: var(--checkbox-box-size); background-color: var(--checkbox-bg); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--checkbox-border-color); border-radius: var(--checkbox-border-radius); color: var(--checkbox-checkmark-color); cursor: pointer; transition: border-color var(--checkbox-duration) var(--checkbox-easing), background-color var(--checkbox-duration) var(--checkbox-easing); pointer-events: none; flex-shrink: 0; } .indicator.sc-lmvz-checkbox { display: flex; align-items: center; justify-content: center; line-height: 0; } .content.sc-lmvz-checkbox { display: flex; flex-direction: column; overflow-wrap: break-word; min-width: 0; cursor: pointer; } label.sc-lmvz-checkbox { font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router); color: var(--checkbox-label-color); transition: color var(--checkbox-duration) var(--checkbox-easing); cursor: pointer; } .helper-text.sc-lmvz-checkbox { font: var(--lmvz-typography-body-sm, 400 clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem) / 1.5 Router); color: var(--checkbox-helper-color); margin-block-start: 2px; } .error-text.sc-lmvz-checkbox { font: var(--lmvz-typography-body-sm, 400 clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem) / 1.5 Router); color: var(--checkbox-error-color); display: block; margin-block-start: 4px; padding-inline: 10px; } @media (hover: hover) { .pill.sc-lmvz-checkbox:hover { background-color: var(--checkbox-wrapper-bg-hover); } .pill.sc-lmvz-checkbox:hover .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-hover); } } [checked].sc-lmvz-checkbox-h .pill.sc-lmvz-checkbox { background-color: var(--checkbox-wrapper-bg-checked); } [checked].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-checked); } [checked].sc-lmvz-checkbox-h label.sc-lmvz-checkbox { color: var(--checkbox-label-color-checked); } [error].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-error); } [error].sc-lmvz-checkbox-h .helper-text.sc-lmvz-checkbox { color: var(--checkbox-error-color); } [disabled].sc-lmvz-checkbox-h { opacity: var(--lmvz-component-input-disabled-opacity, 40%); pointer-events: none; input, label, .box, .content { cursor: not-allowed; } } .sc-lmvz-checkbox-h:focus-within .pill.sc-lmvz-checkbox { outline: var(--lmvz-ds-outline, 1px solid #0e7ab4); outline-offset: var(--lmvz-ds-outline-offset, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)); } @media (forced-colors: active) { .box.sc-lmvz-checkbox { forced-color-adjust: auto; border-color: ButtonText; background-color: Field; } [checked].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: Highlight; background-color: Field; } .indicator.sc-lmvz-checkbox { color: ButtonText; } [checked].sc-lmvz-checkbox-h .indicator.sc-lmvz-checkbox { color: HighlightText; } .sc-lmvz-checkbox-h:focus-within .pill.sc-lmvz-checkbox { outline-color: Highlight; box-shadow: none; } }";export{n as lmvz_checkbox}
1
+ import{g as e,r as o,c as r,h as c,H as a}from"./p-BPeerEwm.js";import{t}from"./p-DjvtQE7c.js";import{A as l}from"./p-D9PQIBzA.js";import{R as s}from"./p-CICeIanv.js";import"./p-D06Ds9Dh.js";import"./p-BDonpCG8.js";const i=t("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNzUgMTIuNTYyNUw4LjgzMDc5IDE3LjYyNUwyMC40Mzc1IDYuMzc1IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K");let h=0;const n=class extends s{get el(){return e(this)}get validationEl(){return this.el}internals;nativeInput;checkboxId="lmvz-checkbox-"+h++;initialChecked=!1;get helperId(){return this.helperText?`${this.checkboxId}-helper`:void 0}get errorId(){return this.errorMessage?`${this.checkboxId}-error`:void 0}get ariaDescribedBy(){const e=[this.errorId,this.helperId].filter(Boolean);return e.length>0?e.join(" "):void 0}label;checked=!1;value="on";name;disabled=!1;required=!1;error=!1;errorMessage;helperText;form;autofocus=!1;checkedState=!1;handleCheckedChange(e){this.checkedState=e,this.internals.setFormValue?.(e?this.value??"on":null)}lmvzChange;async focusInput(){this.nativeInput?.focus()}async checkValidity(){return this.internals?.checkValidity()??!0}async reportValidity(){return this.internals?.reportValidity()??!0}constructor(e){super(),o(this,e),this.lmvzChange=r(this,"lmvzChange",7),e.$hostElement$["s-ei"]?this.internals=e.$hostElement$["s-ei"]:(this.internals=e.$hostElement$.attachInternals(),e.$hostElement$["s-ei"]=this.internals),this.addController(new l(this,{reValidateOnPropChanges:!0}))}componentWillLoad(){this.initialChecked=this.checked,this.checkedState=this.checked,this.internals.setFormValue?.(this.checked?this.value??"on":null),super.componentWillLoad()}componentWillRender(){this.error&&!this.errorMessage&&console.warn("lmvz-checkbox: error=true set without errorMessage — no visual-only error state is rendered. Provide errorMessage to communicate the error to users."),super.componentWillRender()}formAssociatedCallback(){this.internals.setFormValue?.(this.checked?this.value??"on":null)}formResetCallback(){this.checked=this.initialChecked}formStateRestoreCallback(e){this.checked=e===(this.value??"on")}handleChange=e=>{this.checked=e.target.checked,this.lmvzChange.emit(this.checked)};retargetInnerClicks(){this.nativeInput?.click()}render(){return c(a,{key:"b6b4153dbf80af15cb15799889ca23b621b4ef73"},c("div",{key:"f11d6baaa4b04ee74b201be8c4e125ccd5c366aa",class:"pill"},c("input",{key:"d61dccfa163ecf4fffa95a5d44be35adbb8ee8ff",type:"checkbox",id:this.checkboxId,checked:this.checkedState,disabled:this.disabled,required:this.required,"aria-required":this.required?"true":"false","aria-invalid":this.error?"true":"false","aria-describedby":this.ariaDescribedBy,"aria-errormessage":this.error&&this.errorId?this.errorId:void 0,ref:e=>this.nativeInput=e,onChange:this.handleChange,autoFocus:this.autofocus}),c("span",{key:"87d62f1e0572e174e6d15f30ff59e37f6a5333cb",class:"box","aria-hidden":"true"},this.checkedState&&c("span",{key:"74d29a32599f6c1ee8bde0cb6f27e384de7fcc2d",class:"indicator",innerHTML:i})),c("span",{key:"544990c81b3f7f90b53902d580d2eb2197edfa8b",class:"content"},c("label",{key:"1884744656a280f85bec91b27315d3a6b70e8238",htmlFor:this.checkboxId},this.label),this.helperText&&c("span",{key:"6783ff413a884c78dbd52e07cc7b433f5a9dcf29",onClick:this.retargetInnerClicks.bind(this),class:"helper-text",id:this.helperId,role:"status"},this.helperText))),this.errorMessage&&c("span",{key:"7c19fe406223a11e25df54cdfa304bc000eb421f",class:"error-text",id:this.errorId,role:"alert"},this.errorMessage))}static get formAssociated(){return!0}static get watchers(){return{checked:[{handleCheckedChange:0}]}}};n.style="@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } .sc-lmvz-checkbox-h { display: inline-block; --checkbox-box-size: var(--lmvz-global-s18, 18px); --checkbox-border-radius: var(--lmvz-global-s4, 4px); --checkbox-bg: var(--lmvz-semantic-color-surface-input-primary, #ffffff); --checkbox-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); --checkbox-border-color-hover: var(--lmvz-semantic-color-border-hover, #a1a1a1); --checkbox-border-color-checked: var(--lmvz-semantic-color-border-active, #0f8acc); --checkbox-border-color-error: var(--lmvz-semantic-color-status-on-danger, #a31419); --checkbox-wrapper-bg-hover: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); --checkbox-wrapper-bg-checked: var(--lmvz-semantic-color-status-active, #f6fbfe); --checkbox-ripple-bg: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --checkbox-checkmark-color: var(--lmvz-semantic-color-border-active, #0f8acc); --checkbox-label-color: var(--lmvz-semantic-color-on-surface-primary, #000000); --checkbox-label-color-checked: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --checkbox-helper-color: var(--lmvz-semantic-color-on-surface-secondary, #545454); --checkbox-error-color: var(--lmvz-semantic-color-status-on-danger, #a31419); --checkbox-focus-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --checkbox-easing: var(--lmvz-global-easing-default, ease); --checkbox-duration: 0.2s; } .pill.sc-lmvz-checkbox { display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); padding-block: var(--lmvz-dimension-8-2, clamp(0.13rem, 0.03rem + 0.39vw, 0.5rem)); padding-inline: var(--lmvz-dimension-10-4, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); border-radius: var(--lmvz-semantic-border-radius-round, 999px); text-decoration: none; background-color: transparent; transition: background-color var(--checkbox-duration) var(--checkbox-easing); } input.sc-lmvz-checkbox { position: absolute; opacity: 0; width: var(--checkbox-box-size); height: var(--checkbox-box-size); margin: 0; cursor: pointer; z-index: 1; } .box.sc-lmvz-checkbox { display: flex; align-items: center; justify-content: center; width: var(--checkbox-box-size); height: var(--checkbox-box-size); background-color: var(--checkbox-bg); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--checkbox-border-color); border-radius: var(--checkbox-border-radius); color: var(--checkbox-checkmark-color); cursor: pointer; transition: border-color var(--checkbox-duration) var(--checkbox-easing), background-color var(--checkbox-duration) var(--checkbox-easing); pointer-events: none; flex-shrink: 0; } .indicator.sc-lmvz-checkbox { display: flex; align-items: center; justify-content: center; line-height: 0; } .content.sc-lmvz-checkbox { display: flex; flex-direction: column; overflow-wrap: break-word; min-width: 0; cursor: pointer; } label.sc-lmvz-checkbox { font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router); color: var(--checkbox-label-color); transition: color var(--checkbox-duration) var(--checkbox-easing); cursor: pointer; } .helper-text.sc-lmvz-checkbox { font: var(--lmvz-typography-body-sm, 400 clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem) / 1.5 Router); color: var(--checkbox-helper-color); margin-block-start: 2px; } .error-text.sc-lmvz-checkbox { font: var(--lmvz-typography-body-sm, 400 clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem) / 1.5 Router); color: var(--checkbox-error-color); display: block; margin-block-start: 4px; padding-inline: 10px; } @media (hover: hover) { .pill.sc-lmvz-checkbox:hover { background-color: var(--checkbox-wrapper-bg-hover); } .pill.sc-lmvz-checkbox:hover .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-hover); } } [checked].sc-lmvz-checkbox-h .pill.sc-lmvz-checkbox { background-color: var(--checkbox-wrapper-bg-checked); } [checked].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-checked); } [checked].sc-lmvz-checkbox-h label.sc-lmvz-checkbox { color: var(--checkbox-label-color-checked); } [error].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: var(--checkbox-border-color-error); } [error].sc-lmvz-checkbox-h .helper-text.sc-lmvz-checkbox { color: var(--checkbox-error-color); } [disabled].sc-lmvz-checkbox-h { opacity: var(--lmvz-component-input-disabled-opacity, 40%); pointer-events: none; input, label, .box, .content { cursor: not-allowed; } } .sc-lmvz-checkbox-h:focus-within .pill.sc-lmvz-checkbox { outline: var(--lmvz-ds-outline, 1px solid #0e7ab4); outline-offset: var(--lmvz-ds-outline-offset, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)); } @media (forced-colors: active) { .box.sc-lmvz-checkbox { forced-color-adjust: auto; border-color: ButtonText; background-color: Field; } [checked].sc-lmvz-checkbox-h .box.sc-lmvz-checkbox { border-color: Highlight; background-color: Field; } .indicator.sc-lmvz-checkbox { color: ButtonText; } [checked].sc-lmvz-checkbox-h .indicator.sc-lmvz-checkbox { color: HighlightText; } .sc-lmvz-checkbox-h:focus-within .pill.sc-lmvz-checkbox { outline-color: Highlight; box-shadow: none; } }";export{n as lmvz_checkbox}
@@ -0,0 +1 @@
1
+ import{b as t}from"./p-BFcYfHYq.js";import{r as i,g as n}from"./p-CICeIanv.js";class s{host;config;handlers=new AbortController;constructor(t,n){this.host=t,this.config=n,i(t.el,"isLmvzElementActivationHost",!0)}hostDidLoad(){o(this.host.el,this.handleActivation.bind(this),this.handlers.signal,this.config?.keys??["Enter"," "])}hostDisconnected(){this.handlers.abort()}handleActivation=t=>{this.host.lmvzActivation.emit(),this.config?.localHandler&&this.config.localHandler(t)}}function o(t,i,n,s=[" "]){t.addEventListener("keydown",function(t,i=[" "]){return n=>{i.includes(n.key)&&(n.preventDefault(),t(n))}}(i,s),{signal:n}),t.addEventListener("click",i,{signal:n})}function e(...[i,s,e,a]){n(i,"isLmvzElementActivationHost")?i.addEventListener("lmvzActivation",s,{signal:e}):t(i)?o(i,s,e,a):console.error("addElementActivationListener called with non-interactive element")}export{s as E,e as a}
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-06-29T10:54:10",
2
+ "timestamp": "2026-06-30T16:13:58",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.5",
@@ -59,7 +59,12 @@
59
59
  "tag": "lmvz-action",
60
60
  "readme": "# lmvz-action\n\n\n",
61
61
  "docs": "",
62
- "docsTags": [],
62
+ "docsTags": [
63
+ {
64
+ "name": "deprecated",
65
+ "text": "use `lmvz-button` instead"
66
+ }
67
+ ],
63
68
  "usage": {},
64
69
  "props": [],
65
70
  "methods": [],
@@ -91,7 +96,8 @@
91
96
  "states": [],
92
97
  "dependents": [],
93
98
  "dependencies": [],
94
- "dependencyGraph": {}
99
+ "dependencyGraph": {},
100
+ "deprecation": "use `lmvz-button` instead"
95
101
  },
96
102
  {
97
103
  "filePath": "src/components/lmvz-action-list/lmvz-action-list.tsx",
@@ -138,7 +144,30 @@
138
144
  "setter": false
139
145
  }
140
146
  ],
141
- "methods": [],
147
+ "methods": [
148
+ {
149
+ "name": "initFocus",
150
+ "returns": {
151
+ "type": "Promise<void>",
152
+ "docs": ""
153
+ },
154
+ "complexType": {
155
+ "signature": "() => Promise<void>",
156
+ "parameters": [],
157
+ "references": {
158
+ "Promise": {
159
+ "location": "global",
160
+ "id": "global::Promise"
161
+ }
162
+ },
163
+ "return": "Promise<void>"
164
+ },
165
+ "signature": "initFocus() => Promise<void>",
166
+ "parameters": [],
167
+ "docs": "Programmatically set focus to the first managed element.",
168
+ "docsTags": []
169
+ }
170
+ ],
142
171
  "events": [],
143
172
  "listeners": [],
144
173
  "styles": [],
@@ -1456,7 +1485,30 @@
1456
1485
  "setter": false
1457
1486
  }
1458
1487
  ],
1459
- "methods": [],
1488
+ "methods": [
1489
+ {
1490
+ "name": "initFocus",
1491
+ "returns": {
1492
+ "type": "Promise<void>",
1493
+ "docs": ""
1494
+ },
1495
+ "complexType": {
1496
+ "signature": "() => Promise<void>",
1497
+ "parameters": [],
1498
+ "references": {
1499
+ "Promise": {
1500
+ "location": "global",
1501
+ "id": "global::Promise"
1502
+ }
1503
+ },
1504
+ "return": "Promise<void>"
1505
+ },
1506
+ "signature": "initFocus() => Promise<void>",
1507
+ "parameters": [],
1508
+ "docs": "Programmatically set focus to the first managed element.",
1509
+ "docsTags": []
1510
+ }
1511
+ ],
1460
1512
  "events": [],
1461
1513
  "listeners": [],
1462
1514
  "styles": [],
@@ -8246,6 +8298,28 @@
8246
8298
  "docs": "Returns all slotted `lmvz-tab` elements.\nExposed for external orchestration.",
8247
8299
  "docsTags": []
8248
8300
  },
8301
+ {
8302
+ "name": "initFocus",
8303
+ "returns": {
8304
+ "type": "Promise<void>",
8305
+ "docs": ""
8306
+ },
8307
+ "complexType": {
8308
+ "signature": "() => Promise<void>",
8309
+ "parameters": [],
8310
+ "references": {
8311
+ "Promise": {
8312
+ "location": "global",
8313
+ "id": "global::Promise"
8314
+ }
8315
+ },
8316
+ "return": "Promise<void>"
8317
+ },
8318
+ "signature": "initFocus() => Promise<void>",
8319
+ "parameters": [],
8320
+ "docs": "Programmatically set focus to the first managed element.",
8321
+ "docsTags": []
8322
+ },
8249
8323
  {
8250
8324
  "name": "setTabPanelIds",
8251
8325
  "returns": {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lmvz-ds/components",
3
3
  "private": false,
4
- "version": "0.35.0",
4
+ "version": "0.35.1",
5
5
  "type": "module",
6
6
  "description": "The components of the design system",
7
7
  "author": "Patrick Nemenz <patrick.nemenz@adesso.at>",
@@ -16,3 +16,4 @@ export declare const snackbarPriorities: readonly ["low", "normal", "high"];
16
16
  export declare const snackbarDismissReasons: readonly ["timeout", "manual", "action", "overridden", "swallowed"];
17
17
  export declare const popoverPlacements: readonly ["top", "bottom", "start", "end", "top-start", "top-end", "bottom-start", "bottom-end"];
18
18
  export declare const popoverSizes: readonly ["sm", "md", "lg"];
19
+ //# sourceMappingURL=ds.constants.d.ts.map
@@ -4,3 +4,4 @@ export declare class LmvzAction {
4
4
  private _onClick;
5
5
  render(): any;
6
6
  }
7
+ //# sourceMappingURL=lmvz-action.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { type AriaValidationHost } from '../../utils/aria/aria-validation-controller';
2
- import { type DirectionalFocusHost } from '../../utils/aria/list-keyboard-controller';
2
+ import { type DirectionalFocusHost } from '../../utils/aria/directional-focus-controller';
3
3
  import { ReactiveControllerHost } from '../../utils/stencil/reactive-controller-host';
4
4
  export declare class LmvzActionList extends ReactiveControllerHost implements DirectionalFocusHost, AriaValidationHost {
5
5
  readonly el: HTMLElement;
@@ -10,6 +10,8 @@ export declare class LmvzActionList extends ReactiveControllerHost implements Di
10
10
  readonly label?: string;
11
11
  constructor();
12
12
  componentDidLoad(): void;
13
+ initFocus(): Promise<void>;
13
14
  private readonly handleSlotChange;
14
15
  render(): any;
15
16
  }
17
+ //# sourceMappingURL=lmvz-action-list.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import { type EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { Button, FormRef } from '../../api';
3
3
  import { type AriaValidationHost } from '../../utils/aria/aria-validation-controller';
4
+ import type { DirectionalFocusReceiver } from '../../utils/aria/directional-focus-controller';
4
5
  import { type ElementActivationHost } from '../../utils/aria/element-activation-controller';
5
- import type { DirectionalFocusReceiver } from '../../utils/aria/list-keyboard-controller';
6
6
  import { ReactiveControllerHost } from '../../utils/stencil/reactive-controller-host';
7
7
  export declare class LmvzButton extends ReactiveControllerHost implements AriaValidationHost, ElementActivationHost, DirectionalFocusReceiver {
8
8
  el: HTMLLmvzButtonElement;
@@ -30,3 +30,4 @@ export declare class LmvzButton extends ReactiveControllerHost implements AriaVa
30
30
  private handleClick;
31
31
  render(): any;
32
32
  }
33
+ //# sourceMappingURL=lmvz-button.d.ts.map
@@ -20,3 +20,4 @@ export declare class LmvzButtonGroup {
20
20
  private checkActions;
21
21
  render(): any;
22
22
  }
23
+ //# sourceMappingURL=lmvz-button-group.d.ts.map
@@ -10,3 +10,4 @@ export declare class LmvzCard {
10
10
  private _onOverflowClick;
11
11
  render(): any;
12
12
  }
13
+ //# sourceMappingURL=lmvz-card.d.ts.map
@@ -38,3 +38,4 @@ export declare class LmvzCheckbox extends ReactiveControllerHost implements Aria
38
38
  private retargetInnerClicks;
39
39
  render(): any;
40
40
  }
41
+ //# sourceMappingURL=lmvz-checkbox.d.ts.map
@@ -18,3 +18,4 @@ export declare class LmvzChip extends ReactiveControllerHost implements AriaVali
18
18
  private readonly checkContent;
19
19
  render(): any;
20
20
  }
21
+ //# sourceMappingURL=lmvz-chip.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { type AriaValidationHost } from '../../utils/aria/aria-validation-controller';
2
- import { type DirectionalFocusHost } from '../../utils/aria/list-keyboard-controller';
2
+ import { type DirectionalFocusHost } from '../../utils/aria/directional-focus-controller';
3
3
  import { ReactiveControllerHost } from '../../utils/stencil/reactive-controller-host';
4
4
  export declare class LmvzHeader extends ReactiveControllerHost implements AriaValidationHost, DirectionalFocusHost {
5
5
  readonly el: HTMLElement;
@@ -7,7 +7,7 @@ export declare class LmvzHeader extends ReactiveControllerHost implements AriaVa
7
7
  private primarySlot?;
8
8
  private secondarySlot?;
9
9
  private secondaryNav?;
10
- private keyboardNavigationController;
10
+ private readonly keyboardNavigationController;
11
11
  private get primaryMenuitems();
12
12
  private get secondaryMenuitems();
13
13
  get role(): string;
@@ -15,6 +15,7 @@ export declare class LmvzHeader extends ReactiveControllerHost implements AriaVa
15
15
  get secondarySlotName(): string;
16
16
  constructor();
17
17
  handleActiveNavChange(): void;
18
+ initFocus(): Promise<void>;
18
19
  componentDidLoad(): void;
19
20
  private handlePrimaryNavItemsChange;
20
21
  private handleSecondaryNavItemsChange;
@@ -23,3 +24,4 @@ export declare class LmvzHeader extends ReactiveControllerHost implements AriaVa
23
24
  private delegateFocus;
24
25
  render(): any;
25
26
  }
27
+ //# sourceMappingURL=lmvz-header.d.ts.map
@@ -23,3 +23,4 @@ export declare class LmvzIcon extends ReactiveControllerHost implements AriaVali
23
23
  render(): any;
24
24
  private waitUntilVisible;
25
25
  }
26
+ //# sourceMappingURL=lmvz-icon.d.ts.map
@@ -63,3 +63,4 @@ export declare class LmvzInput extends ReactiveControllerHost implements AriaVal
63
63
  private updateNativeError;
64
64
  render(): any;
65
65
  }
66
+ //# sourceMappingURL=lmvz-input.d.ts.map
@@ -11,3 +11,4 @@ export declare class LmvzLink {
11
11
  private computeRel;
12
12
  render(): any;
13
13
  }
14
+ //# sourceMappingURL=lmvz-link.d.ts.map
@@ -12,3 +12,4 @@ export declare class LmvzMenuItem extends ReactiveControllerHost implements Aria
12
12
  constructor();
13
13
  render(): any;
14
14
  }
15
+ //# sourceMappingURL=lmvz-menuitem.d.ts.map
@@ -18,3 +18,4 @@ export declare class LmvzMessage {
18
18
  private checkSlotContent;
19
19
  render(): any;
20
20
  }
21
+ //# sourceMappingURL=lmvz-message.d.ts.map
@@ -1 +1,2 @@
1
1
  export type { Message } from '../../api';
2
+ //# sourceMappingURL=public.d.ts.map
@@ -41,3 +41,4 @@ export declare class LmvzModal extends ReactiveControllerHost implements AriaVal
41
41
  private readonly handleHeaderSlotChange;
42
42
  render(): any;
43
43
  }
44
+ //# sourceMappingURL=lmvz-modal.d.ts.map
@@ -0,0 +1,10 @@
1
+ export type ModalRoot = HTMLLmvzModalElement & {
2
+ dialog?: HTMLDialogElement;
3
+ open: boolean;
4
+ };
5
+ export declare const mockDialogMethods: (dialog: HTMLDialogElement) => {
6
+ showModal: import("vitest").Mock<() => void>;
7
+ close: import("vitest").Mock<(returnValue?: string) => void>;
8
+ requestClose: import("vitest").Mock<(returnValue?: string) => void>;
9
+ };
10
+ //# sourceMappingURL=testing.d.ts.map
@@ -2,10 +2,12 @@ import { type EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { Popover } from '../../api';
3
3
  export declare class LmvzPopover {
4
4
  readonly el: HTMLElement;
5
- private readonly closureController;
5
+ private readonly extEventController;
6
+ private closureController?;
6
7
  private containerEl?;
7
8
  private slotEl?;
8
9
  private previouslyFocusedElement;
10
+ private anchorEl?;
9
11
  open: boolean;
10
12
  anchor?: string | HTMLElement;
11
13
  placement: Popover.Placement;
@@ -20,9 +22,9 @@ export declare class LmvzPopover {
20
22
  toggle(): Promise<void>;
21
23
  componentDidLoad(): void;
22
24
  protected handleOpenChange(isOpen: boolean): void;
23
- protected handleAnchorChange(): void;
25
+ protected handleAnchorChange(anchor: string | HTMLElement | undefined): Promise<void>;
24
26
  disconnectedCallback(): void;
25
- private resolveAnchor;
27
+ private setupAnchorEl;
26
28
  private updatePosition;
27
29
  private onOpen;
28
30
  private onClose;
@@ -35,3 +37,4 @@ export declare class LmvzPopover {
35
37
  private removeCloseHandlers;
36
38
  render(): any;
37
39
  }
40
+ //# sourceMappingURL=lmvz-popover.d.ts.map
@@ -40,3 +40,4 @@ export declare class LmvzRadio extends ReactiveControllerHost implements AriaVal
40
40
  handleKeydown(event: KeyboardEvent): void;
41
41
  render(): any;
42
42
  }
43
+ //# sourceMappingURL=lmvz-radio.d.ts.map
@@ -25,3 +25,4 @@ export declare class LmvzSelect extends ReactiveControllerHost implements AriaVa
25
25
  private handleChange;
26
26
  render(): any;
27
27
  }
28
+ //# sourceMappingURL=lmvz-select.d.ts.map
@@ -19,3 +19,4 @@ export declare class LmvzSnackbar {
19
19
  private readonly handleActionClick;
20
20
  render(): any;
21
21
  }
22
+ //# sourceMappingURL=lmvz-snackbar.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export { SnackbarController } from './snackbar-controller';
2
2
  export type { SnackbarDismissReason, SnackbarHandle, SnackbarOptions, SnackbarPriority, SnackbarStatus } from './snackbar-controller';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -30,3 +30,4 @@ export declare class SnackbarController {
30
30
  open(options: SnackbarOptions): SnackbarHandle;
31
31
  dismiss(id?: string): void;
32
32
  }
33
+ //# sourceMappingURL=snackbar-controller.d.ts.map
@@ -3,3 +3,4 @@ export declare class LmvzSpinner {
3
3
  ariaLabel?: string;
4
4
  render(): any;
5
5
  }
6
+ //# sourceMappingURL=lmvz-spinner.d.ts.map
@@ -9,3 +9,4 @@ export declare class LmvzTab {
9
9
  componentDidLoad(): void;
10
10
  render(): any;
11
11
  }
12
+ //# sourceMappingURL=lmvz-tab.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { type EventEmitter } from '../../stencil-public-runtime';
2
- import { type DirectionalFocusHost } from '../../utils/aria/list-keyboard-controller';
2
+ import { type DirectionalFocusHost } from '../../utils/aria/directional-focus-controller';
3
3
  import { ReactiveControllerHost } from '../../utils/stencil/reactive-controller-host';
4
4
  export declare class LmvzTabs extends ReactiveControllerHost implements DirectionalFocusHost {
5
5
  readonly el: HTMLElement;
@@ -19,6 +19,7 @@ export declare class LmvzTabs extends ReactiveControllerHost implements Directio
19
19
  disconnectedCallback(): void;
20
20
  handleValueChange(newValue: string): void;
21
21
  handleOrientationChange(): void;
22
+ initFocus(): Promise<void>;
22
23
  activateTab(value: string): Promise<void>;
23
24
  getTabElements(): Promise<HTMLElement[]>;
24
25
  setTabPanelIds(pairs: Array<[string, string]>): Promise<void>;
@@ -41,3 +42,4 @@ export declare class LmvzTabs extends ReactiveControllerHost implements Directio
41
42
  private readonly handleKeydown;
42
43
  render(): any;
43
44
  }
45
+ //# sourceMappingURL=lmvz-tabs.d.ts.map
@@ -29,3 +29,4 @@ export declare class LmvzToggle extends ReactiveControllerHost implements AriaVa
29
29
  private handleChange;
30
30
  render(): any;
31
31
  }
32
+ //# sourceMappingURL=lmvz-toggle.d.ts.map
@@ -15,6 +15,9 @@ declare const chipSizes: readonly ["default", "small"];
15
15
  declare const chipTypes: readonly ["active", "warning", "success", "error", "neutral"];
16
16
 
17
17
  export declare namespace Components {
18
+ /**
19
+ * @deprecated use `lmvz-button` instead
20
+ */
18
21
  export interface LmvzAction {
19
22
  }
20
23
  /**
@@ -39,6 +42,10 @@ export declare namespace Components {
39
42
  * ```
40
43
  */
41
44
  export interface LmvzActionList {
45
+ /**
46
+ * Programmatically set focus to the first managed element.
47
+ */
48
+ "initFocus": () => Promise<void>;
42
49
  /**
43
50
  * Accessible label for the menu, reflected as `aria-label` on the host Element. When absent, `aria-label` is not rendered on the host.
44
51
  */
@@ -212,6 +219,10 @@ export declare namespace Components {
212
219
  * An accessible, application-style navigation header component, that renders two connected levels of navigation.
213
220
  */
214
221
  export interface LmvzHeader {
222
+ /**
223
+ * Programmatically set focus to the first managed element.
224
+ */
225
+ "initFocus": () => Promise<void>;
215
226
  /**
216
227
  * Id of the currently active primary navigation item. Also determines which `connect-nav-*` secondary slot is shown.
217
228
  */
@@ -759,6 +770,10 @@ export declare namespace Components {
759
770
  * Returns all slotted `lmvz-tab` elements. Exposed for external orchestration.
760
771
  */
761
772
  "getTabElements": () => Promise<HTMLElement[]>;
773
+ /**
774
+ * Programmatically set focus to the first managed element.
775
+ */
776
+ "initFocus": () => Promise<void>;
762
777
  /**
763
778
  * Layout and keyboard-navigation orientation.
764
779
  * @default 'horizontal'
@@ -868,6 +883,9 @@ declare const inputTypes: readonly ["text", "email", "password", "tel", "url", "
868
883
  export declare namespace JSX {
869
884
  export type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}` | `prop:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K | `prop:${K}`]?: never } | { [P in `prop:${K}`]: PropT } & { [P in K | `attr:${K}`]?: never };
870
885
 
886
+ /**
887
+ * @deprecated use `lmvz-button` instead
888
+ */
871
889
  export interface LmvzAction {
872
890
  "onActionClick"?: (event: LmvzActionCustomEvent<MouseEvent>) => void;
873
891
  }
package/types/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export type { LmvzDS, Typography } from './api';
5
5
  export * from './components/lmvz-message/public';
6
6
  export * from './components/lmvz-snackbar/public';
7
7
  export * from './utils/public';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -31,3 +31,4 @@ export declare class AriaValidationController<T extends HTMLElement = HTMLElemen
31
31
  private enqueueValidation;
32
32
  private discardVisibilityObserver;
33
33
  }
34
+ //# sourceMappingURL=aria-validation-controller.d.ts.map
@@ -1 +1,2 @@
1
1
  export declare const ariaAttributes: string[];
2
+ //# sourceMappingURL=aria.constants.d.ts.map
@@ -1,7 +1,16 @@
1
- import type { ReactiveController } from '../stencil/reactive-controller-host';
2
- export type DirectionalFocusHost = {
1
+ import { type ReactiveController } from '../stencil/reactive-controller-host';
2
+ declare global {
3
+ interface LmvzComponentMeta {
4
+ isFocusControllerHost?: true;
5
+ }
6
+ }
7
+ export type DirectionalFocusHost = FocusHostExtensions & {
3
8
  el: HTMLElement;
4
9
  };
10
+ type FocusHostExtensions = {
11
+ initFocus: DirectionalFocusController['initFocus'];
12
+ };
13
+ export declare function isFocusControllerHost(el: HTMLElement): el is HTMLElement & FocusHostExtensions;
5
14
  export type DirectionalFocusReceiver = {
6
15
  resolveFocusableElement(): HTMLElement | undefined;
7
16
  };
@@ -23,6 +32,7 @@ export declare class DirectionalFocusController implements ReactiveController {
23
32
  hostDisconnected(): void;
24
33
  updateElements(elements: Element[]): void;
25
34
  setCurrentElement(element: Element | undefined | null): void;
35
+ initFocus(): Promise<void>;
26
36
  private handleKeydown;
27
37
  private getFocusIntent;
28
38
  private getManagedActiveElement;
@@ -37,3 +47,4 @@ export declare class DirectionalFocusController implements ReactiveController {
37
47
  export type ListKeyboardNavigationHost = DirectionalFocusHost;
38
48
  export type ListKeyboardNavigationControllerConfig = DirectionalFocusControllerConfig;
39
49
  export { DirectionalFocusController as ListKeyboardNavigationController };
50
+ //# sourceMappingURL=directional-focus-controller.d.ts.map
@@ -1,5 +1,10 @@
1
1
  import type { EventEmitter } from '../../stencil-public-runtime';
2
- import type { ReactiveController } from '../stencil/reactive-controller-host';
2
+ import { type ReactiveController } from '../stencil/reactive-controller-host';
3
+ declare global {
4
+ interface LmvzComponentMeta {
5
+ isLmvzElementActivationHost?: true;
6
+ }
7
+ }
3
8
  export type ElementActivationHost = {
4
9
  el: HTMLElement;
5
10
  lmvzActivation: EventEmitter<void>;
@@ -11,9 +16,13 @@ type Config = {
11
16
  export declare class ElementActivationController implements ReactiveController {
12
17
  private host;
13
18
  private config?;
19
+ private readonly handlers;
14
20
  constructor(host: ElementActivationHost, config?: Config | undefined);
15
21
  hostDidLoad(): void;
16
- private handleKeyDown;
22
+ hostDisconnected(): void;
17
23
  private handleActivation;
18
24
  }
25
+ declare function bindHandlers(target: HTMLElement, handler: (event: Event) => unknown, abortSignal: AbortSignal, keys?: string[]): void;
26
+ export declare function addElementActivationListener(...[target, handler, abortSignal, keys]: Parameters<typeof bindHandlers>): void;
19
27
  export {};
28
+ //# sourceMappingURL=element-activation-controller.d.ts.map
@@ -9,3 +9,4 @@ export declare const raf: (h: FrameRequestCallback) => number;
9
9
  export declare const deferEvent: (event: EventEmitter) => EventEmitter;
10
10
  export declare const debounceEvent: (event: EventEmitter, wait: number) => EventEmitter;
11
11
  export declare const debounce: (func: (...args: unknown[]) => void, wait?: number) => (...args: unknown[]) => any;
12
+ //# sourceMappingURL=async.util.d.ts.map
@@ -0,0 +1,6 @@
1
+ export declare const pointerCoord: (ev: TouchEvent | MouseEvent) => {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ export declare function filterKeysAndCallback(callback: (event: Event) => unknown, keys?: string[]): (event: KeyboardEvent) => void;
6
+ //# sourceMappingURL=event.util.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export declare const clamp: (min: number, n: number, max: number) => number;
2
2
  export declare const isSafeNumber: (input: unknown) => input is number;
3
+ //# sourceMappingURL=number.util.d.ts.map
@@ -3,3 +3,4 @@ export declare const shallowEqualStringMap: (map1: {
3
3
  } | undefined, map2: {
4
4
  [k: string]: unknown;
5
5
  } | undefined) => boolean;
6
+ //# sourceMappingURL=object.util.d.ts.map
@@ -1 +1,2 @@
1
1
  export declare const now: (ev: UIEvent) => number;
2
+ //# sourceMappingURL=time.util.d.ts.map
@@ -20,4 +20,6 @@ export declare function walkShadowDOMUntil(start: Element | undefined, condition
20
20
  export declare function canReceiveFocus(el: Element | undefined): boolean;
21
21
  export declare function findFormByRef(form: FormRef, el: HTMLElement): HTMLFormElement | null;
22
22
  export declare function isInteractiveElement(el: HTMLElement): boolean;
23
+ export declare function isHtmlElement(element: unknown): element is HTMLElement;
23
24
  export {};
25
+ //# sourceMappingURL=element.util.d.ts.map
@@ -1 +1,2 @@
1
1
  export declare function getLocationBase(): string;
2
+ //# sourceMappingURL=environment.d.ts.map
@@ -10,3 +10,4 @@ export declare function registerIconProvider<I extends KnownIconSetId>(id: I, pr
10
10
  export declare function getRegisteredIconProvider<I extends KnownIconSetId>(id: I): IconProvider<KnownIconName<I>> | undefined;
11
11
  export declare function getRegisteredIconProvider(id?: string | undefined): IconProvider<string> | undefined;
12
12
  export {};
13
+ //# sourceMappingURL=icons-registry.d.ts.map
@@ -4,3 +4,4 @@ export type IconData = SVGString;
4
4
  export declare function resolveIconSvg<I extends KnownIconSetId>(options: IconPropsForSet<I>): Promise<IconData>;
5
5
  export declare function resolveIconSvg(options: IconPropsFallback): Promise<IconData>;
6
6
  export declare function typedIconFromSet<S extends string>(iconset: S, icon: IconPropsForSetWithoutFallback<S>['icon']): IconPropsForSetWithoutFallback<S>;
7
+ //# sourceMappingURL=icons.d.ts.map
@@ -5,3 +5,4 @@ declare module '@lmvz-ds/lib-icon-api' {
5
5
  }
6
6
  }
7
7
  export {};
8
+ //# sourceMappingURL=icons.unit.d.ts.map