@lmvz-ds/components 0.18.2 → 0.19.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 (104) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +45 -100
  3. package/cjs/ds.constants-DSnxZ3ia.js +16 -0
  4. package/cjs/{icons-swqMn6s2.js → icons-Tg7ySOh-.js} +54 -38
  5. package/cjs/index.cjs.js +9 -10
  6. package/cjs/lmvz-button.cjs.entry.js +2 -2
  7. package/cjs/lmvz-chip.cjs.entry.js +68 -4
  8. package/cjs/lmvz-components.cjs.js +1 -1
  9. package/cjs/lmvz-header_2.cjs.entry.js +2 -2
  10. package/cjs/lmvz-icon.cjs.entry.js +6 -6
  11. package/cjs/lmvz-input.cjs.entry.js +3 -3
  12. package/cjs/lmvz-menuitem.cjs.entry.js +2 -2
  13. package/cjs/lmvz-select.cjs.entry.js +2 -2
  14. package/cjs/loader.cjs.js +1 -1
  15. package/cjs/{reactive-controller-host-CtaVAiYJ.js → reactive-controller-host-Bi9eu2bV.js} +9 -9
  16. package/collection/api/ds.constants.js +2 -0
  17. package/collection/components/lmvz-button/lmvz-button.js +6 -3
  18. package/collection/components/lmvz-chip/lmvz-chip.css +84 -1
  19. package/collection/components/lmvz-chip/lmvz-chip.js +110 -13
  20. package/collection/components/lmvz-header/lmvz-header.js +2 -2
  21. package/collection/components/lmvz-icon/lmvz-icon.css +11 -10
  22. package/collection/components/lmvz-icon/lmvz-icon.js +7 -6
  23. package/collection/components/lmvz-input/lmvz-input.js +4 -4
  24. package/collection/components/lmvz-menuitem/lmvz-menuitem.js +11 -5
  25. package/collection/components/lmvz-select/lmvz-select.js +1 -1
  26. package/collection/index.js +1 -1
  27. package/collection/integration/header-integration/header-integration.js +1 -1
  28. package/collection/utils/aria/aria-validation-controller.js +1 -0
  29. package/collection/utils/reactive-controller-host.js +9 -9
  30. package/components/index.js +1 -1
  31. package/components/lmvz-button.js +1 -1
  32. package/components/lmvz-chip.js +1 -1
  33. package/components/lmvz-header.js +1 -1
  34. package/components/lmvz-icon.js +1 -1
  35. package/components/lmvz-input.js +1 -1
  36. package/components/lmvz-menuitem.js +1 -1
  37. package/components/lmvz-select.js +1 -1
  38. package/components/{p-DQEkWkMh.js → p-DIrAQ4IB.js} +1 -1
  39. package/esm/{aria-loader-BF_AYtbb.js → aria-loader-CES8Ae1e.js} +1 -1
  40. package/esm/ds.constants-Bmi89ll1.js +9 -0
  41. package/esm/{icons-Ca8oMiRa.js → icons-Bj4dF1-I.js} +55 -40
  42. package/esm/{index-7Ru1khgk.js → index-BvxaUA12.js} +1 -1
  43. package/esm/index.js +4 -11
  44. package/esm/lmvz-button.entry.js +3 -3
  45. package/esm/lmvz-chip.entry.js +69 -5
  46. package/esm/lmvz-components.js +1 -1
  47. package/esm/lmvz-header_2.entry.js +3 -3
  48. package/esm/lmvz-icon.entry.js +7 -7
  49. package/esm/lmvz-input.entry.js +4 -4
  50. package/esm/lmvz-menuitem.entry.js +3 -3
  51. package/esm/lmvz-select.entry.js +3 -3
  52. package/esm/loader.js +1 -1
  53. package/esm/{logger-fiRXhuXK.js → logger-0bL3pydp.js} +1 -1
  54. package/esm/{reactive-controller-host-sR2jJxNG.js → reactive-controller-host-J2thAxVH.js} +10 -10
  55. package/hydrate/index.js +92 -27
  56. package/hydrate/index.mjs +92 -27
  57. package/lmvz-components/index.esm.js +1 -1
  58. package/lmvz-components/lmvz-components.esm.js +1 -1
  59. package/lmvz-components/{p-fiRXhuXK.js → p-0bL3pydp.js} +1 -1
  60. package/lmvz-components/p-40569208.entry.js +1 -0
  61. package/lmvz-components/p-49ab22bd.entry.js +1 -0
  62. package/lmvz-components/{p-6dbb3f13.entry.js → p-6e8acbd9.entry.js} +1 -1
  63. package/lmvz-components/{p-59383f3a.entry.js → p-9212bd23.entry.js} +1 -1
  64. package/lmvz-components/p-9626e951.entry.js +1 -0
  65. package/lmvz-components/p-Bmi89ll1.js +1 -0
  66. package/lmvz-components/p-Bu4Z_PMf.js +1 -0
  67. package/lmvz-components/{p-Bkfdgg0T.js → p-BxHnZA0M.js} +1 -1
  68. package/lmvz-components/{p-DXOTa5VF.js → p-DHZwxmLb.js} +1 -1
  69. package/lmvz-components/{p-B3dnXEPG.js → p-DYaffOLo.js} +1 -1
  70. package/lmvz-components/{p-84267405.entry.js → p-e1b847d2.entry.js} +1 -1
  71. package/lmvz-components/{p-5aa17cd2.entry.js → p-ec96c6b6.entry.js} +1 -1
  72. package/manifest.json +139 -32
  73. package/package.json +1 -1
  74. package/types/api/ds.constants.d.ts +6 -1
  75. package/types/components/lmvz-action/lmvz-action.d.ts +0 -1
  76. package/types/components/lmvz-button/lmvz-button.d.ts +0 -1
  77. package/types/components/lmvz-card/lmvz-card.d.ts +0 -1
  78. package/types/components/lmvz-chip/lmvz-chip.d.ts +18 -3
  79. package/types/components/lmvz-header/lmvz-header.d.ts +0 -1
  80. package/types/components/lmvz-icon/lmvz-icon.d.ts +0 -1
  81. package/types/components/lmvz-input/lmvz-input.d.ts +0 -1
  82. package/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +0 -1
  83. package/types/components/lmvz-select/lmvz-select.d.ts +0 -1
  84. package/types/components.d.ts +70 -12
  85. package/types/index.d.ts +1 -2
  86. package/types/utils/aria/aria-validation-controller.d.ts +1 -2
  87. package/types/utils/aria/element-activation-controller.d.ts +0 -1
  88. package/types/utils/aria/list-keyboard-controller.d.ts +0 -1
  89. package/types/utils/assets.d.ts +0 -1
  90. package/types/utils/component.d.ts +0 -1
  91. package/types/utils/environment.d.ts +0 -1
  92. package/types/utils/http.d.ts +0 -1
  93. package/types/utils/http.unit.d.ts +0 -1
  94. package/types/utils/icons/icons-registry.d.ts +0 -1
  95. package/types/utils/icons/icons.d.ts +0 -1
  96. package/types/utils/icons/icons.unit.d.ts +0 -1
  97. package/types/utils/icons/public.d.ts +0 -1
  98. package/types/utils/public.d.ts +0 -1
  99. package/types/utils/reactive-controller-host.d.ts +0 -1
  100. package/lmvz-components/p-0a41cc24.entry.js +0 -1
  101. package/lmvz-components/p-30b99f11.entry.js +0 -1
  102. package/lmvz-components/p-5f150890.entry.js +0 -1
  103. package/lmvz-components/p-Bh2Epkwf.js +0 -1
  104. /package/components/{p-CBLAeife.js → p-DbeHBSOe.js} +0 -0
@@ -1 +1 @@
1
- const n=Symbol("LMVZ__ariaValidationRuntimeState"),o="lmvz:aria-validation-runtime-changed";function i(){const o=globalThis;return o[n]||(o[n]={enabled:!1}),o[n]}function t(){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(o))}const a=()=>i().enabled,e=()=>i().verboseLogging??!1,r=(n={})=>{const o=i();o.enabled||(Object.assign(o,n),o.enabled=!0,async function(...n){const o=await async function(){const n=i();if(!n.enabled)return null;if(n.runtime)return n.runtime;n.loadPromise||(n.loadPromise=import("./p-DXOTa5VF.js").catch((()=>null)));const o=await n.loadPromise;return o&&(n.runtime=o),o}();i().enabled&&(o?o.initializeValidationStream(...n):console.warn("Failed to load aria validation runtime"))}().then((()=>{t()})))},l=()=>{const n=i();n.enabled&&(n.enabled=!1,t())};function u(...n){const{enabled:o,runtime:t,loadPromise:a,lazyCondition:e}=i();if(o){if(!e)return r();(function(n,o=[]){const i=n(...o);return(t=i)&&"object"==typeof t&&"function"==typeof t.then?i:Promise.resolve(i);var t})(e).then((n=>{n&&r()}))}function r(){if(t)return t.enqueueValidation(...n);a?a.then((o=>{o?.enqueueValidation?o.enqueueValidation(...n):console.error("Failed to load aria validation runtime")})).catch((()=>{console.error("Failed to enqueue validation due to an error while loading the runtime")})):console.warn("neither runtime nor load promise found for aria validation. This should not happen, as enabling aria validation should have triggered the loading of the runtime.")}}export{o as A,l as d,r as e,a as i,u as q,e as u}
1
+ const n=Symbol("LMVZ__ariaValidationRuntimeState"),o="lmvz:aria-validation-runtime-changed";function i(){const o=globalThis;return o[n]||(o[n]={enabled:!1}),o[n]}function t(){"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent(o))}const a=()=>i().enabled,e=()=>i().verboseLogging??!1,r=(n={})=>{const o=i();o.enabled||(Object.assign(o,n),o.enabled=!0,async function(...n){const o=await async function(){const n=i();if(!n.enabled)return null;if(n.runtime)return n.runtime;n.loadPromise||(n.loadPromise=import("./p-DHZwxmLb.js").catch((()=>null)));const o=await n.loadPromise;return o&&(n.runtime=o),o}();i().enabled&&(o?o.initializeValidationStream(...n):console.warn("Failed to load aria validation runtime"))}().then((()=>{t()})))},l=()=>{const n=i();n.enabled&&(n.enabled=!1,t())};function u(...n){const{enabled:o,runtime:t,loadPromise:a,lazyCondition:e}=i();if(o){if(!e)return r();(function(n,o=[]){const i=n(...o);return(t=i)&&"object"==typeof t&&"function"==typeof t.then?i:Promise.resolve(i);var t})(e).then((n=>{n&&r()}))}function r(){if(t)return t.enqueueValidation(...n);a?a.then((o=>{o?.enqueueValidation?o.enqueueValidation(...n):console.error("Failed to load aria validation runtime")})).catch((()=>{console.error("Failed to enqueue validation due to an error while loading the runtime")})):console.warn("neither runtime nor load promise found for aria validation. This should not happen, as enabling aria validation should have triggered the loading of the runtime.")}}export{o as A,l as d,r as e,a as i,u as q,e as u}
@@ -1 +1 @@
1
- import{g as e,r as l,c as t,h as a,H as s}from"./p-saW7O-EW.js";import{R as o,A as i}from"./p-Bkfdgg0T.js";import"./p-B3dnXEPG.js";let c=0;const r=class extends o{get el(){return e(this)}get validationEl(){return this.el}selectId="lmvz-select-"+c++;nativeSelectEl;constructor(e){super(),l(this,e),this.lmvzChange=t(this,"lmvzChange"),this.addController(new i(this))}lmvzChange;value;label;helperText;disabled=!1;required=!1;name;selectedLabel="";get hasValue(){return Boolean(this.value)}componentDidLoad(){this.syncSelectedLabel(),super.componentDidLoad()}handleValueChange(e){this.nativeSelectEl&&this.nativeSelectEl.value!==(e??"")&&(this.nativeSelectEl.value=e??""),this.syncSelectedLabel()}syncSelectedLabel(){if(!this.nativeSelectEl)return;const e=this.nativeSelectEl.selectedIndex;this.selectedLabel=e>=0?this.nativeSelectEl.options[e]?.text??"":""}handleChange=e=>{const l=e.target;this.value=l.value,this.syncSelectedLabel(),this.lmvzChange.emit(l.value)};render(){const e=this.hasValue;return a(s,{key:"7d1abb943f79e90451b43c9221801b80a2f61346"},a("div",{key:"ded3e45246ab38e89d444c59239cdc63a2c4d4fc",class:"select-wrapper"},a("label",{key:"cb68ff79976c2fb55d4cc827f9e90ba2597a8a43",htmlFor:this.selectId,class:e?"floating-label":"assistive-label"},this.label,this.required&&e&&a("span",{key:"ab77eaea1645b95d90f00ffb609bbd7a1704f7bc","aria-hidden":"true"}," *")),a("div",{key:"45cee00478a6cc31c10dddf69d8e6687fc8f440d","aria-hidden":"true"},a("span",{key:"0c5d425ea8843234aa6abd94a207377e2a675686"},e?this.selectedLabel:this.label,this.required&&!e&&a("span",{key:"ebef5322371ee0253b50dd801b80cbb6402c067a","aria-hidden":"true"}," *")),a("span",{key:"a12d31dc29563444f728133f181b48914d31705b"},a("img",{key:"dd3f175d1ca2b9ccc6c2bfa2075e5da62016a896",src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjMzMzQgOC42NjY2M0wxMi4wMDAxIDE3TDMuNjY2NzUgOC42NjY2MyIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=",alt:""}))),a("select",{key:"a196f3b824177d1b45971c38341bf6a2939dda82",id:this.selectId,ref:e=>this.nativeSelectEl=e,name:this.name,disabled:this.disabled,required:this.required,"aria-label":this.label,onChange:this.handleChange},!e&&a("option",{key:"536cc559def0e9ffa4b2150693ece9a597c238d1",value:"",disabled:!0,selected:!0,hidden:!0}),a("slot",{key:"ad9fed96b9f8c1d8257511bb1d5ab5ee756973ce"}))),this.helperText&&a("div",{key:"4723b44d781c900be5aae7ece2a0be04b6c744b9",role:"status"},this.helperText))}static get watchers(){return{value:[{handleValueChange:0}]}}};r.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('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } .sc-lmvz-select-h { display: block; font-family: var(--lmvz-global-font-family-default, Router); --lmvz-internal-select-floating-label-top-offset: 0.375rem; padding-top: var(--lmvz-internal-select-floating-label-top-offset); --lmvz-select-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-select-bg: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-select-bg-hover: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-select-text-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-select-label-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --lmvz-select-padding-x: var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-select-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-select-height: 40px; --lmvz-select-label-font-size: var(--lmvz-component-component-typography-body-sm-font-size, 0.75rem); --lmvz-select-label-top-offset: calc(var(--lmvz-internal-select-floating-label-top-offset) * -1); --lmvz-select-label-minimized-padding-x: 4px; --lmvz-select-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); --lmvz-select-helper-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --lmvz-select-focus-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --lmvz-select-error-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); } .select-wrapper.sc-lmvz-select { position: relative; height: var(--lmvz-select-height); } label.sc-lmvz-select { position: absolute; top: 50%; left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-label-color); line-height: normal; white-space: nowrap; pointer-events: none; z-index: 2; transform: translateY(-50%); transform-origin: left top; transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, padding 0.2s ease-out; } label.assistive-label.sc-lmvz-select { opacity: 0; padding: 0; } label.floating-label.sc-lmvz-select { top: var(--lmvz-select-label-top-offset); transform: translateY(0) scale(0.85); left: calc(var(--lmvz-select-padding-x) - 2px); background-color: var(--lmvz-select-bg); padding: 0 var(--lmvz-select-label-minimized-padding-x); opacity: 1; font-weight: 500; } label.sc-lmvz-select > span[aria-hidden='true'].sc-lmvz-select, div[aria-hidden='true'].sc-lmvz-select > span.sc-lmvz-select:first-child > span[aria-hidden='true'].sc-lmvz-select { color: var(--lmvz-select-error-color); margin-left: 2px; display: inline-block; line-height: 0; vertical-align: middle; } div[aria-hidden].sc-lmvz-select { display: flex; align-items: center; gap: var(--lmvz-select-gap); height: 100%; padding: 0 var(--lmvz-select-padding-x); border-radius: var(--lmvz-select-radius); background-color: var(--lmvz-select-bg); cursor: pointer; position: relative; z-index: 1; transition: background-color 0.15s ease; } .sc-lmvz-select-h:not([disabled]) .select-wrapper.sc-lmvz-select:hover div[aria-hidden].sc-lmvz-select { background-color: var(--lmvz-select-bg-hover); } .select-wrapper.sc-lmvz-select:focus-within div[aria-hidden].sc-lmvz-select { outline: 2px solid var(--lmvz-select-focus-color); outline-offset: 2px; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { flex: 1 0 0; font-size: var(--lmvz-component-component-typography-body-md-font-size, 0.875rem); font-weight: var(--lmvz-global-font-weight-500, 500); color: var(--lmvz-select-text-color); line-height: 1.4; letter-spacing: var(--lmvz-component-body-md-letter-spacing, 0); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:last-child { flex-shrink: 0; display: flex; align-items: center; justify-content: center; } img.sc-lmvz-select { display: block; width: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); height: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } select.sc-lmvz-select { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; border: none; background: transparent; margin: 0; padding: 0; } [disabled].sc-lmvz-select-h .select-wrapper.sc-lmvz-select { opacity: var(--lmvz-select-disabled-opacity); pointer-events: none; cursor: not-allowed; } [role='status'].sc-lmvz-select { margin-top: 4px; padding-left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-helper-color); line-height: normal; }";export{r as lmvz_select}
1
+ import{g as e,r as l,c as t,h as a,H as s}from"./p-saW7O-EW.js";import{R as o,A as i}from"./p-BxHnZA0M.js";import"./p-DYaffOLo.js";let c=0;const r=class extends o{get el(){return e(this)}get validationEl(){return this.el}selectId="lmvz-select-"+c++;nativeSelectEl;constructor(e){super(),l(this,e),this.lmvzChange=t(this,"lmvzChange"),this.addController(new i(this))}lmvzChange;value;label;helperText;disabled=!1;required=!1;name;selectedLabel="";get hasValue(){return Boolean(this.value)}componentDidLoad(){this.syncSelectedLabel(),super.componentDidLoad()}handleValueChange(e){this.nativeSelectEl&&this.nativeSelectEl.value!==(e??"")&&(this.nativeSelectEl.value=e??""),this.syncSelectedLabel()}syncSelectedLabel(){if(!this.nativeSelectEl)return;const e=this.nativeSelectEl.selectedIndex;this.selectedLabel=e>=0?this.nativeSelectEl.options[e]?.text??"":""}handleChange=e=>{const l=e.target;this.value=l.value,this.syncSelectedLabel(),this.lmvzChange.emit(l.value)};render(){const e=this.hasValue;return a(s,{key:"b9f6211fec35e7c03cc9c462cb1f8eb60fc6c96c"},a("div",{key:"43d22daa1492f87f89f9479687b82ee893f10faa",class:"select-wrapper"},a("label",{key:"cf399d80e31a345cea60286db4aea2d7dd7973d1",htmlFor:this.selectId,class:e?"floating-label":"assistive-label"},this.label,this.required&&e&&a("span",{key:"6bdd8e0d652f126eb1c64c2a647ac0816cc61b05","aria-hidden":"true"}," *")),a("div",{key:"5d8497c64e197a71003a0c8e11149993fcefd684","aria-hidden":"true"},a("span",{key:"95b73705ad81d000ce415a377002e4ae4d63aae6"},e?this.selectedLabel:this.label,this.required&&!e&&a("span",{key:"2ff855f0fa89d3c66c59a176f855fdbf18ecb6c2","aria-hidden":"true"}," *")),a("span",{key:"a66d4ec65c95b1463223c07aecb17d65a45c6b24"},a("img",{key:"4cd21532ff13a3ecbd229cd79d0a3fa7b3eafc60",src:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwLjMzMzQgOC42NjY2M0wxMi4wMDAxIDE3TDMuNjY2NzUgOC42NjY2MyIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=",alt:""}))),a("select",{key:"2a9e46e29f8ef7d116989b58abfacee840dd2275",id:this.selectId,ref:e=>this.nativeSelectEl=e,name:this.name,disabled:this.disabled,required:this.required,"aria-label":this.label,onChange:this.handleChange},!e&&a("option",{key:"5c5fa4d5e3b120a0085f6fc408d20a56f6547441",value:"",disabled:!0,selected:!0,hidden:!0}),a("slot",{key:"e11909e901624af7d9d5275f2e9715007960eab9"}))),this.helperText&&a("div",{key:"fa0d06d3294f303081fd5ffb9aeaff6a8e297901",role:"status"},this.helperText))}static get watchers(){return{value:[{handleValueChange:0}]}}};r.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('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } .sc-lmvz-select-h { display: block; font-family: var(--lmvz-global-font-family-default, Router); --lmvz-internal-select-floating-label-top-offset: 0.375rem; padding-top: var(--lmvz-internal-select-floating-label-top-offset); --lmvz-select-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-select-bg: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-select-bg-hover: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-select-text-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-select-label-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --lmvz-select-padding-x: var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-select-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-select-height: 40px; --lmvz-select-label-font-size: var(--lmvz-component-component-typography-body-sm-font-size, 0.75rem); --lmvz-select-label-top-offset: calc(var(--lmvz-internal-select-floating-label-top-offset) * -1); --lmvz-select-label-minimized-padding-x: 4px; --lmvz-select-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); --lmvz-select-helper-color: var(--lmvz-semantic-color-on-surface-input-secondary, #7a7a7a); --lmvz-select-focus-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --lmvz-select-error-color: var(--lmvz-semantic-color-status-on-danger, #e52a31); } .select-wrapper.sc-lmvz-select { position: relative; height: var(--lmvz-select-height); } label.sc-lmvz-select { position: absolute; top: 50%; left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-label-color); line-height: normal; white-space: nowrap; pointer-events: none; z-index: 2; transform: translateY(-50%); transform-origin: left top; transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, padding 0.2s ease-out; } label.assistive-label.sc-lmvz-select { opacity: 0; padding: 0; } label.floating-label.sc-lmvz-select { top: var(--lmvz-select-label-top-offset); transform: translateY(0) scale(0.85); left: calc(var(--lmvz-select-padding-x) - 2px); background-color: var(--lmvz-select-bg); padding: 0 var(--lmvz-select-label-minimized-padding-x); opacity: 1; font-weight: 500; } label.sc-lmvz-select > span[aria-hidden='true'].sc-lmvz-select, div[aria-hidden='true'].sc-lmvz-select > span.sc-lmvz-select:first-child > span[aria-hidden='true'].sc-lmvz-select { color: var(--lmvz-select-error-color); margin-left: 2px; display: inline-block; line-height: 0; vertical-align: middle; } div[aria-hidden].sc-lmvz-select { display: flex; align-items: center; gap: var(--lmvz-select-gap); height: 100%; padding: 0 var(--lmvz-select-padding-x); border-radius: var(--lmvz-select-radius); background-color: var(--lmvz-select-bg); cursor: pointer; position: relative; z-index: 1; transition: background-color 0.15s ease; } .sc-lmvz-select-h:not([disabled]) .select-wrapper.sc-lmvz-select:hover div[aria-hidden].sc-lmvz-select { background-color: var(--lmvz-select-bg-hover); } .select-wrapper.sc-lmvz-select:focus-within div[aria-hidden].sc-lmvz-select { outline: 2px solid var(--lmvz-select-focus-color); outline-offset: 2px; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { flex: 1 0 0; font-size: var(--lmvz-component-component-typography-body-md-font-size, 0.875rem); font-weight: var(--lmvz-global-font-weight-500, 500); color: var(--lmvz-select-text-color); line-height: 1.4; letter-spacing: var(--lmvz-component-body-md-letter-spacing, 0); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:last-child { flex-shrink: 0; display: flex; align-items: center; justify-content: center; } img.sc-lmvz-select { display: block; width: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); height: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } select.sc-lmvz-select { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; border: none; background: transparent; margin: 0; padding: 0; } [disabled].sc-lmvz-select-h .select-wrapper.sc-lmvz-select { opacity: var(--lmvz-select-disabled-opacity); pointer-events: none; cursor: not-allowed; } [role='status'].sc-lmvz-select { margin-top: 4px; padding-left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-helper-color); line-height: normal; }";export{r as lmvz_select}
@@ -1 +1 @@
1
- import{g as t,r as o,c as r,h as e,H as n}from"./p-saW7O-EW.js";import{c as a}from"./p-BfTCfPZ1.js";import{R as l,A as m}from"./p-Bkfdgg0T.js";import{E as i}from"./p-CN0JX9-m.js";import{i as s,f as d}from"./p-DIrAQ4IB.js";import"./p-B3dnXEPG.js";const v=class extends l{get el(){return t(this)}validationEl;inheritedAttributes={};formEl=null;formButtonEl=null;lmvzActivation;get ti(){return 0}scale="default";variant="secondary";disabled=!1;type="button";form;constructor(t){super(),o(this,t),this.lmvzActivation=r(this,"lmvzActivation"),this.addController(new m(this)),this.addController(new i(this,{localHandler:this.handleClick.bind(this),keys:["Enter"]}))}connectedCallback(){this.inheritedAttributes=s(this.el),super.connectedCallback()}renderHiddenButton(){const t=this.formEl=d(this.form,this.el);if(!t)return;const{formButtonEl:o}=this;if(null!==o&&t.contains(o))return;const r=this.formButtonEl=document.createElement("button");r.type="submit",r.style.display="none",r.disabled=this.disabled,t.appendChild(r)}submitForm(t){this.formEl&&this.formButtonEl&&(t.preventDefault(),this.formButtonEl.click())}handleClick=t=>{"submit"===this.type&&this.submitForm(t)};render(){return this.renderHiddenButton(),e(n,{key:"2897a943aca62561b0e78b5b3f2b7b85d76f4e78","aria-disabled":this.disabled?"true":null},e("button",{key:"92555224e33b00fb2602fdb2d19075145c0d9097",ref:t=>this.validationEl=t,disabled:this.disabled,class:a(this.variant,{[this.scale??""]:!!this.scale,disabled:this.disabled}),...this.inheritedAttributes},e("slot",{key:"637a03a73db84a63bf1e3165d57c474151f87783"})))}static get delegatesFocus(){return!0}};v.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('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-active, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #0f8acc); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: contents; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } ";export{v as lmvz_button}
1
+ import{g as t,r as o,c as r,h as e,H as n}from"./p-saW7O-EW.js";import{c as a}from"./p-BfTCfPZ1.js";import{R as l,A as m}from"./p-BxHnZA0M.js";import{E as i}from"./p-CN0JX9-m.js";import{i as s,f as d}from"./p-DIrAQ4IB.js";import"./p-DYaffOLo.js";const c=class extends l{get el(){return t(this)}validationEl;inheritedAttributes={};formEl=null;formButtonEl=null;lmvzActivation;get ti(){return 0}scale="default";variant="secondary";disabled=!1;type="button";form;constructor(t){super(),o(this,t),this.lmvzActivation=r(this,"lmvzActivation"),this.addController(new m(this)),this.addController(new i(this,{localHandler:this.handleClick.bind(this),keys:["Enter"]}))}connectedCallback(){this.inheritedAttributes=s(this.el),super.connectedCallback()}renderHiddenButton(){const t=this.formEl=d(this.form,this.el);if(!t)return;const{formButtonEl:o}=this;if(null!==o&&t.contains(o))return;const r=this.formButtonEl=document.createElement("button");r.type="submit",r.style.display="none",r.disabled=this.disabled,t.appendChild(r)}submitForm(t){this.formEl&&this.formButtonEl&&(t.preventDefault(),this.formButtonEl.click())}handleClick=t=>{"submit"===this.type&&this.submitForm(t)};render(){return this.renderHiddenButton(),e(n,{key:"ce82e749ffb9172a9421d303e0d7cc02de58dff9","aria-disabled":this.disabled?"true":null},e("button",{key:"acd0773f72e76139ec5495eb15fc3a5949029e40",ref:t=>this.validationEl=t,disabled:this.disabled,class:a(this.variant,{[this.scale??""]:!!this.scale,disabled:this.disabled}),...this.inheritedAttributes},e("slot",{key:"f519e0f82e68811a8831214e83e609bd9501fed0"})))}static get delegatesFocus(){return!0}};c.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('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-active, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #0f8acc); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: contents; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } ";export{c as lmvz_button}
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-05-18T08:47:43",
2
+ "timestamp": "2026-05-18T09:58:50",
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",
@@ -511,30 +511,114 @@
511
511
  "encapsulation": "shadow",
512
512
  "tag": "lmvz-chip",
513
513
  "readme": "# lmvz-chip\n\n\n",
514
- "docs": "",
515
- "docsTags": [],
514
+ "docs": "The chip displays a compact semantic status as a non-interactive UI element.",
515
+ "docsTags": [
516
+ {
517
+ "name": "slot",
518
+ "text": "default - Arbitrary inline content used as the chip label. Icons passed here may not be aligned or spaced with the text content properly."
519
+ },
520
+ {
521
+ "name": "slot",
522
+ "text": "before-text - Optional slot for content to be placed before the text content. Common use case is an icon."
523
+ },
524
+ {
525
+ "name": "slot",
526
+ "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."
527
+ }
528
+ ],
516
529
  "usage": {},
517
530
  "props": [
518
531
  {
519
- "name": "text",
520
- "type": "string",
532
+ "name": "size",
533
+ "type": "\"default\" | \"small\"",
521
534
  "complexType": {
522
- "original": "string",
523
- "resolved": "string",
524
- "references": {}
535
+ "original": "Chip.Size",
536
+ "resolved": "\"default\" | \"small\"",
537
+ "references": {
538
+ "Chip": {
539
+ "location": "import",
540
+ "path": "../../api/ds.constants.js",
541
+ "id": "src/api/ds.constants.ts::Chip",
542
+ "referenceLocation": "Chip"
543
+ }
544
+ }
525
545
  },
526
- "mutable": false,
527
- "attr": "text",
528
- "reflectToAttr": false,
529
- "docs": "",
530
- "docsTags": [],
546
+ "mutable": true,
547
+ "attr": "size",
548
+ "reflectToAttr": true,
549
+ "docs": "Size variant of the chip.\nInvalid values are normalized to `default` at runtime.",
550
+ "docsTags": [
551
+ {
552
+ "name": "default",
553
+ "text": "'default'"
554
+ }
555
+ ],
556
+ "default": "'default'",
531
557
  "values": [
532
558
  {
559
+ "value": "default",
560
+ "type": "string"
561
+ },
562
+ {
563
+ "value": "small",
533
564
  "type": "string"
534
565
  }
535
566
  ],
536
567
  "optional": false,
537
- "required": true,
568
+ "required": false,
569
+ "getter": false,
570
+ "setter": false
571
+ },
572
+ {
573
+ "name": "type",
574
+ "type": "\"active\" | \"error\" | \"neutral\" | \"success\" | \"warning\"",
575
+ "complexType": {
576
+ "original": "Chip.Type",
577
+ "resolved": "\"active\" | \"error\" | \"neutral\" | \"success\" | \"warning\"",
578
+ "references": {
579
+ "Chip": {
580
+ "location": "import",
581
+ "path": "../../api/ds.constants.js",
582
+ "id": "src/api/ds.constants.ts::Chip",
583
+ "referenceLocation": "Chip"
584
+ }
585
+ }
586
+ },
587
+ "mutable": true,
588
+ "attr": "type",
589
+ "reflectToAttr": true,
590
+ "docs": "Semantic variant of the chip.\nInvalid values are normalized to `active` at runtime.",
591
+ "docsTags": [
592
+ {
593
+ "name": "default",
594
+ "text": "'active'"
595
+ }
596
+ ],
597
+ "default": "'active'",
598
+ "values": [
599
+ {
600
+ "value": "active",
601
+ "type": "string"
602
+ },
603
+ {
604
+ "value": "error",
605
+ "type": "string"
606
+ },
607
+ {
608
+ "value": "neutral",
609
+ "type": "string"
610
+ },
611
+ {
612
+ "value": "success",
613
+ "type": "string"
614
+ },
615
+ {
616
+ "value": "warning",
617
+ "type": "string"
618
+ }
619
+ ],
620
+ "optional": false,
621
+ "required": false,
538
622
  "getter": false,
539
623
  "setter": false
540
624
  }
@@ -543,7 +627,20 @@
543
627
  "events": [],
544
628
  "listeners": [],
545
629
  "styles": [],
546
- "slots": [],
630
+ "slots": [
631
+ {
632
+ "name": "after-text",
633
+ "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."
634
+ },
635
+ {
636
+ "name": "before-text",
637
+ "docs": "Optional slot for content to be placed before the text content. Common use case is an icon."
638
+ },
639
+ {
640
+ "name": "default",
641
+ "docs": "Arbitrary inline content used as the chip label. Icons passed here may not be aligned or spaced with the text content properly."
642
+ }
643
+ ],
547
644
  "parts": [],
548
645
  "states": [],
549
646
  "dependents": [],
@@ -587,7 +684,7 @@
587
684
  "mutable": false,
588
685
  "attr": "lmvz-active-nav",
589
686
  "reflectToAttr": false,
590
- "docs": "",
687
+ "docs": "Id of the currently active primary navigation item.\nAlso determines which `connect-nav-*` secondary slot is shown.",
591
688
  "docsTags": [],
592
689
  "values": [
593
690
  {
@@ -684,7 +781,7 @@
684
781
  "mutable": false,
685
782
  "attr": "aria-label",
686
783
  "reflectToAttr": true,
687
- "docs": "",
784
+ "docs": "Accessible name for assistive technology.\nLeave unset for decorative icons so the icon stays hidden from the accessibility tree.",
688
785
  "docsTags": [],
689
786
  "values": [
690
787
  {
@@ -717,7 +814,7 @@
717
814
  "mutable": false,
718
815
  "attr": "icon",
719
816
  "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.",
817
+ "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
818
  "docsTags": [],
722
819
  "values": [
723
820
  {
@@ -743,7 +840,7 @@
743
840
  "mutable": false,
744
841
  "attr": "iconset",
745
842
  "reflectToAttr": true,
746
- "docs": "Optional custom icon iconset id. Must reference a registered custom iconset by its exported name.",
843
+ "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
844
  "docsTags": [],
748
845
  "values": [
749
846
  {
@@ -875,6 +972,11 @@
875
972
  "name": "--lmvz-icon-color",
876
973
  "annotation": "prop",
877
974
  "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."
975
+ },
976
+ {
977
+ "name": "--lmvz-icon-size",
978
+ "annotation": "prop",
979
+ "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
980
  }
879
981
  ],
880
982
  "slots": [],
@@ -4881,7 +4983,7 @@
4881
4983
  "docs": ""
4882
4984
  }
4883
4985
  ],
4884
- "docs": "",
4986
+ "docs": "Updates the value programmatically and emits `lmvzInput` with the new value.",
4885
4987
  "docsTags": []
4886
4988
  }
4887
4989
  ],
@@ -4897,7 +4999,7 @@
4897
4999
  },
4898
5000
  "cancelable": true,
4899
5001
  "composed": true,
4900
- "docs": "",
5002
+ "docs": "Emitted whenever the input value changes.\nEvent detail contains the current value.",
4901
5003
  "docsTags": []
4902
5004
  }
4903
5005
  ],
@@ -4939,15 +5041,15 @@
4939
5041
  "mutable": false,
4940
5042
  "attr": "role",
4941
5043
  "reflectToAttr": true,
4942
- "docs": "",
5044
+ "docs": "Accessibility role exposed by the host element.",
4943
5045
  "docsTags": [
4944
- {
4945
- "name": "readonly",
4946
- "text": ""
4947
- },
4948
5046
  {
4949
5047
  "name": "default",
4950
5048
  "text": "'menuitem'"
5049
+ },
5050
+ {
5051
+ "name": "readonly",
5052
+ "text": ""
4951
5053
  }
4952
5054
  ],
4953
5055
  "default": "'menuitem'",
@@ -4972,15 +5074,15 @@
4972
5074
  "mutable": false,
4973
5075
  "attr": "tabindex",
4974
5076
  "reflectToAttr": true,
4975
- "docs": "",
5077
+ "docs": "Keeps the host focusable for keyboard navigation inside `lmvz-header`.",
4976
5078
  "docsTags": [
4977
- {
4978
- "name": "readonly",
4979
- "text": ""
4980
- },
4981
5079
  {
4982
5080
  "name": "default",
4983
5081
  "text": "0"
5082
+ },
5083
+ {
5084
+ "name": "readonly",
5085
+ "text": ""
4984
5086
  }
4985
5087
  ],
4986
5088
  "default": "0",
@@ -5246,6 +5348,11 @@
5246
5348
  "docstring": "",
5247
5349
  "path": "src/api/index.d.ts"
5248
5350
  },
5351
+ "src/api/ds.constants.ts::Chip": {
5352
+ "declaration": "any",
5353
+ "docstring": "",
5354
+ "path": "src/api/ds.constants.ts"
5355
+ },
5249
5356
  "../../lib/ts/dist/validation/SVGString.d.ts::SVGString": {
5250
5357
  "declaration": "export type SVGString = string & Brand.Brand<'SVG'>;",
5251
5358
  "docstring": "",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lmvz-ds/components",
3
3
  "private": false,
4
- "version": "0.18.2",
4
+ "version": "0.19.0",
5
5
  "type": "module",
6
6
  "description": "The components of the design system",
7
7
  "author": "Patrick Nemenz <patrick.nemenz@adesso.at>",
@@ -5,6 +5,8 @@ export declare const textSizes: readonly ["xs", "sm", "md", "lg", "xl"];
5
5
  export declare const inputTypes: readonly ["text", "email", "password", "tel", "url", "search", "number"];
6
6
  export declare const iconSizes: readonly ["xs", "sm", "md", "lg", "inherit"];
7
7
  export declare const iconWeights: readonly ["thin", "medium", "bold", "filled"];
8
+ export declare const chipTypes: readonly ["active", "warning", "success", "error", "neutral"];
9
+ export declare const chipSizes: readonly ["default", "small"];
8
10
  export declare namespace LmvzDS {
9
11
  type Variant = (typeof variants)[number];
10
12
  type Size = (typeof sizes)[number];
@@ -16,6 +18,10 @@ export declare namespace Button {
16
18
  type Scale = (typeof scaleValues)[number];
17
19
  type Variant = LmvzDS.Variant;
18
20
  }
21
+ export declare namespace Chip {
22
+ type Type = (typeof chipTypes)[number];
23
+ type Size = (typeof chipSizes)[number];
24
+ }
19
25
  export declare namespace Icon {
20
26
  type Size = (typeof iconSizes)[number];
21
27
  type IconWeight = (typeof iconWeights)[number];
@@ -26,4 +32,3 @@ export declare namespace Input {
26
32
  type Inputmode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
27
33
  type Autocapitalize = 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
28
34
  }
29
- //# sourceMappingURL=ds.constants.d.ts.map
@@ -4,4 +4,3 @@ export declare class LmvzAction {
4
4
  private _onClick;
5
5
  render(): any;
6
6
  }
7
- //# sourceMappingURL=lmvz-action.d.ts.map
@@ -23,4 +23,3 @@ export declare class LmvzButton extends ReactiveControllerHost implements AriaVa
23
23
  private handleClick;
24
24
  render(): any;
25
25
  }
26
- //# sourceMappingURL=lmvz-button.d.ts.map
@@ -10,4 +10,3 @@ export declare class LmvzCard {
10
10
  private _onOverflowClick;
11
11
  render(): any;
12
12
  }
13
- //# sourceMappingURL=lmvz-card.d.ts.map
@@ -1,5 +1,20 @@
1
- export declare class LmvzChip {
2
- text: string;
1
+ import { type Chip } from '../../api/ds.constants.js';
2
+ import { type AriaValidationHost } from '../../utils/aria/aria-validation-controller';
3
+ import { ReactiveControllerHost } from '../../utils/reactive-controller-host';
4
+ export declare class LmvzChip extends ReactiveControllerHost implements AriaValidationHost {
5
+ private readonly ariaValidationController;
6
+ private beforeSlot?;
7
+ private defaultSlot?;
8
+ private afterSlot?;
9
+ el: HTMLElement;
10
+ get validationEl(): HTMLElement;
11
+ type: Chip.Type;
12
+ size: Chip.Size;
13
+ constructor();
14
+ normalizeType(value: string): void;
15
+ normalizeSize(value: string): void;
16
+ componentWillLoad(): void;
17
+ connectedCallback(): void;
18
+ private readonly checkContent;
3
19
  render(): any;
4
20
  }
5
- //# sourceMappingURL=lmvz-chip.d.ts.map
@@ -23,4 +23,3 @@ export declare class LmvzHeader extends ReactiveControllerHost implements AriaVa
23
23
  private delegateFocus;
24
24
  render(): any;
25
25
  }
26
- //# sourceMappingURL=lmvz-header.d.ts.map
@@ -23,4 +23,3 @@ 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
@@ -62,4 +62,3 @@ export declare class LmvzInput extends ReactiveControllerHost implements AriaVal
62
62
  private updateNativeError;
63
63
  render(): any;
64
64
  }
65
- //# sourceMappingURL=lmvz-input.d.ts.map
@@ -12,4 +12,3 @@ export declare class LmvzMenuItem extends ReactiveControllerHost implements Aria
12
12
  constructor();
13
13
  render(): any;
14
14
  }
15
- //# sourceMappingURL=lmvz-menuitem.d.ts.map
@@ -22,4 +22,3 @@ export declare class LmvzSelect extends ReactiveControllerHost implements AriaVa
22
22
  private handleChange;
23
23
  render(): any;
24
24
  }
25
- //# sourceMappingURL=lmvz-select.d.ts.map