@lmvz-ds/components 0.40.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cjs/{aria-validation-controller-DKNXjnQr.js → aria-validation-controller-BR7cnyq5.js} +1 -1
  3. package/cjs/{ds.constants-C6eKRAEu.js → ds.constants-pI-qkOYv.js} +2 -0
  4. package/cjs/{index-DWy4nuyZ.js → index-BUrb__KL.js} +52 -11
  5. package/cjs/index.cjs.js +2 -1
  6. package/cjs/lmvz-action-list.cjs.entry.js +2 -2
  7. package/cjs/lmvz-action.cjs.entry.js +1 -1
  8. package/cjs/lmvz-button-group.cjs.entry.js +2 -2
  9. package/cjs/lmvz-button_2.cjs.entry.js +4 -4
  10. package/cjs/lmvz-card.cjs.entry.js +59 -15
  11. package/cjs/lmvz-checkbox.cjs.entry.js +3 -3
  12. package/cjs/lmvz-chip.cjs.entry.js +4 -4
  13. package/cjs/lmvz-components.cjs.js +3 -3
  14. package/cjs/lmvz-datepicker.cjs.entry.js +3 -3
  15. package/cjs/lmvz-header_2.cjs.entry.js +3 -3
  16. package/cjs/lmvz-input.cjs.entry.js +6 -7
  17. package/cjs/lmvz-link.cjs.entry.js +3 -3
  18. package/cjs/lmvz-menuitem.cjs.entry.js +3 -3
  19. package/cjs/lmvz-message.cjs.entry.js +2 -2
  20. package/cjs/lmvz-modal.cjs.entry.js +3 -3
  21. package/cjs/lmvz-popover.cjs.entry.js +2 -2
  22. package/cjs/lmvz-radio.cjs.entry.js +3 -3
  23. package/cjs/lmvz-select.cjs.entry.js +3 -3
  24. package/cjs/lmvz-snackbar.cjs.entry.js +2 -2
  25. package/cjs/lmvz-spinner.cjs.entry.js +3 -3
  26. package/cjs/lmvz-tab.cjs.entry.js +2 -2
  27. package/cjs/lmvz-tabs.cjs.entry.js +2 -2
  28. package/cjs/lmvz-toggle.cjs.entry.js +3 -3
  29. package/cjs/loader.cjs.js +2 -2
  30. package/collection/api/ds.constants.js +1 -0
  31. package/collection/api/public-utils.js +3 -0
  32. package/collection/collection-manifest.json +2 -3
  33. package/collection/components/lmvz-card/lmvz-card.css +82 -194
  34. package/collection/components/lmvz-card/lmvz-card.js +131 -38
  35. package/collection/components/lmvz-checkbox/lmvz-checkbox.js +1 -1
  36. package/collection/components/lmvz-chip/lmvz-chip.js +1 -1
  37. package/collection/components/lmvz-datepicker/lmvz-datepicker.js +2 -2
  38. package/collection/components/lmvz-header/lmvz-header.js +1 -1
  39. package/collection/components/lmvz-icon/lmvz-icon.js +7 -6
  40. package/collection/components/lmvz-input/lmvz-input.js +14 -35
  41. package/collection/components/lmvz-link/lmvz-link.js +1 -1
  42. package/collection/components/lmvz-menuitem/lmvz-menuitem.js +1 -1
  43. package/collection/components/lmvz-message/lmvz-message.js +1 -1
  44. package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
  45. package/collection/components/lmvz-popover/lmvz-popover.js +1 -1
  46. package/collection/components/lmvz-radio/lmvz-radio.js +1 -1
  47. package/collection/components/lmvz-select/lmvz-select.js +1 -1
  48. package/collection/components/lmvz-snackbar/lmvz-snackbar.js +1 -1
  49. package/collection/components/lmvz-spinner/lmvz-spinner.js +7 -6
  50. package/collection/components/lmvz-tab/lmvz-tab.js +1 -1
  51. package/collection/components/lmvz-tabs/lmvz-tabs.js +1 -1
  52. package/collection/components/lmvz-toggle/lmvz-toggle.js +1 -1
  53. package/collection/index.js +1 -3
  54. package/components/index.js +1 -1
  55. package/components/lmvz-action-list.js +1 -1
  56. package/components/lmvz-action.js +1 -1
  57. package/components/lmvz-button-group.js +1 -1
  58. package/components/lmvz-button.js +1 -1
  59. package/components/lmvz-card.js +1 -1
  60. package/components/lmvz-checkbox.js +1 -1
  61. package/components/lmvz-chip.js +1 -1
  62. package/components/lmvz-datepicker.js +1 -1
  63. package/components/lmvz-header.js +1 -1
  64. package/components/lmvz-icon.js +1 -1
  65. package/components/lmvz-input.js +1 -1
  66. package/components/lmvz-link.js +1 -1
  67. package/components/lmvz-menuitem.js +1 -1
  68. package/components/lmvz-message.js +1 -1
  69. package/components/lmvz-modal.js +1 -1
  70. package/components/lmvz-popover.js +1 -1
  71. package/components/lmvz-radio.js +1 -1
  72. package/components/lmvz-select.js +1 -1
  73. package/components/lmvz-snackbar.js +1 -1
  74. package/components/lmvz-spinner.js +1 -1
  75. package/components/lmvz-tab.js +1 -1
  76. package/components/lmvz-tabs.js +1 -1
  77. package/components/lmvz-toggle.js +1 -1
  78. package/components/p-Buw_s-9k.js +1 -0
  79. package/components/p-CME20cTM.js +1 -0
  80. package/components/{p-DsTgD0_a.js → p-CPsPpCPH.js} +1 -1
  81. package/components/{p--mU29mrX.js → p-CUSmZDCK.js} +1 -1
  82. package/components/p-CbxNLroR.js +1 -0
  83. package/components/{p-DXFoXTse.js → p-CeGgx3Rl.js} +1 -1
  84. package/components/{p-DyQ1GbaN.js → p-D0S1O-Op.js} +1 -1
  85. package/components/{p-sACbyedu.js → p-DCFz070C.js} +1 -1
  86. package/components/p-DCYK_qaZ.js +1 -0
  87. package/components/{p-niXjuPxe.js → p-Wp9d5O3R.js} +1 -1
  88. package/components/{p-D_mff3n7.js → p-ctF-ydws.js} +1 -1
  89. package/components/{p-Bc5MM0zh.js → p-g_Ehzzvy.js} +1 -1
  90. package/esm/{aria-validation-controller-Dwv7n0rk.js → aria-validation-controller-uMqDgutI.js} +1 -1
  91. package/esm/{ds.constants-0ctLESas.js → ds.constants-Buw_s-9k.js} +2 -1
  92. package/esm/{index-DVab4vzV.js → index-wQ10Syko.js} +52 -11
  93. package/esm/index.js +1 -1
  94. package/esm/lmvz-action-list.entry.js +2 -2
  95. package/esm/lmvz-action.entry.js +1 -1
  96. package/esm/lmvz-button-group.entry.js +2 -2
  97. package/esm/lmvz-button_2.entry.js +4 -4
  98. package/esm/lmvz-card.entry.js +59 -15
  99. package/esm/lmvz-checkbox.entry.js +3 -3
  100. package/esm/lmvz-chip.entry.js +4 -4
  101. package/esm/lmvz-components.js +4 -4
  102. package/esm/lmvz-datepicker.entry.js +3 -3
  103. package/esm/lmvz-header_2.entry.js +3 -3
  104. package/esm/lmvz-input.entry.js +6 -7
  105. package/esm/lmvz-link.entry.js +3 -3
  106. package/esm/lmvz-menuitem.entry.js +3 -3
  107. package/esm/lmvz-message.entry.js +2 -2
  108. package/esm/lmvz-modal.entry.js +3 -3
  109. package/esm/lmvz-popover.entry.js +2 -2
  110. package/esm/lmvz-radio.entry.js +3 -3
  111. package/esm/lmvz-select.entry.js +3 -3
  112. package/esm/lmvz-snackbar.entry.js +2 -2
  113. package/esm/lmvz-spinner.entry.js +3 -3
  114. package/esm/lmvz-tab.entry.js +2 -2
  115. package/esm/lmvz-tabs.entry.js +2 -2
  116. package/esm/lmvz-toggle.entry.js +3 -3
  117. package/esm/loader.js +3 -3
  118. package/hydrate/index.js +115 -53
  119. package/hydrate/index.mjs +115 -53
  120. package/lmvz-components/index.esm.js +1 -1
  121. package/lmvz-components/lmvz-components.esm.js +1 -1
  122. package/lmvz-components/p-01ac17f8.entry.js +1 -0
  123. package/lmvz-components/{p-e35f49a1.entry.js → p-11ccd914.entry.js} +1 -1
  124. package/lmvz-components/{p-143e9621.entry.js → p-1595cad0.entry.js} +1 -1
  125. package/lmvz-components/{p-7cbfbc88.entry.js → p-253e56c9.entry.js} +1 -1
  126. package/lmvz-components/{p-773e9d95.entry.js → p-2ae64b73.entry.js} +1 -1
  127. package/lmvz-components/{p-93b781ca.entry.js → p-3606c1db.entry.js} +1 -1
  128. package/lmvz-components/{p-f911691c.entry.js → p-3de59694.entry.js} +1 -1
  129. package/lmvz-components/p-457b10e1.entry.js +1 -0
  130. package/lmvz-components/{p-d73bb7fd.entry.js → p-5e8f0b43.entry.js} +1 -1
  131. package/lmvz-components/{p-8ba6ec19.entry.js → p-7a018765.entry.js} +1 -1
  132. package/lmvz-components/{p-335b3867.entry.js → p-7d80a49d.entry.js} +1 -1
  133. package/lmvz-components/{p-ebad823c.entry.js → p-84d2b2e5.entry.js} +1 -1
  134. package/lmvz-components/{p-Wi9d2-w9.js → p-BbeaVKMa.js} +1 -1
  135. package/lmvz-components/p-Buw_s-9k.js +1 -0
  136. package/lmvz-components/{p-41286514.entry.js → p-a2f03112.entry.js} +1 -1
  137. package/lmvz-components/p-adb37d60.entry.js +1 -0
  138. package/lmvz-components/{p-edec4d09.entry.js → p-b050450d.entry.js} +1 -1
  139. package/lmvz-components/{p-efd9d50e.entry.js → p-b0f3758f.entry.js} +1 -1
  140. package/lmvz-components/{p-f24f5207.entry.js → p-b123e33d.entry.js} +1 -1
  141. package/lmvz-components/{p-304c7554.entry.js → p-ddf5d866.entry.js} +1 -1
  142. package/lmvz-components/p-e40f174d.entry.js +1 -0
  143. package/lmvz-components/{p-220e455e.entry.js → p-edb35b52.entry.js} +1 -1
  144. package/lmvz-components/{p-87f21ac9.entry.js → p-ef6e12ee.entry.js} +1 -1
  145. package/lmvz-components/{p-316dd61a.entry.js → p-f6ac0f0d.entry.js} +1 -1
  146. package/lmvz-components/p-wQ10Syko.js +3 -0
  147. package/loader/index.d.ts +1 -1
  148. package/manifest.json +243 -158
  149. package/package.json +5 -1
  150. package/types/api/ds.constants.d.ts +1 -0
  151. package/types/api/ds.types.d.ts +4 -0
  152. package/types/api/public-utils.d.ts +8 -0
  153. package/types/components/lmvz-card/lmvz-card.d.ts +17 -6
  154. package/types/components/lmvz-icon/lmvz-icon.d.ts +1 -1
  155. package/types/components/lmvz-input/lmvz-input.d.ts +2 -3
  156. package/types/components/lmvz-spinner/lmvz-spinner.d.ts +1 -1
  157. package/types/components.d.ts +68 -43
  158. package/types/index.d.ts +1 -8
  159. package/types/stencil-public-runtime.d.ts +12 -0
  160. package/collection/integration/header-integration/header-integration.js +0 -51
  161. package/components/p-0ctLESas.js +0 -1
  162. package/components/p-DSDBThqb.js +0 -1
  163. package/components/p-DXhP6UeF.js +0 -1
  164. package/components/p-DbBJxuBm.js +0 -1
  165. package/lmvz-components/p-0ctLESas.js +0 -1
  166. package/lmvz-components/p-27e8b4fa.entry.js +0 -1
  167. package/lmvz-components/p-6aae1df9.entry.js +0 -1
  168. package/lmvz-components/p-743616c0.entry.js +0 -1
  169. package/lmvz-components/p-DVab4vzV.js +0 -2
  170. package/lmvz-components/p-c884c76e.entry.js +0 -1
@@ -1 +1 @@
1
- import{p as t,H as e,h as s,d as i,t as n}from"./p-DbBJxuBm.js";import{a,i as o}from"./p-BDonpCG8.js";import{v as r}from"./p-0ctLESas.js";import"./p-BPa0FHVO.js";import{d as c,e as d,h,j as l,k as u,c as m,l as f}from"./p-DJLdOjL4.js";const p=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}get el(){return this}actionsSlot;validationMessageCache=[];actionsStateObserver;stacked=!1;get primaryEnabledAction(){return this.enabledButtons.find(c)??this.enabledButtons[0]}get hasActions(){return this.assignedButtons.some((t=>d(t)&&h(t)&&!l(t)))}componentDidLoad(){this.handleActionsSlotChange()}disconnectedCallback(){this.actionsStateObserver?.disconnect()}get assignedElements(){return this.actionsSlot?.assignedElements({flatten:!0})??[]}get assignedButtons(){return this.assignedElements.filter(h)}get visibleButtons(){return this.assignedButtons.filter(d)}get enabledButtons(){return this.visibleButtons.filter((t=l,(...e)=>{const s=t(...e);return a(s)?s.then((t=>!t)):!s}));var t}getActionValidationResult(){if(!this.visibleButtons.length)return[];const t=this.visibleButtons.filter(c),e=this.visibleButtons.filter(u),s=[],i=this.visibleButtons;if(1!==t.length&&s.push("LmvzButtonGroup actions slot should contain exactly one primary action."),e.length>1&&s.push(`LmvzButtonGroup actions slot should contain at most one secondary action (received ${e.length})`),t.length){const n=e[0];0!==i.indexOf(t[0])&&s.push("Primary action should be the first focusable element in the actions slot (i.e. first child of the actions slot)."),n&&1!==i.indexOf(n)&&s.push("Secondary action should be the second focusable element in the actions slot (i.e. immediately after the primary button).")}else e.length&&0!==i.indexOf(e[0])&&s.push("Secondary action should be the first focusable element in the actions slot when no primary action is present (i.e. first child of the actions slot).");return s}handleActionsSlotChange=()=>{this.observeActionState(),this.syncActionsState()};observeActionState(){"undefined"!=typeof MutationObserver&&(this.actionsStateObserver?.disconnect(),this.assignedButtons.length&&(this.actionsStateObserver=new MutationObserver((()=>{this.syncActionsState()})),this.assignedButtons.forEach((t=>{this.actionsStateObserver?.observe(t,{attributes:!0,attributeFilter:["disabled","hidden","variant"]})}))))}syncActionsState(){this.assignedElements.forEach((t=>{["LMVZ-BUTTON","BUTTON"].includes(t.tagName.toUpperCase())||(t.hasAttribute("hidden")||t.setAttribute("hidden",""),"true"!==t.getAttribute("aria-hidden")&&t.setAttribute("aria-hidden","true"))})),this.checkActions();const t=this.visibleButtons,e=t.length>0&&t.some((t=>c(t)||u(t)));t.length>0&&!e?this.el.setAttribute("data-only-tertiary",""):this.el.removeAttribute("data-only-tertiary"),this.visibleButtons.forEach(((t,e)=>{const s=r[e]??"tertiary";t&&(m(t)?t.getAttribute("variant")||t.variant||t.setAttribute("variant",s):t.classList.add(s))}));const s=this.visibleButtons.find((t=>"tertiary"===t.getAttribute("variant")));this.visibleButtons.forEach((t=>{t===s?t.setAttribute("data-first-tertiary",""):t.removeAttribute("data-first-tertiary")})),this.focusPrimaryAction()}focusPrimaryAction(){const t=this.primaryEnabledAction;t&&"undefined"!=typeof window&&window.requestAnimationFrame((()=>{f(t)&&t.focus()}))}checkActions(){if(!o())return;const t=this.getActionValidationResult();t.length&&t.forEach((t=>{this.validationMessageCache.includes(t)||(console.warn(t),this.validationMessageCache.push(t))}))}render(){return s(i,{key:"3e8ce38f7e83e201e47d31579f22161ff36247b1"},s("slot",{key:"bc953d19b333f51c5f5c5ba86be3a85d155a29d1",ref:t=>this.actionsSlot=t,onSlotchange:this.handleActionsSlotChange}))}static get style(){return":host{display:flex;flex-flow:row-reverse wrap;gap:var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));font:var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router);}:host([stacked]){flex-flow:column nowrap;align-items:stretch;padding:0}:host([stacked]) ::slotted(*){display:block;width:100%}::slotted([hidden]){display:none !important}:host(:not([data-only-tertiary],[stacked])) ::slotted([data-first-tertiary]){margin-inline-end:auto}:host([data-only-tertiary]:not([stacked])){justify-content:flex-end}"}},[769,"lmvz-button-group",{stacked:[516],primaryEnabledAction:[2064],hasActions:[2052,"has-actions"]}]);function y(){"undefined"!=typeof customElements&&["lmvz-button-group"].forEach((t=>{"lmvz-button-group"===t&&(customElements.get(n(t))||customElements.define(n(t),p))}))}export{p as L,y as d}
1
+ import{p as t,H as e,h as s,d as i,t as n}from"./p-DCYK_qaZ.js";import{a,i as o}from"./p-BDonpCG8.js";import{v as r}from"./p-Buw_s-9k.js";import"./p-BPa0FHVO.js";import{d as c,e as d,h,j as l,k as u,c as m,l as f}from"./p-DJLdOjL4.js";const p=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow()}get el(){return this}actionsSlot;validationMessageCache=[];actionsStateObserver;stacked=!1;get primaryEnabledAction(){return this.enabledButtons.find(c)??this.enabledButtons[0]}get hasActions(){return this.assignedButtons.some((t=>d(t)&&h(t)&&!l(t)))}componentDidLoad(){this.handleActionsSlotChange()}disconnectedCallback(){this.actionsStateObserver?.disconnect()}get assignedElements(){return this.actionsSlot?.assignedElements({flatten:!0})??[]}get assignedButtons(){return this.assignedElements.filter(h)}get visibleButtons(){return this.assignedButtons.filter(d)}get enabledButtons(){return this.visibleButtons.filter((t=l,(...e)=>{const s=t(...e);return a(s)?s.then((t=>!t)):!s}));var t}getActionValidationResult(){if(!this.visibleButtons.length)return[];const t=this.visibleButtons.filter(c),e=this.visibleButtons.filter(u),s=[],i=this.visibleButtons;if(1!==t.length&&s.push("LmvzButtonGroup actions slot should contain exactly one primary action."),e.length>1&&s.push(`LmvzButtonGroup actions slot should contain at most one secondary action (received ${e.length})`),t.length){const n=e[0];0!==i.indexOf(t[0])&&s.push("Primary action should be the first focusable element in the actions slot (i.e. first child of the actions slot)."),n&&1!==i.indexOf(n)&&s.push("Secondary action should be the second focusable element in the actions slot (i.e. immediately after the primary button).")}else e.length&&0!==i.indexOf(e[0])&&s.push("Secondary action should be the first focusable element in the actions slot when no primary action is present (i.e. first child of the actions slot).");return s}handleActionsSlotChange=()=>{this.observeActionState(),this.syncActionsState()};observeActionState(){"undefined"!=typeof MutationObserver&&(this.actionsStateObserver?.disconnect(),this.assignedButtons.length&&(this.actionsStateObserver=new MutationObserver((()=>{this.syncActionsState()})),this.assignedButtons.forEach((t=>{this.actionsStateObserver?.observe(t,{attributes:!0,attributeFilter:["disabled","hidden","variant"]})}))))}syncActionsState(){this.assignedElements.forEach((t=>{["LMVZ-BUTTON","BUTTON"].includes(t.tagName.toUpperCase())||(t.hasAttribute("hidden")||t.setAttribute("hidden",""),"true"!==t.getAttribute("aria-hidden")&&t.setAttribute("aria-hidden","true"))})),this.checkActions();const t=this.visibleButtons,e=t.length>0&&t.some((t=>c(t)||u(t)));t.length>0&&!e?this.el.setAttribute("data-only-tertiary",""):this.el.removeAttribute("data-only-tertiary"),this.visibleButtons.forEach(((t,e)=>{const s=r[e]??"tertiary";t&&(m(t)?t.getAttribute("variant")||t.variant||t.setAttribute("variant",s):t.classList.add(s))}));const s=this.visibleButtons.find((t=>"tertiary"===t.getAttribute("variant")));this.visibleButtons.forEach((t=>{t===s?t.setAttribute("data-first-tertiary",""):t.removeAttribute("data-first-tertiary")})),this.focusPrimaryAction()}focusPrimaryAction(){const t=this.primaryEnabledAction;t&&"undefined"!=typeof window&&window.requestAnimationFrame((()=>{f(t)&&t.focus()}))}checkActions(){if(!o())return;const t=this.getActionValidationResult();t.length&&t.forEach((t=>{this.validationMessageCache.includes(t)||(console.warn(t),this.validationMessageCache.push(t))}))}render(){return s(i,{key:"3e8ce38f7e83e201e47d31579f22161ff36247b1"},s("slot",{key:"bc953d19b333f51c5f5c5ba86be3a85d155a29d1",ref:t=>this.actionsSlot=t,onSlotchange:this.handleActionsSlotChange}))}static get style(){return":host{display:flex;flex-flow:row-reverse wrap;gap:var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));font:var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router);}:host([stacked]){flex-flow:column nowrap;align-items:stretch;padding:0}:host([stacked]) ::slotted(*){display:block;width:100%}::slotted([hidden]){display:none !important}:host(:not([data-only-tertiary],[stacked])) ::slotted([data-first-tertiary]){margin-inline-end:auto}:host([data-only-tertiary]:not([stacked])){justify-content:flex-end}"}},[769,"lmvz-button-group",{stacked:[516],primaryEnabledAction:[2064],hasActions:[2052,"has-actions"]}]);function y(){"undefined"!=typeof customElements&&["lmvz-button-group"].forEach((t=>{"lmvz-button-group"===t&&(customElements.get(n(t))||customElements.define(n(t),p))}))}export{p as L,y as d}
@@ -1 +1 @@
1
- import{p as e,h as o,d as r,t}from"./p-DbBJxuBm.js";import{f as s,g as a}from"./p-0ctLESas.js";import{A as l}from"./p-sACbyedu.js";import{R as c}from"./p-DXFoXTse.js";import{i as n}from"./p-BDonpCG8.js";const i=e(class extends c{ariaValidationController=new l(this);beforeSlot;defaultSlot;afterSlot;get el(){return this}get validationEl(){return this.el}type="active";size="default";constructor(e){super(!1),!1!==e&&this.__registerHost(),this.__attachShadow(),this.addController(this.ariaValidationController)}normalizeType(e){const o=s.includes(e)?e:"active";o!==this.type&&(this.type=o)}normalizeSize(e){const o=a.includes(e)?e:"default";o!==this.size&&(this.size=o)}componentWillLoad(){this.normalizeType(this.type),this.normalizeSize(this.size),super.componentWillLoad()}connectedCallback(){super.connectedCallback(),this.checkContent()}checkContent=function(e){let o;return()=>{void 0!==o&&window.clearTimeout(o),o=window.setTimeout((()=>{e(),o=void 0}),500)}}((()=>{n()&&([...this.beforeSlot?.assignedElements()??[],...this.defaultSlot?.assignedNodes()??[],...this.afterSlot?.assignedElements()??[]].length||console.warn("LmvzChip has no assigned content. Please add content to the default slot or the before-text/after-text slots."))}));render(){return o(r,{key:"63581b0c567d208b200464e9985ac32d97c1ad43",type:this.type,size:this.size},o("slot",{key:"7aa740cc80b400893dcbe7021d5513d3f1ca476b",name:"before-text",ref:e=>this.beforeSlot=e,onSlotchange:()=>this.checkContent()}),o("span",{key:"da5b9e272becef812b4914bf25b451da16bb9012",class:"content-overflow-wrapper"},o("slot",{key:"a925dcd383c86dbea63790b5623d159472b6684c",ref:e=>this.defaultSlot=e,onSlotchange:()=>this.checkContent()})),o("slot",{key:"e018eafb75b85068c992e9f91c4fac89a4c95153",name:"after-text",ref:e=>this.afterSlot=e,onSlotchange:()=>this.checkContent()}))}static get watchers(){return{type:[{normalizeType:0}],size:[{normalizeSize:0}]}}static get style(){return":host { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-neutral-subtle, #d4d4d4); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-neutral, #fcfcfc); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-neutral, #000000); padding-block: var(--lmvz-dimension-6-4, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)); padding-inline: var(--lmvz-dimension-10-8, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); border: 1px solid var(--lmvz-chip-border-color); border-radius: var(--lmvz-semantic-border-radius-round, 999px); font: var(--lmvz-typography-body-xs-strong, 500 clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem) / 1.5 Router); background-color: var(--lmvz-chip-background-color); color: var(--lmvz-chip-foreground-color); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-dimension-6-4, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)); box-sizing: border-box; max-width: 100%; overflow: hidden; white-space: nowrap; > .content-overflow-wrapper { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } :host([size='small']) { padding-block: var(--lmvz-dimension-4-2, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); padding-inline: var(--lmvz-dimension-8-6, clamp(0.38rem, 0.34rem + 0.13vw, 0.5rem)); font: var(--lmvz-typography-body-2xs-strong, 500 clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem) / 1.5 Router); gap: var(--lmvz-dimension-4-2, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); } ::slotted(*) { display: inline; white-space: inherit; } ::slotted(lmvz-icon) { --lmvz-component-color: var(--lmvz-chip-foreground-color); --lmvz-component-size: var(--lmvz-dimension-14-12, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } :host([size='small']) ::slotted(lmvz-icon) { --lmvz-component-size: var(--lmvz-dimension-12-10, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)); } :host([type='active']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-active-subtle, #7fccf5); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-active, #f6fbfe); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); } :host([type='warning']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-warning-subtle, #e6b000); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-warning, #ffeeb8); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-warning, #614a00); } :host([type='success']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-success-subtle, #4eb6a9); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-success, #c2e6e1); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-success, #28625b); } :host([type='error']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-danger-subtle, #e8454b); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-danger, #fbdfe0); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-danger, #a31419); } :host([type='neutral']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-neutral-subtle, #d4d4d4); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-neutral, #fcfcfc); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-neutral, #000000); } "}},[769,"lmvz-chip",{type:[1537],size:[1537]},void 0,{type:[{normalizeType:0}],size:[{normalizeSize:0}]}]);function m(){"undefined"!=typeof customElements&&["lmvz-chip"].forEach((e=>{"lmvz-chip"===e&&(customElements.get(t(e))||customElements.define(t(e),i))}))}export{i as L,m as d}
1
+ import{p as e,h as o,d as r,t}from"./p-DCYK_qaZ.js";import{f as a,g as s}from"./p-Buw_s-9k.js";import{A as l}from"./p-DCFz070C.js";import{R as c}from"./p-CeGgx3Rl.js";import{i as n}from"./p-BDonpCG8.js";const i=e(class extends c{ariaValidationController=new l(this);beforeSlot;defaultSlot;afterSlot;get el(){return this}get validationEl(){return this.el}type="active";size="default";constructor(e){super(!1),!1!==e&&this.__registerHost(),this.__attachShadow(),this.addController(this.ariaValidationController)}normalizeType(e){const o=a.includes(e)?e:"active";o!==this.type&&(this.type=o)}normalizeSize(e){const o=s.includes(e)?e:"default";o!==this.size&&(this.size=o)}componentWillLoad(){this.normalizeType(this.type),this.normalizeSize(this.size),super.componentWillLoad()}connectedCallback(){super.connectedCallback(),this.checkContent()}checkContent=function(e){let o;return()=>{void 0!==o&&window.clearTimeout(o),o=window.setTimeout((()=>{e(),o=void 0}),500)}}((()=>{n()&&([...this.beforeSlot?.assignedElements()??[],...this.defaultSlot?.assignedNodes()??[],...this.afterSlot?.assignedElements()??[]].length||console.warn("LmvzChip has no assigned content. Please add content to the default slot or the before-text/after-text slots."))}));render(){return o(r,{key:"2dcc9ccddd24f1db7ec65aeed24a1646cee80c76",type:this.type,size:this.size},o("slot",{key:"756d785d9bdfdaba8c35641afee0743ff343a184",name:"before-text",ref:e=>this.beforeSlot=e,onSlotchange:()=>this.checkContent()}),o("span",{key:"3df490bd3149acca605da7d7910be11b80585adf",class:"content-overflow-wrapper"},o("slot",{key:"5c252427faffaea5a95618df4afced110ff15703",ref:e=>this.defaultSlot=e,onSlotchange:()=>this.checkContent()})),o("slot",{key:"493c1ecd319d9afe0896339320cad67aa37289ab",name:"after-text",ref:e=>this.afterSlot=e,onSlotchange:()=>this.checkContent()}))}static get watchers(){return{type:[{normalizeType:0}],size:[{normalizeSize:0}]}}static get style(){return":host { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-neutral-subtle, #d4d4d4); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-neutral, #fcfcfc); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-neutral, #000000); padding-block: var(--lmvz-dimension-6-4, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)); padding-inline: var(--lmvz-dimension-10-8, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); border: 1px solid var(--lmvz-chip-border-color); border-radius: var(--lmvz-semantic-border-radius-round, 999px); font: var(--lmvz-typography-body-xs-strong, 500 clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem) / 1.5 Router); background-color: var(--lmvz-chip-background-color); color: var(--lmvz-chip-foreground-color); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-dimension-6-4, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)); box-sizing: border-box; max-width: 100%; overflow: hidden; white-space: nowrap; > .content-overflow-wrapper { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } :host([size='small']) { padding-block: var(--lmvz-dimension-4-2, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); padding-inline: var(--lmvz-dimension-8-6, clamp(0.38rem, 0.34rem + 0.13vw, 0.5rem)); font: var(--lmvz-typography-body-2xs-strong, 500 clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem) / 1.5 Router); gap: var(--lmvz-dimension-4-2, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); } ::slotted(*) { display: inline; white-space: inherit; } ::slotted(lmvz-icon) { --lmvz-component-color: var(--lmvz-chip-foreground-color); --lmvz-component-size: var(--lmvz-dimension-14-12, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } :host([size='small']) ::slotted(lmvz-icon) { --lmvz-component-size: var(--lmvz-dimension-12-10, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)); } :host([type='active']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-active-subtle, #7fccf5); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-active, #f6fbfe); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); } :host([type='warning']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-warning-subtle, #e6b000); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-warning, #ffeeb8); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-warning, #614a00); } :host([type='success']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-success-subtle, #4eb6a9); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-success, #c2e6e1); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-success, #28625b); } :host([type='error']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-danger-subtle, #e8454b); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-danger, #fbdfe0); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-danger, #a31419); } :host([type='neutral']) { --lmvz-chip-border-color: var(--lmvz-semantic-color-status-on-neutral-subtle, #d4d4d4); --lmvz-chip-background-color: var(--lmvz-semantic-color-status-neutral, #fcfcfc); --lmvz-chip-foreground-color: var(--lmvz-semantic-color-status-on-neutral, #000000); } "}},[769,"lmvz-chip",{type:[1537],size:[1537]},void 0,{type:[{normalizeType:0}],size:[{normalizeSize:0}]}]);function m(){"undefined"!=typeof customElements&&["lmvz-chip"].forEach((e=>{"lmvz-chip"===e&&(customElements.get(t(e))||customElements.define(t(e),i))}))}export{i as L,m as d}
@@ -1 +1 @@
1
- import{p as t,H as e,c as n,h as o,d as r,t as i}from"./p-DbBJxuBm.js";import{i as a}from"./p-BDonpCG8.js";import{i as s}from"./p-DyQ1GbaN.js";import{a as l}from"./p--mU29mrX.js";import{w as c,a as u}from"./p-DZj20TV1.js";import{h as f,g as d,m as p,w as m,b as h,l as v}from"./p-DJLdOjL4.js";const y=Math.min,g=Math.max,w=Math.round,x=t=>({x:t,y:t}),b={left:"right",right:"left",bottom:"top",top:"bottom"};function z(t,e,n){return g(t,y(e,n))}function A(t,e){return"function"==typeof t?t(e):t}function C(t){return t.split("-")[0]}function E(t){return t.split("-")[1]}function k(t){return"x"===t?"y":"x"}function S(t){return"y"===t?"height":"width"}function D(t){const e=t[0];return"t"===e||"b"===e?"y":"x"}function F(t){return k(D(t))}function O(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const R=["left","right"],j=["right","left"],L=["top","bottom"],P=["bottom","top"];function T(t){const e=C(t);return b[e]+t.slice(e.length)}function B(t){const{x:e,y:n,width:o,height:r}=t;return{width:o,height:r,top:n,left:e,right:e+o,bottom:n+r,x:e,y:n}}function M(t,e,n){let{reference:o,floating:r}=t;const i=D(e),a=F(e),s=S(a),l=C(e),c="y"===i,u=o.x+o.width/2-r.width/2,f=o.y+o.height/2-r.height/2,d=o[s]/2-r[s]/2;let p;switch(l){case"top":p={x:u,y:o.y-r.height};break;case"bottom":p={x:u,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:f};break;case"left":p={x:o.x-r.width,y:f};break;default:p={x:o.x,y:o.y}}switch(E(e)){case"start":p[a]-=d*(n&&c?-1:1);break;case"end":p[a]+=d*(n&&c?-1:1)}return p}async function $(t,e){var n;void 0===e&&(e={});const{x:o,y:r,platform:i,rects:a,elements:s,strategy:l}=t,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:d=!1,padding:p=0}=A(e,t),m=function(t){return"number"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}(p),h=s[d?"floating"===f?"reference":"floating":f],v=B(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(h)))||n?h:h.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),y="floating"===f?{x:o,y:r,width:a.floating.width,height:a.floating.height}:a.reference,g=await(null==i.getOffsetParent?void 0:i.getOffsetParent(s.floating)),w=await(null==i.isElement?void 0:i.isElement(g))&&await(null==i.getScale?void 0:i.getScale(g))||{x:1,y:1},x=B(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:y,offsetParent:g,strategy:l}):y);return{top:(v.top-x.top+m.top)/w.y,bottom:(x.bottom-v.bottom+m.bottom)/w.y,left:(v.left-x.left+m.left)/w.x,right:(x.right-v.right+m.right)/w.x}}const H=new Set(["left","top"]);function N(){return"undefined"!=typeof window}function G(t){return X(t)?(t.nodeName||"").toLowerCase():"#document"}function J(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function V(t){var e;return null==(e=(X(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function X(t){return!!N()&&(t instanceof Node||t instanceof J(t).Node)}function I(t){return!!N()&&(t instanceof Element||t instanceof J(t).Element)}function Q(t){return!!N()&&(t instanceof HTMLElement||t instanceof J(t).HTMLElement)}function U(t){return!(!N()||"undefined"==typeof ShadowRoot)&&(t instanceof ShadowRoot||t instanceof J(t).ShadowRoot)}function Y(t){const{overflow:e,overflowX:n,overflowY:o,display:r}=rt(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&"inline"!==r&&"contents"!==r}function Z(t){return/^(table|td|th)$/.test(G(t))}function _(t){try{if(t.matches(":popover-open"))return!0}catch(t){}try{return t.matches(":modal")}catch(t){return!1}}const q=/transform|translate|scale|rotate|perspective|filter/,K=/paint|layout|strict|content/,W=t=>!!t&&"none"!==t;let tt;function et(t){const e=I(t)?rt(t):t;return W(e.transform)||W(e.translate)||W(e.scale)||W(e.rotate)||W(e.perspective)||!nt()&&(W(e.backdropFilter)||W(e.filter))||q.test(e.willChange||"")||K.test(e.contain||"")}function nt(){return null==tt&&(tt="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),tt}function ot(t){return/^(html|body|#document)$/.test(G(t))}function rt(t){return J(t).getComputedStyle(t)}function it(t){return I(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function at(t){if("html"===G(t))return t;const e=t.assignedSlot||t.parentNode||U(t)&&t.host||V(t);return U(e)?e.host:e}function st(t){const e=at(t);return ot(e)?t.ownerDocument?t.ownerDocument.body:t.body:Q(e)&&Y(e)?e:st(e)}function lt(t,e){var n;void 0===e&&(e=[]);const o=st(t),r=o===(null==(n=t.ownerDocument)?void 0:n.body),i=J(o);return r?e.concat(i,i.visualViewport||[],Y(o)?o:[],[]):e.concat(o,lt(o,[]))}function ct(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function ut(t){const e=rt(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const r=Q(t),i=r?t.offsetWidth:n,a=r?t.offsetHeight:o,s=w(n)!==i||w(o)!==a;return s&&(n=i,o=a),{width:n,height:o,$:s}}function ft(t){return I(t)?t:t.contextElement}function dt(t){const e=ft(t);if(!Q(e))return x(1);const n=e.getBoundingClientRect(),{width:o,height:r,$:i}=ut(e);let a=(i?w(n.width):n.width)/o,s=(i?w(n.height):n.height)/r;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const pt=x(0);function mt(t){const e=J(t);return nt()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:pt}function ht(t,e,n,o){void 0===e&&(e=!1),void 0===n&&(n=!1);const r=t.getBoundingClientRect(),i=ft(t);let a=x(1);e&&(o?I(o)&&(a=dt(o)):a=dt(t));const s=function(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==J(t))&&e}(i,n,o)?mt(i):x(0);let l=(r.left+s.x)/a.x,c=(r.top+s.y)/a.y,u=r.width/a.x,f=r.height/a.y;if(i){const t=J(i),e=o&&I(o)?J(o):o;let n=t,r=ct(n);for(;r&&o&&e!==n;){const t=dt(r),e=r.getBoundingClientRect(),o=rt(r),i=e.left+(r.clientLeft+parseFloat(o.paddingLeft))*t.x,a=e.top+(r.clientTop+parseFloat(o.paddingTop))*t.y;l*=t.x,c*=t.y,u*=t.x,f*=t.y,l+=i,c+=a,n=J(r),r=ct(n)}}return B({width:u,height:f,x:l,y:c})}function vt(t,e){const n=it(t).scrollLeft;return e?e.left+n:ht(V(t)).left+n}function yt(t,e){const n=t.getBoundingClientRect();return{x:n.left+e.scrollLeft-vt(t,n),y:n.top+e.scrollTop}}function gt(t,e,n){let o;if("viewport"===e)o=function(t,e){const n=J(t),o=V(t),r=n.visualViewport;let i=o.clientWidth,a=o.clientHeight,s=0,l=0;if(r){i=r.width,a=r.height;const t=nt();(!t||t&&"fixed"===e)&&(s=r.offsetLeft,l=r.offsetTop)}const c=vt(o);if(c<=0){const t=o.ownerDocument,e=t.body,n=getComputedStyle(e),r="CSS1Compat"===t.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(o.clientWidth-e.clientWidth-r);a<=25&&(i-=a)}else c<=25&&(i+=c);return{width:i,height:a,x:s,y:l}}(t,n);else if("document"===e)o=function(t){const e=V(t),n=it(t),o=t.ownerDocument.body,r=g(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth),i=g(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let a=-n.scrollLeft+vt(t);const s=-n.scrollTop;return"rtl"===rt(o).direction&&(a+=g(e.clientWidth,o.clientWidth)-r),{width:r,height:i,x:a,y:s}}(V(t));else if(I(e))o=function(t,e){const n=ht(t,!0,"fixed"===e),o=n.top+t.clientTop,r=n.left+t.clientLeft,i=Q(t)?dt(t):x(1);return{width:t.clientWidth*i.x,height:t.clientHeight*i.y,x:r*i.x,y:o*i.y}}(e,n);else{const n=mt(t);o={x:e.x-n.x,y:e.y-n.y,width:e.width,height:e.height}}return B(o)}function wt(t,e){const n=at(t);return!(n===e||!I(n)||ot(n))&&("fixed"===rt(n).position||wt(n,e))}function xt(t,e,n){const o=Q(e),r=V(e),i="fixed"===n,a=ht(t,!0,i,e);let s={scrollLeft:0,scrollTop:0};const l=x(0);function c(){l.x=vt(r)}if(o||!o&&!i)if(("body"!==G(e)||Y(r))&&(s=it(e)),o){const t=ht(e,!0,i,e);l.x=t.x+e.clientLeft,l.y=t.y+e.clientTop}else r&&c();i&&!o&&r&&c();const u=!r||o||i?x(0):yt(r,s);return{x:a.left+s.scrollLeft-l.x-u.x,y:a.top+s.scrollTop-l.y-u.y,width:a.width,height:a.height}}function bt(t){return"static"===rt(t).position}function zt(t,e){if(!Q(t)||"fixed"===rt(t).position)return null;if(e)return e(t);let n=t.offsetParent;return V(t)===n&&(n=n.ownerDocument.body),n}function At(t,e){const n=J(t);if(_(t))return n;if(!Q(t)){let e=at(t);for(;e&&!ot(e);){if(I(e)&&!bt(e))return e;e=at(e)}return n}let o=zt(t,e);for(;o&&Z(o)&&bt(o);)o=zt(o,e);return o&&ot(o)&&bt(o)&&!et(o)?n:o||function(t){let e=at(t);for(;Q(e)&&!ot(e);){if(et(e))return e;if(_(e))return null;e=at(e)}return null}(t)||n}const Ct={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{elements:e,rect:n,offsetParent:o,strategy:r}=t;const i="fixed"===r,a=V(o),s=!!e&&_(e.floating);if(o===a||s&&i)return n;let l={scrollLeft:0,scrollTop:0},c=x(1);const u=x(0),f=Q(o);if((f||!f&&!i)&&(("body"!==G(o)||Y(a))&&(l=it(o)),f)){const t=ht(o);c=dt(o),u.x=t.x+o.clientLeft,u.y=t.y+o.clientTop}const d=!a||f||i?x(0):yt(a,l);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+d.x,y:n.y*c.y-l.scrollTop*c.y+u.y+d.y}},getDocumentElement:V,getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:o,strategy:r}=t;const i=[..."clippingAncestors"===n?_(e)?[]:function(t,e){const n=e.get(t);if(n)return n;let o=lt(t,[]).filter((t=>I(t)&&"body"!==G(t))),r=null;const i="fixed"===rt(t).position;let a=i?at(t):t;for(;I(a)&&!ot(a);){const e=rt(a),n=et(a);n||"fixed"!==e.position||(r=null),(i?!n&&!r:!n&&"static"===e.position&&r&&("absolute"===r.position||"fixed"===r.position)||Y(a)&&!n&&wt(t,a))?o=o.filter((t=>t!==a)):r=e,a=at(a)}return e.set(t,o),o}(e,this._c):[].concat(n),o],a=gt(e,i[0],r);let s=a.top,l=a.right,c=a.bottom,u=a.left;for(let t=1;t<i.length;t++){const n=gt(e,i[t],r);s=g(n.top,s),l=y(n.right,l),c=y(n.bottom,c),u=g(n.left,u)}return{width:l-u,height:c-s,x:u,y:s}},getOffsetParent:At,getElementRects:async function(t){const e=this.getOffsetParent||At,n=this.getDimensions,o=await n(t.floating);return{reference:xt(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){const{width:e,height:n}=ut(t);return{width:e,height:n}},getScale:dt,isElement:I,isRTL:function(t){return"rtl"===rt(t).direction}},Et=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:r,platform:i}=e,{mainAxis:a=!0,crossAxis:s=!1,limiter:l={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...c}=A(t,e),u={x:n,y:o},f=await i.detectOverflow(e,c),d=D(C(r)),p=k(d);let m=u[p],h=u[d];a&&(m=z(m+f["y"===p?"top":"left"],m,m-f["y"===p?"bottom":"right"])),s&&(h=z(h+f["y"===d?"top":"left"],h,h-f["y"===d?"bottom":"right"]));const v=l.fn({...e,[p]:m,[d]:h});return{...v,data:{x:v.x-n,y:v.y-o,enabled:{[p]:a,[d]:s}}}}}},kt=function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n,o;const{placement:r,middlewareData:i,rects:a,initialPlacement:s,platform:l,elements:c}=e,{mainAxis:u=!0,crossAxis:f=!0,fallbackPlacements:d,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=!0,...v}=A(t,e);if(null!=(n=i.arrow)&&n.alignmentOffset)return{};const y=C(r),g=D(s),w=C(s)===s,x=await(null==l.isRTL?void 0:l.isRTL(c.floating)),b=d||(w||!h?[T(s)]:function(t){const e=T(t);return[O(t),e,O(e)]}(s)),z="none"!==m;!d&&z&&b.push(...function(t,e,n,o){const r=E(t);let i=function(t,e,n){switch(t){case"top":case"bottom":return n?e?j:R:e?R:j;case"left":case"right":return e?L:P;default:return[]}}(C(t),"start"===n,o);return r&&(i=i.map((t=>t+"-"+r)),e&&(i=i.concat(i.map(O)))),i}(s,h,m,x));const k=[s,...b],B=await l.detectOverflow(e,v),M=[];let $=(null==(o=i.flip)?void 0:o.overflows)||[];if(u&&M.push(B[y]),f){const t=function(t,e,n){void 0===n&&(n=!1);const o=E(t),r=F(t),i=S(r);let a="x"===r?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return e.reference[i]>e.floating[i]&&(a=T(a)),[a,T(a)]}(r,a,x);M.push(B[t[0]],B[t[1]])}if($=[...$,{placement:r,overflows:M}],!M.every((t=>t<=0))){var H,N;const t=((null==(H=i.flip)?void 0:H.index)||0)+1,e=k[t];if(e&&("alignment"!==f||g===D(e)||$.every((t=>D(t.placement)!==g||t.overflows[0]>0))))return{data:{index:t,overflows:$},reset:{placement:e}};let n=null==(N=$.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:N.placement;if(!n)switch(p){case"bestFit":{var G;const t=null==(G=$.filter((t=>{if(z){const e=D(t.placement);return e===g||"y"===e}return!0})).map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:G[0];t&&(n=t);break}case"initialPlacement":n=s}if(r!==n)return{reset:{placement:n}}}return{}}}},St=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.lmvzOpen=n(this,"lmvzOpen",7),this.lmvzClose=n(this,"lmvzClose",7),this.lmvzCancel=n(this,"lmvzCancel",7)}get el(){return this}extEventController=new AbortController;closureController;containerEl;slotEl;previouslyFocusedElement=null;anchorEl;open=!1;anchor;placement="bottom-start";size="sm";autoFocus=!0;containerRole="dialog";label;lmvzOpen;lmvzClose;lmvzCancel;async show(){this.open=!0}async hide(){this.triggerClose()}async toggle(){this.open?await this.hide():await this.show()}componentDidLoad(){Ft(this.el)}handleOpenChange(t){t?this.onOpen():this.onClose()}async handleAnchorChange(t){if(!t)return console.warn("anchor property missing for popover",this.el?.id),void(this.anchor=void 0);await c(),this.anchorEl="string"==typeof t?document.getElementById(t):t,this.setupAnchorEl(),this.open&&this.updatePosition()}disconnectedCallback(){this.removeCloseHandlers(),this.extEventController.abort()}setupAnchorEl(){const{anchorEl:t}=this;t?(t.hasAttribute("aria-haspopup")||t.setAttribute("aria-haspopup","dialog"===this.containerRole?"dialog":this.containerRole),t.setAttribute("aria-controls",this.el.getAttribute("id")),t.hasAttribute("aria-expanded")||t.setAttribute("aria-expanded",this.open?"true":"false"),f(t)&&l(t,this.toggle.bind(this),this.extEventController.signal),function(t,e,n,o){if(!a())return;const r=!!e,i=t.hasAttribute("aria-labelledby");r||i||console.warn("[lmvz-popover] Host element has no accessible label. Provide a `label` prop or an `aria-labelledby` attribute pointing to a valid element."),n&&(o?h(o)||console.warn("[lmvz-popover] Anchor element is not interactive. Ensure the anchor is a button, link, input, select, textarea, has a `tabindex` attribute, or has an ARIA role that implies interactivity (button, link, menuitem, option, combobox, listbox, checkbox, radio, switch, tab)."):console.warn("[lmvz-popover] Anchor prop is set but resolved to null. Ensure the anchor element exists in the DOM when the component loads."))}(this.el,this.label,this.anchor,t)):console.warn("no anchor element set for",this)}async updatePosition(){const{anchorEl:t}=this,e=this.containerEl;if(!t||!e)return;const n=function(t){return"start"===t?"left":"end"===t?"right":t}(this.placement),{x:o,y:r}=await((t,e,n)=>{const o=new Map,r={platform:Ct,...n},i={...r.platform,_c:o};return(async(t,e,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:i=[],platform:a}=n,s=a.detectOverflow?a:{...a,detectOverflow:$},l=await(null==a.isRTL?void 0:a.isRTL(e));let c=await a.getElementRects({reference:t,floating:e,strategy:r}),{x:u,y:f}=M(c,o,l),d=o,p=0;const m={};for(let n=0;n<i.length;n++){const h=i[n];if(!h)continue;const{name:v,fn:y}=h,{x:g,y:w,data:x,reset:b}=await y({x:u,y:f,initialPlacement:o,placement:d,strategy:r,middlewareData:m,rects:c,platform:s,elements:{reference:t,floating:e}});u=null!=g?g:u,f=null!=w?w:f,m[v]={...m[v],...x},b&&p<50&&(p++,"object"==typeof b&&(b.placement&&(d=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:t,floating:e,strategy:r}):b.rects),({x:u,y:f}=M(c,d,l))),n=-1)}return{x:u,y:f,placement:d,strategy:r,middlewareData:m}})(t,e,{...r,platform:i})})(t,e,{placement:n,middleware:[(i=4,void 0===i&&(i=0),{name:"offset",options:i,async fn(t){var e,n;const{x:o,y:r,placement:a,middlewareData:s}=t,l=await async function(t,e){const{placement:n,platform:o,elements:r}=t,i=await(null==o.isRTL?void 0:o.isRTL(r.floating)),a=C(n),s=E(n),l="y"===D(n),c=H.has(a)?-1:1,u=i&&l?-1:1,f=A(e,t);let{mainAxis:d,crossAxis:p,alignmentAxis:m}="number"==typeof f?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return s&&"number"==typeof m&&(p="end"===s?-1*m:m),l?{x:p*u,y:d*c}:{x:d*c,y:p*u}}(t,i);return a===(null==(e=s.offset)?void 0:e.placement)&&null!=(n=s.arrow)&&n.alignmentOffset?{}:{x:o+l.x,y:r+l.y,data:{...l,placement:a}}}}),kt(),Et({padding:8})]});var i;e.style.left=`${o}px`,e.style.top=`${r}px`}async onOpen(){this.previouslyFocusedElement=d(document),this.setupCloseHandlers(),await u(),await this.updatePosition(),Ft(this.el),this.applyAnchorAriaOpen(),this.lmvzOpen.emit(),await u(),this.autoFocus&&"dialog"===this.containerRole&&this.focusFirst()}onClose(){this.removeCloseHandlers(),this.applyAnchorAriaClose(),this.restoreFocus(),this.lmvzClose.emit()}applyAnchorAriaOpen(){this.anchorEl&&this.anchorEl.setAttribute("aria-expanded","true")}applyAnchorAriaClose(){this.anchorEl&&this.anchorEl.setAttribute("aria-expanded","false")}focusFirst(){const{slotEl:t}=this;if(!t)return;const e=t.assignedElements({flatten:!0});for(const t of e){if(!p(t))continue;if(s(t))return void t.initFocus();const e=m(t,v);if(e)return void e.focus()}}restoreFocus(){const t=this.previouslyFocusedElement;t?.isConnected&&t.focus(),this.previouslyFocusedElement=null}triggerClose(){this.lmvzCancel.emit().defaultPrevented||(this.open=!1)}setupCloseHandlers(){this.closureController=new AbortController;const t={signal:this.closureController.signal};document.addEventListener("mousedown",(t=>{if(!this.open)return;const e=(t.target?.shadowRoot??document).elementFromPoint(t.x,t.y)??t.target;this.el===t.target||this.el.contains(e)||this.el.contains(t.target)||this.triggerClose()}),t),document.addEventListener("keydown",(t=>{this.open&&"Escape"===t.key&&this.triggerClose()}),t)}removeCloseHandlers(){this.closureController?.abort()}render(){return o(r,{key:"83529aeac05cdc706193fa8bbbcc8f8672756111",role:this.containerRole,"aria-label":this.label||void 0},o("div",{key:"97c255e788806c0dec2f4ed04c6fc815150912a2",part:"container",class:`container lmvz-wrapper-card-${this.size}`,ref:t=>this.containerEl=t},o("slot",{key:"e4ea69d179557e7d34f1475c07c9284ea8d10a67",ref:t=>this.slotEl=t})))}static get watchers(){return{open:[{handleOpenChange:0}],anchor:[{handleAnchorChange:1}]}}static get style(){return"@layer lmvz-ds.reset,lmvz-ds.theme,lmvz-ds.components,lmvz-ds.overrides; @layer lmvz-ds.components{.lmvz-wrapper-card-sm,.lmvz-wrapper-card-md,.lmvz-wrapper-card-lg{background:var(--lmvz-semantic-color-surface-primary, #ffffff);box-shadow:var(--lmvz-ds-shadow-l3-default-strong, 0 2px 32px 0 rgba(120, 120, 128, 0.11))}.lmvz-wrapper-card-sm{padding:var(--lmvz-component-wrapper-sm-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)) var(--lmvz-component-wrapper-sm-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem));border-radius:var(--lmvz-component-wrapper-sm-border-radius, 14px)}.lmvz-wrapper-card-md{padding:var(--lmvz-component-wrapper-md-padding-y, clamp(1rem, 0.88rem + 0.52vw, 1.5rem)) var(--lmvz-component-wrapper-md-padding-x, clamp(1rem, 0.88rem + 0.52vw, 1.5rem));border-radius:var(--lmvz-component-wrapper-md-border-radius, 18px)}.lmvz-wrapper-card-lg{padding:var(--lmvz-component-wrapper-lg-padding-y, clamp(2.25rem, 2.19rem + 0.26vw, 2.5rem)) var(--lmvz-component-wrapper-lg-padding-x, clamp(1.5rem, 1.14rem + 1.55vw, 3rem));border-radius:var(--lmvz-component-wrapper-lg-border-radius, 18px)}}:host{--lmvz-popover-z-index-internal:var(--lmvz-popover-z-index, 100);display:contents;.container{position:absolute;top:-9999999999px;left:-9999999999px;max-width:var(--lmvz-popover-max-width, none);max-height:var(--lmvz-popover-max-height, none);z-index:var(--lmvz-popover-z-index-internal);overflow:auto;box-sizing:border-box}}:host(:not([open])){display:none}"}},[769,"lmvz-popover",{open:[1540],anchor:[1],placement:[1],size:[1],autoFocus:[4,"auto-focus"],containerRole:[1,"container-role"],label:[1],anchorEl:[32],show:[64],hide:[64],toggle:[64]},void 0,{open:[{handleOpenChange:0}],anchor:[{handleAnchorChange:1}]}]);let Dt=0;function Ft(t){t.getAttribute("id")||t.setAttribute("id","lmvz-popover-"+Dt++)}function Ot(){"undefined"!=typeof customElements&&["lmvz-popover"].forEach((t=>{"lmvz-popover"===t&&(customElements.get(i(t))||customElements.define(i(t),St))}))}export{St as L,Ot as d}
1
+ import{p as t,H as e,c as n,h as o,d as r,t as i}from"./p-DCYK_qaZ.js";import{i as a}from"./p-BDonpCG8.js";import{i as s}from"./p-D0S1O-Op.js";import{a as l}from"./p-CUSmZDCK.js";import{w as c,a as u}from"./p-DZj20TV1.js";import{h as f,g as d,m as p,w as m,b as h,l as v}from"./p-DJLdOjL4.js";const y=Math.min,g=Math.max,w=Math.round,x=t=>({x:t,y:t}),b={left:"right",right:"left",bottom:"top",top:"bottom"};function z(t,e,n){return g(t,y(e,n))}function C(t,e){return"function"==typeof t?t(e):t}function A(t){return t.split("-")[0]}function E(t){return t.split("-")[1]}function k(t){return"x"===t?"y":"x"}function S(t){return"y"===t?"height":"width"}function D(t){const e=t[0];return"t"===e||"b"===e?"y":"x"}function O(t){return k(D(t))}function F(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const R=["left","right"],j=["right","left"],L=["top","bottom"],P=["bottom","top"];function T(t){const e=A(t);return b[e]+t.slice(e.length)}function M(t){const{x:e,y:n,width:o,height:r}=t;return{width:o,height:r,top:n,left:e,right:e+o,bottom:n+r,x:e,y:n}}function $(t,e,n){let{reference:o,floating:r}=t;const i=D(e),a=O(e),s=S(a),l=A(e),c="y"===i,u=o.x+o.width/2-r.width/2,f=o.y+o.height/2-r.height/2,d=o[s]/2-r[s]/2;let p;switch(l){case"top":p={x:u,y:o.y-r.height};break;case"bottom":p={x:u,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:f};break;case"left":p={x:o.x-r.width,y:f};break;default:p={x:o.x,y:o.y}}switch(E(e)){case"start":p[a]-=d*(n&&c?-1:1);break;case"end":p[a]+=d*(n&&c?-1:1)}return p}async function B(t,e){var n;void 0===e&&(e={});const{x:o,y:r,platform:i,rects:a,elements:s,strategy:l}=t,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:d=!1,padding:p=0}=C(e,t),m=function(t){return"number"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}(p),h=s[d?"floating"===f?"reference":"floating":f],v=M(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(h)))||n?h:h.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),y="floating"===f?{x:o,y:r,width:a.floating.width,height:a.floating.height}:a.reference,g=await(null==i.getOffsetParent?void 0:i.getOffsetParent(s.floating)),w=await(null==i.isElement?void 0:i.isElement(g))&&await(null==i.getScale?void 0:i.getScale(g))||{x:1,y:1},x=M(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:y,offsetParent:g,strategy:l}):y);return{top:(v.top-x.top+m.top)/w.y,bottom:(x.bottom-v.bottom+m.bottom)/w.y,left:(v.left-x.left+m.left)/w.x,right:(x.right-v.right+m.right)/w.x}}const H=new Set(["left","top"]);function N(){return"undefined"!=typeof window}function Z(t){return Y(t)?(t.nodeName||"").toLowerCase():"#document"}function K(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function V(t){var e;return null==(e=(Y(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function Y(t){return!!N()&&(t instanceof Node||t instanceof K(t).Node)}function _(t){return!!N()&&(t instanceof Element||t instanceof K(t).Element)}function q(t){return!!N()&&(t instanceof HTMLElement||t instanceof K(t).HTMLElement)}function G(t){return!(!N()||"undefined"==typeof ShadowRoot)&&(t instanceof ShadowRoot||t instanceof K(t).ShadowRoot)}function I(t){const{overflow:e,overflowX:n,overflowY:o,display:r}=rt(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&"inline"!==r&&"contents"!==r}function J(t){return/^(table|td|th)$/.test(Z(t))}function U(t){try{if(t.matches(":popover-open"))return!0}catch(t){}try{return t.matches(":modal")}catch(t){return!1}}const X=/transform|translate|scale|rotate|perspective|filter/,Q=/paint|layout|strict|content/,W=t=>!!t&&"none"!==t;let tt;function et(t){const e=_(t)?rt(t):t;return W(e.transform)||W(e.translate)||W(e.scale)||W(e.rotate)||W(e.perspective)||!nt()&&(W(e.backdropFilter)||W(e.filter))||X.test(e.willChange||"")||Q.test(e.contain||"")}function nt(){return null==tt&&(tt="undefined"!=typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),tt}function ot(t){return/^(html|body|#document)$/.test(Z(t))}function rt(t){return K(t).getComputedStyle(t)}function it(t){return _(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function at(t){if("html"===Z(t))return t;const e=t.assignedSlot||t.parentNode||G(t)&&t.host||V(t);return G(e)?e.host:e}function st(t){const e=at(t);return ot(e)?t.ownerDocument?t.ownerDocument.body:t.body:q(e)&&I(e)?e:st(e)}function lt(t,e){var n;void 0===e&&(e=[]);const o=st(t),r=o===(null==(n=t.ownerDocument)?void 0:n.body),i=K(o);return r?e.concat(i,i.visualViewport||[],I(o)?o:[],[]):e.concat(o,lt(o,[]))}function ct(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function ut(t){const e=rt(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const r=q(t),i=r?t.offsetWidth:n,a=r?t.offsetHeight:o,s=w(n)!==i||w(o)!==a;return s&&(n=i,o=a),{width:n,height:o,$:s}}function ft(t){return _(t)?t:t.contextElement}function dt(t){const e=ft(t);if(!q(e))return x(1);const n=e.getBoundingClientRect(),{width:o,height:r,$:i}=ut(e);let a=(i?w(n.width):n.width)/o,s=(i?w(n.height):n.height)/r;return a&&Number.isFinite(a)||(a=1),s&&Number.isFinite(s)||(s=1),{x:a,y:s}}const pt=x(0);function mt(t){const e=K(t);return nt()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:pt}function ht(t,e,n,o){void 0===e&&(e=!1),void 0===n&&(n=!1);const r=t.getBoundingClientRect(),i=ft(t);let a=x(1);e&&(o?_(o)&&(a=dt(o)):a=dt(t));const s=function(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==K(t))&&e}(i,n,o)?mt(i):x(0);let l=(r.left+s.x)/a.x,c=(r.top+s.y)/a.y,u=r.width/a.x,f=r.height/a.y;if(i){const t=K(i),e=o&&_(o)?K(o):o;let n=t,r=ct(n);for(;r&&o&&e!==n;){const t=dt(r),e=r.getBoundingClientRect(),o=rt(r),i=e.left+(r.clientLeft+parseFloat(o.paddingLeft))*t.x,a=e.top+(r.clientTop+parseFloat(o.paddingTop))*t.y;l*=t.x,c*=t.y,u*=t.x,f*=t.y,l+=i,c+=a,n=K(r),r=ct(n)}}return M({width:u,height:f,x:l,y:c})}function vt(t,e){const n=it(t).scrollLeft;return e?e.left+n:ht(V(t)).left+n}function yt(t,e){const n=t.getBoundingClientRect();return{x:n.left+e.scrollLeft-vt(t,n),y:n.top+e.scrollTop}}function gt(t,e,n){let o;if("viewport"===e)o=function(t,e){const n=K(t),o=V(t),r=n.visualViewport;let i=o.clientWidth,a=o.clientHeight,s=0,l=0;if(r){i=r.width,a=r.height;const t=nt();(!t||t&&"fixed"===e)&&(s=r.offsetLeft,l=r.offsetTop)}const c=vt(o);if(c<=0){const t=o.ownerDocument,e=t.body,n=getComputedStyle(e),r="CSS1Compat"===t.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,a=Math.abs(o.clientWidth-e.clientWidth-r);a<=25&&(i-=a)}else c<=25&&(i+=c);return{width:i,height:a,x:s,y:l}}(t,n);else if("document"===e)o=function(t){const e=V(t),n=it(t),o=t.ownerDocument.body,r=g(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth),i=g(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let a=-n.scrollLeft+vt(t);const s=-n.scrollTop;return"rtl"===rt(o).direction&&(a+=g(e.clientWidth,o.clientWidth)-r),{width:r,height:i,x:a,y:s}}(V(t));else if(_(e))o=function(t,e){const n=ht(t,!0,"fixed"===e),o=n.top+t.clientTop,r=n.left+t.clientLeft,i=q(t)?dt(t):x(1);return{width:t.clientWidth*i.x,height:t.clientHeight*i.y,x:r*i.x,y:o*i.y}}(e,n);else{const n=mt(t);o={x:e.x-n.x,y:e.y-n.y,width:e.width,height:e.height}}return M(o)}function wt(t,e){const n=at(t);return!(n===e||!_(n)||ot(n))&&("fixed"===rt(n).position||wt(n,e))}function xt(t,e,n){const o=q(e),r=V(e),i="fixed"===n,a=ht(t,!0,i,e);let s={scrollLeft:0,scrollTop:0};const l=x(0);function c(){l.x=vt(r)}if(o||!o&&!i)if(("body"!==Z(e)||I(r))&&(s=it(e)),o){const t=ht(e,!0,i,e);l.x=t.x+e.clientLeft,l.y=t.y+e.clientTop}else r&&c();i&&!o&&r&&c();const u=!r||o||i?x(0):yt(r,s);return{x:a.left+s.scrollLeft-l.x-u.x,y:a.top+s.scrollTop-l.y-u.y,width:a.width,height:a.height}}function bt(t){return"static"===rt(t).position}function zt(t,e){if(!q(t)||"fixed"===rt(t).position)return null;if(e)return e(t);let n=t.offsetParent;return V(t)===n&&(n=n.ownerDocument.body),n}function Ct(t,e){const n=K(t);if(U(t))return n;if(!q(t)){let e=at(t);for(;e&&!ot(e);){if(_(e)&&!bt(e))return e;e=at(e)}return n}let o=zt(t,e);for(;o&&J(o)&&bt(o);)o=zt(o,e);return o&&ot(o)&&bt(o)&&!et(o)?n:o||function(t){let e=at(t);for(;q(e)&&!ot(e);){if(et(e))return e;if(U(e))return null;e=at(e)}return null}(t)||n}const At={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{elements:e,rect:n,offsetParent:o,strategy:r}=t;const i="fixed"===r,a=V(o),s=!!e&&U(e.floating);if(o===a||s&&i)return n;let l={scrollLeft:0,scrollTop:0},c=x(1);const u=x(0),f=q(o);if((f||!f&&!i)&&(("body"!==Z(o)||I(a))&&(l=it(o)),f)){const t=ht(o);c=dt(o),u.x=t.x+o.clientLeft,u.y=t.y+o.clientTop}const d=!a||f||i?x(0):yt(a,l);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-l.scrollLeft*c.x+u.x+d.x,y:n.y*c.y-l.scrollTop*c.y+u.y+d.y}},getDocumentElement:V,getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:o,strategy:r}=t;const i=[..."clippingAncestors"===n?U(e)?[]:function(t,e){const n=e.get(t);if(n)return n;let o=lt(t,[]).filter((t=>_(t)&&"body"!==Z(t))),r=null;const i="fixed"===rt(t).position;let a=i?at(t):t;for(;_(a)&&!ot(a);){const e=rt(a),n=et(a);n||"fixed"!==e.position||(r=null),(i?!n&&!r:!n&&"static"===e.position&&r&&("absolute"===r.position||"fixed"===r.position)||I(a)&&!n&&wt(t,a))?o=o.filter((t=>t!==a)):r=e,a=at(a)}return e.set(t,o),o}(e,this._c):[].concat(n),o],a=gt(e,i[0],r);let s=a.top,l=a.right,c=a.bottom,u=a.left;for(let t=1;t<i.length;t++){const n=gt(e,i[t],r);s=g(n.top,s),l=y(n.right,l),c=y(n.bottom,c),u=g(n.left,u)}return{width:l-u,height:c-s,x:u,y:s}},getOffsetParent:Ct,getElementRects:async function(t){const e=this.getOffsetParent||Ct,n=this.getDimensions,o=await n(t.floating);return{reference:xt(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){const{width:e,height:n}=ut(t);return{width:e,height:n}},getScale:dt,isElement:_,isRTL:function(t){return"rtl"===rt(t).direction}},Et=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:r,platform:i}=e,{mainAxis:a=!0,crossAxis:s=!1,limiter:l={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...c}=C(t,e),u={x:n,y:o},f=await i.detectOverflow(e,c),d=D(A(r)),p=k(d);let m=u[p],h=u[d];a&&(m=z(m+f["y"===p?"top":"left"],m,m-f["y"===p?"bottom":"right"])),s&&(h=z(h+f["y"===d?"top":"left"],h,h-f["y"===d?"bottom":"right"]));const v=l.fn({...e,[p]:m,[d]:h});return{...v,data:{x:v.x-n,y:v.y-o,enabled:{[p]:a,[d]:s}}}}}},kt=function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n,o;const{placement:r,middlewareData:i,rects:a,initialPlacement:s,platform:l,elements:c}=e,{mainAxis:u=!0,crossAxis:f=!0,fallbackPlacements:d,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=!0,...v}=C(t,e);if(null!=(n=i.arrow)&&n.alignmentOffset)return{};const y=A(r),g=D(s),w=A(s)===s,x=await(null==l.isRTL?void 0:l.isRTL(c.floating)),b=d||(w||!h?[T(s)]:function(t){const e=T(t);return[F(t),e,F(e)]}(s)),z="none"!==m;!d&&z&&b.push(...function(t,e,n,o){const r=E(t);let i=function(t,e,n){switch(t){case"top":case"bottom":return n?e?j:R:e?R:j;case"left":case"right":return e?L:P;default:return[]}}(A(t),"start"===n,o);return r&&(i=i.map((t=>t+"-"+r)),e&&(i=i.concat(i.map(F)))),i}(s,h,m,x));const k=[s,...b],M=await l.detectOverflow(e,v),$=[];let B=(null==(o=i.flip)?void 0:o.overflows)||[];if(u&&$.push(M[y]),f){const t=function(t,e,n){void 0===n&&(n=!1);const o=E(t),r=O(t),i=S(r);let a="x"===r?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return e.reference[i]>e.floating[i]&&(a=T(a)),[a,T(a)]}(r,a,x);$.push(M[t[0]],M[t[1]])}if(B=[...B,{placement:r,overflows:$}],!$.every((t=>t<=0))){var H,N;const t=((null==(H=i.flip)?void 0:H.index)||0)+1,e=k[t];if(e&&("alignment"!==f||g===D(e)||B.every((t=>D(t.placement)!==g||t.overflows[0]>0))))return{data:{index:t,overflows:B},reset:{placement:e}};let n=null==(N=B.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:N.placement;if(!n)switch(p){case"bestFit":{var Z;const t=null==(Z=B.filter((t=>{if(z){const e=D(t.placement);return e===g||"y"===e}return!0})).map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:Z[0];t&&(n=t);break}case"initialPlacement":n=s}if(r!==n)return{reset:{placement:n}}}return{}}}},St=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.lmvzOpen=n(this,"lmvzOpen",7),this.lmvzClose=n(this,"lmvzClose",7),this.lmvzCancel=n(this,"lmvzCancel",7)}get el(){return this}extEventController=new AbortController;closureController;containerEl;slotEl;previouslyFocusedElement=null;anchorEl;open=!1;anchor;placement="bottom-start";size="sm";autoFocus=!0;containerRole="dialog";label;lmvzOpen;lmvzClose;lmvzCancel;async show(){this.open=!0}async hide(){this.triggerClose()}async toggle(){this.open?await this.hide():await this.show()}componentDidLoad(){Ot(this.el)}handleOpenChange(t){t?this.onOpen():this.onClose()}async handleAnchorChange(t){if(!t)return console.warn("anchor property missing for popover",this.el?.id),void(this.anchor=void 0);await c(),this.anchorEl="string"==typeof t?document.getElementById(t):t,this.setupAnchorEl(),this.open&&this.updatePosition()}disconnectedCallback(){this.removeCloseHandlers(),this.extEventController.abort()}setupAnchorEl(){const{anchorEl:t}=this;t?(t.hasAttribute("aria-haspopup")||t.setAttribute("aria-haspopup","dialog"===this.containerRole?"dialog":this.containerRole),t.setAttribute("aria-controls",this.el.getAttribute("id")),t.hasAttribute("aria-expanded")||t.setAttribute("aria-expanded",this.open?"true":"false"),f(t)&&l(t,this.toggle.bind(this),this.extEventController.signal),function(t,e,n,o){if(!a())return;const r=!!e,i=t.hasAttribute("aria-labelledby");r||i||console.warn("[lmvz-popover] Host element has no accessible label. Provide a `label` prop or an `aria-labelledby` attribute pointing to a valid element."),n&&(o?h(o)||console.warn("[lmvz-popover] Anchor element is not interactive. Ensure the anchor is a button, link, input, select, textarea, has a `tabindex` attribute, or has an ARIA role that implies interactivity (button, link, menuitem, option, combobox, listbox, checkbox, radio, switch, tab)."):console.warn("[lmvz-popover] Anchor prop is set but resolved to null. Ensure the anchor element exists in the DOM when the component loads."))}(this.el,this.label,this.anchor,t)):console.warn("no anchor element set for",this)}async updatePosition(){const{anchorEl:t}=this,e=this.containerEl;if(!t||!e)return;const n=function(t){return"start"===t?"left":"end"===t?"right":t}(this.placement),{x:o,y:r}=await((t,e,n)=>{const o=new Map,r={platform:At,...n},i={...r.platform,_c:o};return(async(t,e,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:i=[],platform:a}=n,s=a.detectOverflow?a:{...a,detectOverflow:B},l=await(null==a.isRTL?void 0:a.isRTL(e));let c=await a.getElementRects({reference:t,floating:e,strategy:r}),{x:u,y:f}=$(c,o,l),d=o,p=0;const m={};for(let n=0;n<i.length;n++){const h=i[n];if(!h)continue;const{name:v,fn:y}=h,{x:g,y:w,data:x,reset:b}=await y({x:u,y:f,initialPlacement:o,placement:d,strategy:r,middlewareData:m,rects:c,platform:s,elements:{reference:t,floating:e}});u=null!=g?g:u,f=null!=w?w:f,m[v]={...m[v],...x},b&&p<50&&(p++,"object"==typeof b&&(b.placement&&(d=b.placement),b.rects&&(c=!0===b.rects?await a.getElementRects({reference:t,floating:e,strategy:r}):b.rects),({x:u,y:f}=$(c,d,l))),n=-1)}return{x:u,y:f,placement:d,strategy:r,middlewareData:m}})(t,e,{...r,platform:i})})(t,e,{placement:n,middleware:[(i=4,void 0===i&&(i=0),{name:"offset",options:i,async fn(t){var e,n;const{x:o,y:r,placement:a,middlewareData:s}=t,l=await async function(t,e){const{placement:n,platform:o,elements:r}=t,i=await(null==o.isRTL?void 0:o.isRTL(r.floating)),a=A(n),s=E(n),l="y"===D(n),c=H.has(a)?-1:1,u=i&&l?-1:1,f=C(e,t);let{mainAxis:d,crossAxis:p,alignmentAxis:m}="number"==typeof f?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return s&&"number"==typeof m&&(p="end"===s?-1*m:m),l?{x:p*u,y:d*c}:{x:d*c,y:p*u}}(t,i);return a===(null==(e=s.offset)?void 0:e.placement)&&null!=(n=s.arrow)&&n.alignmentOffset?{}:{x:o+l.x,y:r+l.y,data:{...l,placement:a}}}}),kt(),Et({padding:8})]});var i;e.style.left=`${o}px`,e.style.top=`${r}px`}async onOpen(){this.previouslyFocusedElement=d(document),this.setupCloseHandlers(),await u(),await this.updatePosition(),Ot(this.el),this.applyAnchorAriaOpen(),this.lmvzOpen.emit(),await u(),this.autoFocus&&"dialog"===this.containerRole&&this.focusFirst()}onClose(){this.removeCloseHandlers(),this.applyAnchorAriaClose(),this.restoreFocus(),this.lmvzClose.emit()}applyAnchorAriaOpen(){this.anchorEl&&this.anchorEl.setAttribute("aria-expanded","true")}applyAnchorAriaClose(){this.anchorEl&&this.anchorEl.setAttribute("aria-expanded","false")}focusFirst(){const{slotEl:t}=this;if(!t)return;const e=t.assignedElements({flatten:!0});for(const t of e){if(!p(t))continue;if(s(t))return void t.initFocus();const e=m(t,v);if(e)return void e.focus()}}restoreFocus(){const t=this.previouslyFocusedElement;t?.isConnected&&t.focus(),this.previouslyFocusedElement=null}triggerClose(){this.lmvzCancel.emit().defaultPrevented||(this.open=!1)}setupCloseHandlers(){this.closureController=new AbortController;const t={signal:this.closureController.signal};document.addEventListener("mousedown",(t=>{if(!this.open)return;const e=(t.target?.shadowRoot??document).elementFromPoint(t.x,t.y)??t.target;this.el===t.target||this.el.contains(e)||this.el.contains(t.target)||this.triggerClose()}),t),document.addEventListener("keydown",(t=>{this.open&&"Escape"===t.key&&this.triggerClose()}),t)}removeCloseHandlers(){this.closureController?.abort()}render(){return o(r,{key:"559167785de0a69c12e436740b6b17a206f6155c",role:this.containerRole,"aria-label":this.label||void 0},o("div",{key:"deaeb8ac94edd8eac38748cbc01e8f335a8fe7a1",part:"container",class:`container lmvz-wrapper-card-${this.size}`,ref:t=>this.containerEl=t},o("slot",{key:"87dd843041852b3d5b8b85497c0f4e4eb6791a45",ref:t=>this.slotEl=t})))}static get watchers(){return{open:[{handleOpenChange:0}],anchor:[{handleAnchorChange:1}]}}static get style(){return"@layer lmvz-ds.reset,lmvz-ds.theme,lmvz-ds.components,lmvz-ds.overrides; @layer lmvz-ds.components{.lmvz-wrapper-card-sm,.lmvz-wrapper-card-md,.lmvz-wrapper-card-lg{background:var(--lmvz-semantic-color-surface-primary, #ffffff);box-shadow:var(--lmvz-ds-shadow-l3-default-strong, 0 2px 32px 0 rgba(120, 120, 128, 0.11))}.lmvz-wrapper-card-sm{padding:var(--lmvz-component-wrapper-sm-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)) var(--lmvz-component-wrapper-sm-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem));border-radius:var(--lmvz-component-wrapper-sm-border-radius, 14px)}.lmvz-wrapper-card-md{padding:var(--lmvz-component-wrapper-md-padding-y, clamp(1rem, 0.88rem + 0.52vw, 1.5rem)) var(--lmvz-component-wrapper-md-padding-x, clamp(1rem, 0.88rem + 0.52vw, 1.5rem));border-radius:var(--lmvz-component-wrapper-md-border-radius, 18px)}.lmvz-wrapper-card-lg{padding:var(--lmvz-component-wrapper-lg-padding-y, clamp(2.25rem, 2.19rem + 0.26vw, 2.5rem)) var(--lmvz-component-wrapper-lg-padding-x, clamp(1.5rem, 1.14rem + 1.55vw, 3rem));border-radius:var(--lmvz-component-wrapper-lg-border-radius, 18px)}}:host{--lmvz-popover-z-index-internal:var(--lmvz-popover-z-index, 100);display:contents;.container{position:absolute;top:-9999999999px;left:-9999999999px;max-width:var(--lmvz-popover-max-width, none);max-height:var(--lmvz-popover-max-height, none);z-index:var(--lmvz-popover-z-index-internal);overflow:auto;box-sizing:border-box}}:host(:not([open])){display:none}"}},[769,"lmvz-popover",{open:[1540],anchor:[1],placement:[1],size:[1],autoFocus:[4,"auto-focus"],containerRole:[1,"container-role"],label:[1],anchorEl:[32],show:[64],hide:[64],toggle:[64]},void 0,{open:[{handleOpenChange:0}],anchor:[{handleAnchorChange:1}]}]);let Dt=0;function Ot(t){t.getAttribute("id")||t.setAttribute("id","lmvz-popover-"+Dt++)}function Ft(){"undefined"!=typeof customElements&&["lmvz-popover"].forEach((t=>{"lmvz-popover"===t&&(customElements.get(i(t))||customElements.define(i(t),St))}))}export{St as L,Ft as d}
@@ -1,5 +1,5 @@
1
1
  import { i as isAriaValidationEnabled, u as useVerboseLogging, A as ARIA_VALIDATION_RUNTIME_CHANGED_EVENT, q as queueValidation } from './aria-loader-BfH06m7H.js';
2
- import { B as Build } from './index-DVab4vzV.js';
2
+ import { B as Build } from './index-wQ10Syko.js';
3
3
 
4
4
  class AriaValidationController {
5
5
  host;
@@ -9,6 +9,7 @@ const iconSizes = [...sizes, 'inherit'];
9
9
  const iconWeights = ['thin', 'medium', 'bold'];
10
10
  const chipTypes = ['active', 'warning', 'success', 'error', 'neutral'];
11
11
  const chipSizes = ['default', 'small'];
12
+ const cardSizes = ['large', 'small'];
12
13
  const linkTypes = ['internal', 'external'];
13
14
  const messageTypes = ['neutral', 'warning'];
14
15
  const snackbarStatuses = ['success', 'warning', 'error'];
@@ -17,4 +18,4 @@ const snackbarDismissReasons = ['timeout', 'manual', 'action', 'overridden', 'sw
17
18
  const popoverPlacements = ['top', 'bottom', 'start', 'end', 'top-start', 'top-end', 'bottom-start', 'bottom-end'];
18
19
  const popoverSizes = ['sm', 'md', 'lg'];
19
20
 
20
- export { sizes as a, inputSizes as b, selectSizes as c, iconSizes as d, iconWeights as e, chipTypes as f, chipSizes as g, snackbarStatuses as h, inputTypes as i, snackbarPriorities as j, snackbarDismissReasons as k, linkTypes as l, messageTypes as m, popoverSizes as n, popoverPlacements as p, scaleValues as s, textSizes as t, variants as v };
21
+ export { sizes as a, inputSizes as b, selectSizes as c, iconSizes as d, iconWeights as e, chipTypes as f, chipSizes as g, cardSizes as h, inputTypes as i, snackbarStatuses as j, snackbarPriorities as k, linkTypes as l, messageTypes as m, snackbarDismissReasons as n, popoverSizes as o, popoverPlacements as p, scaleValues as s, textSizes as t, variants as v };
@@ -2,7 +2,7 @@ const NAMESPACE = 'lmvz-components';
2
2
  const BUILD = /* lmvz-components */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, slotRelocation: true, state: true, updatable: true};
3
3
 
4
4
  /*
5
- Stencil Client Platform v4.43.5 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Platform v4.44.2 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
 
8
8
  var Build = {
@@ -120,7 +120,9 @@ var consoleError = (e, el) => (0, console.error)(e, el);
120
120
 
121
121
  // src/client/client-load-module.ts
122
122
  var cmpModules = /* @__PURE__ */ new Map();
123
+ var failedLoadAttempts = /* @__PURE__ */ new Map();
123
124
  var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
125
+ var _a;
124
126
  const exportName = cmpMeta.$tagName$.replace(/-/g, "_");
125
127
  const bundleId = cmpMeta.$lazyBundleId$;
126
128
  if (!bundleId) {
@@ -130,21 +132,28 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
130
132
  if (module) {
131
133
  return module[exportName];
132
134
  }
135
+ const retryCount = (_a = failedLoadAttempts.get(bundleId)) != null ? _a : 0;
136
+ const cacheBustParams = [
137
+ retryCount > 0 ? `s-retry=${retryCount}` : "",
138
+ ""
139
+ ].filter(Boolean).join("&");
133
140
  /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
134
141
  return import(
135
142
  /* @vite-ignore */
136
143
  /* webpackInclude: /\.entry\.js$/ */
137
144
  /* webpackExclude: /\.system\.entry\.js$/ */
138
145
  /* webpackMode: "lazy" */
139
- `./${bundleId}.entry.js${""}`
146
+ `./${bundleId}.entry.js${cacheBustParams ? "?" + cacheBustParams : ""}`
140
147
  ).then(
141
148
  (importedModule) => {
142
149
  {
150
+ failedLoadAttempts.delete(bundleId);
143
151
  cmpModules.set(bundleId, importedModule);
144
152
  }
145
153
  return importedModule[exportName];
146
154
  },
147
155
  (e) => {
156
+ failedLoadAttempts.set(bundleId, retryCount + 1);
148
157
  consoleError(e, hostRef.$hostElement$);
149
158
  }
150
159
  );
@@ -165,6 +174,8 @@ var HYDRATE_CHILD_ID = "c-id";
165
174
  var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
166
175
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
167
176
  var XLINK_NS = "http://www.w3.org/1999/xlink";
177
+ var MAX_LAZY_LOAD_RETRIES = 3;
178
+ var LAZY_LOAD_RETRY_INTERVAL_MS = 1e3;
168
179
  var FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [
169
180
  "formAssociatedCallback",
170
181
  "formResetCallback",
@@ -214,6 +225,10 @@ var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @_
214
225
  var queuePending = false;
215
226
  var queueDomReads = [];
216
227
  var queueDomWrites = [];
228
+ var scheduleFlush = () => {
229
+ var _a;
230
+ return ((_a = win.document) == null ? void 0 : _a.hidden) ? nextTick(flush) : plt.raf(flush);
231
+ };
217
232
  var queueTask = (queue, write) => (cb) => {
218
233
  queue.push(cb);
219
234
  if (!queuePending) {
@@ -221,7 +236,7 @@ var queueTask = (queue, write) => (cb) => {
221
236
  if (write && plt.$flags$ & 4 /* queueSync */) {
222
237
  nextTick(flush);
223
238
  } else {
224
- plt.raf(flush);
239
+ scheduleFlush();
225
240
  }
226
241
  }
227
242
  };
@@ -240,7 +255,7 @@ var flush = () => {
240
255
  {
241
256
  consume(queueDomWrites);
242
257
  if (queuePending = queueDomReads.length > 0) {
243
- plt.raf(flush);
258
+ scheduleFlush();
244
259
  }
245
260
  }
246
261
  };
@@ -317,7 +332,7 @@ function getHostSlotNodes(childNodes, hostName, slotName) {
317
332
  slottedNodes.push(childNode);
318
333
  if (typeof slotName !== "undefined") return slottedNodes;
319
334
  }
320
- slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
335
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(internalCall(childNode, "childNodes"), hostName, slotName)];
321
336
  }
322
337
  return slottedNodes;
323
338
  }
@@ -612,6 +627,11 @@ var h = (nodeName, vnodeData, ...children) => {
612
627
  } else if (child != null && typeof child !== "boolean") {
613
628
  if (simple = typeof nodeName !== "function" && !isComplexType(child)) {
614
629
  child = String(child);
630
+ } else if (typeof nodeName !== "function" && child.$flags$ === void 0) {
631
+ {
632
+ consoleError("Invalid vNode child");
633
+ }
634
+ continue;
615
635
  }
616
636
  if (simple && lastSimple) {
617
637
  vNodeChildren[vNodeChildren.length - 1].$text$ += child;
@@ -1432,7 +1452,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1432
1452
  }
1433
1453
  }
1434
1454
  if (newValue == null || newValue === false) {
1435
- if (newValue !== false || elm.getAttribute(memberName) === "") {
1455
+ if (newValue !== false || elm.getAttribute(memberName) === "" || flags & 4 /* isHost */ && !isEnumeratedAttribute(memberName)) {
1436
1456
  if (xlink) {
1437
1457
  elm.removeAttributeNS(XLINK_NS, memberName);
1438
1458
  } else {
@@ -1449,6 +1469,8 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1449
1469
  }
1450
1470
  }
1451
1471
  };
1472
+ var ENUMERATED_ATTRIBUTES = /* @__PURE__ */ new Set(["draggable", "contenteditable", "spellcheck"]);
1473
+ var isEnumeratedAttribute = (attrName) => ENUMERATED_ATTRIBUTES.has(attrName) || attrName.startsWith("aria-");
1452
1474
  var parseClassListRegex = /\s/;
1453
1475
  var parseClassList = (value) => {
1454
1476
  if (typeof value === "object" && value && "baseVal" in value) {
@@ -1851,7 +1873,10 @@ var markSlotContentForRelocation = (elm) => {
1851
1873
  const slotName = childNode["s-sn"];
1852
1874
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1853
1875
  node = hostContentNodes[j];
1854
- if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!node["s-sh"] || node["s-sh"] !== childNode["s-hn"])) {
1876
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && // let an exact named-slot match override a stale default-slot claim. Skip this for
1877
+ // `slotName === ''` itself - a matched default node's cached `s-sn` is `''` too, which
1878
+ // would trivially "match" on every re-render and force pointless re-insertion.
1879
+ (!node["s-sh"] || node["s-sh"] !== childNode["s-hn"] || slotName !== "" && getSlotName(node) === slotName)) {
1855
1880
  if (isNodeLocatedInSlot(node, slotName)) {
1856
1881
  let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1857
1882
  checkSlotFallbackVisibility = true;
@@ -1921,7 +1946,7 @@ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
1921
1946
  return newNode;
1922
1947
  }
1923
1948
  }
1924
- if (parent.__insertBefore) {
1949
+ if ((parent == null ? void 0 : parent.__insertBefore)) {
1925
1950
  return parent.__insertBefore(newNode, reference);
1926
1951
  } else {
1927
1952
  return parent == null ? void 0 : parent.insertBefore(newNode, reference);
@@ -2338,6 +2363,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2338
2363
  };
2339
2364
 
2340
2365
  // src/runtime/proxy-component.ts
2366
+ var reflectedAttrValue = (propValue) => propValue == null || propValue === false ? null : propValue === true ? "" : String(propValue);
2341
2367
  var proxyComponent = (Cstr, cmpMeta, flags) => {
2342
2368
  var _a, _b;
2343
2369
  const prototype = Cstr.prototype;
@@ -2494,7 +2520,13 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2494
2520
  return;
2495
2521
  }
2496
2522
  const propFlags = members.find(([m]) => m === propName);
2497
- const isBooleanTarget = propFlags && propFlags[1][0] & 4 /* Boolean */;
2523
+ const propMemberFlags = propFlags ? propFlags[1][0] : 0;
2524
+ const isBooleanTarget = propMemberFlags & 4 /* Boolean */;
2525
+ if (propMemberFlags & 512 /* ReflectAttr */ && propMemberFlags & 8 /* Any */ && // a complex value is never written to an attribute, so a change while the prop holds
2526
+ // one is always external
2527
+ !isComplexType(this[propName]) && reflectedAttrValue(this[propName]) === newValue) {
2528
+ return;
2529
+ }
2498
2530
  const isSpuriousBooleanRemoval = isBooleanTarget && newValue === null && this[propName] === void 0;
2499
2531
  if (isBooleanTarget) {
2500
2532
  newValue = newValue === null || newValue === "false" ? false : true;
@@ -2526,10 +2558,12 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2526
2558
 
2527
2559
  // src/runtime/initialize-component.ts
2528
2560
  var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2561
+ var _a;
2529
2562
  let Cstr;
2530
2563
  try {
2531
2564
  if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
2532
2565
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
2566
+ hostRef.$flags$ &= -1025 /* hasFailedLoad */;
2533
2567
  const bundleId = cmpMeta.$lazyBundleId$;
2534
2568
  if (bundleId) {
2535
2569
  const CstrImport = loadModule(cmpMeta, hostRef);
@@ -2541,6 +2575,11 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2541
2575
  Cstr = CstrImport;
2542
2576
  }
2543
2577
  if (!Cstr) {
2578
+ hostRef.$flags$ &= -33 /* hasInitializedComponent */;
2579
+ hostRef.$loadRetryCount$ = ((_a = hostRef.$loadRetryCount$) != null ? _a : 0) + 1;
2580
+ if (hostRef.$loadRetryCount$ < MAX_LAZY_LOAD_RETRIES) {
2581
+ hostRef.$flags$ |= 1024 /* hasFailedLoad */;
2582
+ }
2544
2583
  throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
2545
2584
  }
2546
2585
  if (!Cstr.isProxied) {
@@ -2605,7 +2644,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2605
2644
  hostRef.$onRenderResolve$();
2606
2645
  hostRef.$onRenderResolve$ = void 0;
2607
2646
  }
2608
- if (hostRef.$onReadyResolve$) {
2647
+ if (hostRef.$onReadyResolve$ && !(hostRef.$flags$ & 1024 /* hasFailedLoad */)) {
2609
2648
  hostRef.$onReadyResolve$(elm);
2610
2649
  }
2611
2650
  }
@@ -2672,6 +2711,8 @@ var connectedCallback = (elm) => {
2672
2711
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2673
2712
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
2674
2713
  fireConnectedCallback(hostRef.$lazyInstance$, elm);
2714
+ } else if (hostRef.$flags$ & 1024 /* hasFailedLoad */) {
2715
+ setTimeout(() => initializeComponent(elm, hostRef, cmpMeta), LAZY_LOAD_RETRY_INTERVAL_MS);
2675
2716
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
2676
2717
  hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
2677
2718
  }
@@ -2814,7 +2855,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2814
2855
  }
2815
2856
  disconnectedCallback() {
2816
2857
  plt.jmp(() => disconnectedCallback(this));
2817
- plt.raf(() => {
2858
+ nextTick(() => {
2818
2859
  var _a3;
2819
2860
  const hostRef = getHostRef(this);
2820
2861
  if (!hostRef) {
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { A as ARIA_VALIDATION_RUNTIME_CHANGED_EVENT, d as disableAriaValidation, e as enableAriaValidation, i as isAriaValidationEnabled, q as queueValidation, u as useVerboseLogging } from './aria-loader-BfH06m7H.js';
2
- export { g as chipSizes, f as chipTypes, d as iconSizes, e as iconWeights, b as inputSizes, i as inputTypes, l as linkTypes, m as messageTypes, p as popoverPlacements, n as popoverSizes, s as scaleValues, c as selectSizes, a as sizes, k as snackbarDismissReasons, j as snackbarPriorities, h as snackbarStatuses, t as textSizes, v as variants } from './ds.constants-0ctLESas.js';
2
+ export { h as cardSizes, g as chipSizes, f as chipTypes, d as iconSizes, e as iconWeights, b as inputSizes, i as inputTypes, l as linkTypes, m as messageTypes, p as popoverPlacements, o as popoverSizes, s as scaleValues, c as selectSizes, a as sizes, n as snackbarDismissReasons, k as snackbarPriorities, j as snackbarStatuses, t as textSizes, v as variants } from './ds.constants-Buw_s-9k.js';
3
3
  export { S as SnackbarController } from './public-m6pRVUeP.js';
4
4
  export { g as getRegisteredIconProvider, r as registerIconProvider, t as typedIconFromSet } from './icons-DQOFaux5.js';
5
5
  import './svg-Dz3GD0LB.js';
@@ -1,5 +1,5 @@
1
- import { g as getElement, r as registerInstance, h, H as Host } from './index-DVab4vzV.js';
2
- import { A as AriaValidationController } from './aria-validation-controller-Dwv7n0rk.js';
1
+ import { g as getElement, r as registerInstance, h, H as Host } from './index-wQ10Syko.js';
2
+ import { A as AriaValidationController } from './aria-validation-controller-uMqDgutI.js';
3
3
  import { D as DirectionalFocusController } from './directional-focus-controller-CJ0yNC00.js';
4
4
  import { a as isLmvzButton } from './element.util-3ydVsxUW.js';
5
5
  import { R as ReactiveControllerHost } from './reactive-controller-host-CICeIanv.js';
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-DVab4vzV.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-wQ10Syko.js';
2
2
 
3
3
  const lmvzActionCss = () => `:host{display:block}`;
4
4
 
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, g as getElement, h, H as Host } from './index-DVab4vzV.js';
1
+ import { r as registerInstance, g as getElement, h, H as Host } from './index-wQ10Syko.js';
2
2
  import { a as isPromise, i as isAriaValidationEnabled } from './aria-loader-BfH06m7H.js';
3
- import { v as variants } from './ds.constants-0ctLESas.js';
3
+ import { v as variants } from './ds.constants-Buw_s-9k.js';
4
4
  import './public-m6pRVUeP.js';
5
5
  import { d as isPrimaryAction, e as isVisible, f as isActionButton, h as isDisabledButton, j as isSecondaryAction, a as isLmvzButton, k as canReceiveFocus } from './element.util-3ydVsxUW.js';
6
6
  import './icons-DQOFaux5.js';
@@ -1,6 +1,6 @@
1
- import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-DVab4vzV.js';
1
+ import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-wQ10Syko.js';
2
2
  import { c as classNames } from './index-BfTCfPZ1.js';
3
- import { A as AriaValidationController } from './aria-validation-controller-Dwv7n0rk.js';
3
+ import { A as AriaValidationController } from './aria-validation-controller-uMqDgutI.js';
4
4
  import { E as ElementActivationController } from './element-activation-controller-dxJZKMag.js';
5
5
  import { b as inheritAriaAttributes, l as findFormByRef } from './element.util-3ydVsxUW.js';
6
6
  import { R as ReactiveControllerHost } from './reactive-controller-host-CICeIanv.js';
@@ -118,7 +118,7 @@ const LmvzIcon = class extends ReactiveControllerHost {
118
118
  iconset;
119
119
  iconData;
120
120
  visible = false;
121
- ariaLabel;
121
+ ariaLabel = null;
122
122
  get ariaHidden() {
123
123
  return !this.ariaLabel;
124
124
  }
@@ -162,7 +162,7 @@ const LmvzIcon = class extends ReactiveControllerHost {
162
162
  super.componentDidRender();
163
163
  }
164
164
  render() {
165
- return h(Host, { key: 'be6032d11399289c3baddd63ebc7d9e1fb98b773', role: "img", "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
165
+ return h(Host, { key: '7bf1348d1e88c5debeeb592bde76e74625a2b58b', role: "img", "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
166
166
  }
167
167
  waitUntilVisible(callback, rootMargin = 50) {
168
168
  if (typeof window === 'undefined' || !window.IntersectionObserver) {
@@ -1,4 +1,6 @@
1
- import { a as getAssetPath, r as registerInstance, c as createEvent, h, H as Host } from './index-DVab4vzV.js';
1
+ import { a as getAssetPath, r as registerInstance, c as createEvent, g as getElement, h, H as Host } from './index-wQ10Syko.js';
2
+ import { h as cardSizes } from './ds.constants-Buw_s-9k.js';
3
+ import { i as isAriaValidationEnabled } from './aria-loader-BfH06m7H.js';
2
4
 
3
5
  function getLocationBase() {
4
6
  return import.meta?.url ?? window?.location?.origin ?? '';
@@ -20,34 +22,76 @@ function joinPath(...parts) {
20
22
  return parts.filter(Boolean).join('/').replace('//', '/').replace('/./', '/');
21
23
  }
22
24
 
23
- const lmvzCardCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('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; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } *[hidden] { display: none !important; } hr { height: 0; border: none; margin: var(--lmvz-dimension-8-4, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)) 0; border-top: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-subtle, #f0f0f0); } fieldset { border: none; margin: 0; padding: 0; } legend { padding: 0; display: block; } } .sc-lmvz-card-h { & { & { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-secondary, #f0f0f0)); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-int-on-secondary, #000000)); --lmvz-button-radius: var(--lmvz-button-radius-override, var(--lmvz-component-input-radius-default, 999px)); --lmvz-button-padding-inline: var(--lmvz-button-padding-inline-override, var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)))); --lmvz-button-padding-block: var(--lmvz-button-padding-block-override, var(--lmvz-button-padding, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)))); --lmvz-button-gap: var(--lmvz-button-gap-override, var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem))); --lmvz-button-min-height: var(--lmvz-button-min-height-override, var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem))); --lmvz-button-font: var(--lmvz-button-font-override, var(--lmvz-typography-label-md-strong, normal 700 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router)); --lmvz-button-border-width: var(--lmvz-button-border-width-override, 0); --lmvz-button-border-color: var(--lmvz-button-border-color-override, transparent); display: inline-flex; align-items: center; justify-content: var(--lmvz-button-content-justification, center); gap: var(--lmvz-button-gap, var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem))); box-sizing: border-box; padding-block: var(--lmvz-button-padding-block, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); padding-inline: var(--lmvz-button-padding-inline, var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))); min-height: var(--lmvz-button-min-height, var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem))); border: var(--lmvz-button-border-width, 0) solid var(--lmvz-button-border-color, transparent); border-radius: var(--lmvz-button-radius, var(--lmvz-component-input-radius-default, 999px)); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); 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; } & > * { font: inherit; color: inherit; } &:focus-visible { outline: var(--lmvz-ds-outline, 1px solid #0e7ab4); outline-offset: var(--lmvz-ds-outline-offset, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)); position: relative; z-index: 1; } &:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } &:not([disabled]):hover { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0)); } &:not([disabled]):active { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-secondary-active, #d4d4d4)); } &.primary { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-primary, #000000)); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-border-width: var(--lmvz-button-border-width-override, 0); --lmvz-button-border-color: var(--lmvz-button-border-color-override, transparent); } &.primary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-primary-hover, #2e2e2e)); } &.primary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-primary-active, #545454)); } &.danger { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-tertiary, #ffffff)); --lmvz-button-border-color: var(--lmvz-button-border-color-override, transparent); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-status-on-danger, #a31419)); } &.danger:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-status-danger, #fbdfe0)); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-status-on-danger, #a31419)); } &.danger:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-status-on-danger-subtle, #e8454b)); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-status-on-danger, #a31419)); } &.tertiary { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-tertiary, #ffffff)); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-int-on-tertiary, #000000)); } &.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0)); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-int-on-tertiary-hover, #000000)); } &.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-button-background-override, var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0)); --lmvz-button-color: var(--lmvz-button-color-override, var(--lmvz-semantic-color-int-on-tertiary-active, #000000)); } &.small { --lmvz-button-padding-inline: var(--lmvz-button-padding-inline-override, var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem))); --lmvz-button-padding-block: var(--lmvz-button-padding-block-override, var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem))); --lmvz-button-gap: var(--lmvz-button-gap-override, var(--lmvz-component-input-gap-sm, clamp(0.38rem, 0.31rem + 0.26vw, 0.63rem))); --lmvz-button-min-height: var(--lmvz-button-min-height-override, var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem))); --lmvz-button-font: var(--lmvz-button-font-override, var(--lmvz-typography-label-sm-strong, normal 700 clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem) / 1.5 Router)); } &.large { --lmvz-button-padding-inline: var(--lmvz-button-padding-inline-override, var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem))); --lmvz-button-padding-block: var(--lmvz-button-padding-block-override, var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem))); --lmvz-button-gap: var(--lmvz-button-gap-override, var(--lmvz-component-input-gap-lg, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-min-height: var(--lmvz-button-min-height-override, var(--lmvz-component-input-size-lg, clamp(2.75rem, 2.69rem + 0.26vw, 3rem))); --lmvz-button-font: var(--lmvz-button-font-override, var(--lmvz-typography-label-lg-strong, normal 700 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.5 Router)); } } display: flex; min-width: var(--lmvz-card-component-card-minwidth, 20.4375rem); max-width: var(--lmvz-card-component-card-maxwidth, 21.6875rem); flex-direction: column; align-items: flex-start; border-radius: var(--lmvz-semantic-border-radius-lg, 14px); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-default, #e0e0e0); background: var(--lmvz-semantic-color-surface-primary, #ffffff); } *.sc-lmvz-card { color: var(--lmvz-semantic-color-on-surface-primary, #000000); font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router); } .top.sc-lmvz-card { display: flex; padding: var(--lmvz-dimension-12-8, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); flex-direction: column; justify-content: center; align-items: center; align-self: stretch; } .bottom.sc-lmvz-card { display: flex; min-width: 150px; padding: var(--lmvz-dimension-6-4, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)) var(--lmvz-dimension-14-10, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-14-10, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-14-10, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)); flex-direction: column; align-items: flex-start; align-self: stretch; } .title.sc-lmvz-card { margin: 0; display: flex; justify-content: center; align-items: center; align-self: stretch; padding-bottom: var(--lmvz-global-s4, 4px); overflow-wrap: break-word; font: var(--lmvz-typography-heading-2xl, 500 clamp(2rem, 1.82rem + 0.78vw, 2.75rem) / 1.4 Router); } .description.sc-lmvz-card { display: flex; margin: 0; padding-bottom: var(--lmvz-component-body-sm-padding-bottom, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-items: flex-start; align-self: stretch; white-space: pre-line; font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router); } .image-wrapper.sc-lmvz-card { aspect-ratio: 4 / 3; width: 100%; background-size: cover; background-position: center; flex: 1 0 0; align-self: stretch; border-radius: var(--lmvz-semantic-border-radius-md, 6px); } .actions.sc-lmvz-card { margin-top: var(--lmvz-component-form-wrapper-gap-y, clamp(1.13rem, 0.97rem + 0.65vw, 1.75rem)); display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-self: stretch; } button.primary.sc-lmvz-card, lmvz-button.primary.sc-lmvz-card { display: flex; justify-content: center; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); flex: 1 0 0; }`;
25
+ const lmvzCardCss = () => ` @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('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; } } @layer lmvz-ds.reset { body { margin: 0; } h1, h2, h3, h4, h5, h6 { margin: 0; } *[hidden] { display: none !important; } hr { height: 0; border: none; margin: var(--lmvz-dimension-8-4, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)) 0; border-top: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-subtle, #f0f0f0); } fieldset { border: none; margin: 0; padding: 0; } legend { padding: 0; display: block; } } :host { --lmvz-card-local-min-width: 320px; --lmvz-card-local-max-width: 360px; --lmvz-card-local-sm-width: 232px; display: flex; flex-direction: column; align-items: flex-start; min-width: var(--lmvz-card-local-min-width); max-width: var(--lmvz-card-local-max-width); border-radius: var(--lmvz-component-wrapper-md-border-radius, 18px); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-subtle, #f0f0f0); background: var(--lmvz-semantic-color-surface-primary, #ffffff); box-shadow: 0 var(--lmvz-semantic-shadow-l1-1-position-y, 2px) var(--lmvz-semantic-shadow-l1-1-blur, 4px) 0 var(--lmvz-semantic-color-shadow-l1-default, rgba(120, 120, 128, 0.08)); margin-bottom: var(--lmvz-component-card-lg-margin-bottom, clamp(1rem, 0.88rem + 0.52vw, 1.5rem)); } :host([size='small']) { width: var(--lmvz-card-local-sm-width); min-width: 0; max-width: none; border-radius: var(--lmvz-component-wrapper-sm-border-radius, 14px); margin-bottom: var(--lmvz-component-card-sm-margin-bottom, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); } * { color: var(--lmvz-semantic-color-on-surface-primary, #000000); font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router); } .image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; align-self: stretch; border-top-left-radius: var(--lmvz-component-wrapper-md-border-radius, 18px); border-top-right-radius: var(--lmvz-component-wrapper-md-border-radius, 18px); } :host([size='small']) .image { border-top-left-radius: var(--lmvz-component-wrapper-sm-border-radius, 14px); border-top-right-radius: var(--lmvz-component-wrapper-sm-border-radius, 14px); } .content { display: flex; flex-direction: column; align-items: flex-start; align-self: stretch; gap: var(--lmvz-component-spacing-xs, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)); padding: var(--lmvz-component-wrapper-md-padding-y, clamp(1rem, 0.88rem + 0.52vw, 1.5rem)) var(--lmvz-component-wrapper-md-padding-x, clamp(1rem, 0.88rem + 0.52vw, 1.5rem)); } :host([size='small']) .content { gap: var(--lmvz-component-spacing-2xs, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); padding: var(--lmvz-component-wrapper-sm-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)) var(--lmvz-component-wrapper-sm-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); } .title-block { display: flex; flex-direction: column; align-items: flex-start; align-self: stretch; gap: var(--lmvz-component-spacing-2xs, clamp(0.13rem, 0.09rem + 0.13vw, 0.25rem)); } .card-default-title { margin: 0; overflow-wrap: break-word; font: var(--lmvz-typography-heading-lg, 500 clamp(1.13rem, 1.03rem + 0.39vw, 1.5rem) / 1.5 Router); } :host([size='small']) .card-default-title { font: var(--lmvz-typography-body-lg-strong, 500 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.5 Router); } ::slotted([slot='card-title']) { margin: 0; overflow-wrap: break-word; } :host([size='small']) ::slotted([slot='card-title']) { font: var(--lmvz-typography-body-lg-strong, 500 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.5 Router); } .description { margin: 0; align-self: stretch; white-space: pre-line; font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.5 Router); } :host([size='small']) .description { font: var(--lmvz-typography-body-sm, 400 clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem) / 1.5 Router); } slot[name='chip'] { display: contents; } .actions { display: flex; align-items: center; align-self: stretch; padding-top: var(--lmvz-component-spacing-md, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); } lmvz-button.action { flex: 1 0 0; } `;
24
26
 
27
+ const HEADING_TAGS = new Set(['HEADER', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6']);
25
28
  const LmvzCard = class {
26
29
  constructor(hostRef) {
27
30
  registerInstance(this, hostRef);
28
- this.primaryAction = createEvent(this, "primaryAction", 7);
31
+ this.lmvzCardAction = createEvent(this, "lmvzCardAction", 7);
29
32
  }
33
+ get el() { return getElement(this); }
34
+ titleSlotElement;
35
+ warnedCases = new Set();
36
+ size = 'large';
30
37
  cardTitle;
31
- imageUrl;
32
38
  description;
33
- primaryActionLabel = '';
34
- primaryAction;
39
+ imageUrl;
40
+ imageAlt = '';
41
+ actionLabel;
42
+ lmvzCardAction;
43
+ normalizeSize(value) {
44
+ const normalizedSize = cardSizes.includes(value) ? value : 'large';
45
+ if (normalizedSize !== this.size) {
46
+ this.size = normalizedSize;
47
+ }
48
+ }
49
+ componentWillLoad() {
50
+ this.normalizeSize(this.size);
51
+ }
52
+ componentDidLoad() {
53
+ const titleSlot = this.el.shadowRoot?.querySelector('slot[name="card-title"]');
54
+ titleSlot?.addEventListener('slotchange', () => this.checkTitleContent());
55
+ this.checkTitleContent();
56
+ }
35
57
  get fallbackImage() {
36
- return createAssetUrlSafely('card-placeholder.svg');
58
+ return String(createAssetUrlSafely('card-placeholder.svg'));
59
+ }
60
+ handleActionClick = () => {
61
+ this.lmvzCardAction.emit();
62
+ };
63
+ get slottedTitleElement() {
64
+ return this.titleSlotElement?.assignedElements()?.at(0);
37
65
  }
38
- _onPrimaryClick() {
39
- this.primaryAction.emit();
66
+ checkTitleContent() {
67
+ if (!isAriaValidationEnabled())
68
+ return;
69
+ const slotted = this.slottedTitleElement;
70
+ if (slotted) {
71
+ const tag = slotted.tagName;
72
+ if (!HEADING_TAGS.has(tag)) {
73
+ this.warnOnce(`non-heading:${tag}`, `[lmvz-card] Element <${tag.toLowerCase()}> slotted into "card-title" is not a heading. Slot a heading element (h2-h5) instead.`);
74
+ }
75
+ }
76
+ else if (!this.cardTitle) {
77
+ this.warnOnce('missing-title', '[lmvz-card] Neither a "card-title" slotted heading nor a non-empty "cardTitle" prop was supplied.');
78
+ }
40
79
  }
41
- _onOverflowClick(event) {
42
- console.log(event);
80
+ warnOnce(key, message) {
81
+ if (this.warnedCases.has(key))
82
+ return;
83
+ this.warnedCases.add(key);
84
+ console.warn(message);
43
85
  }
44
86
  render() {
45
- const imgStyle = {
46
- backgroundImage: `url(${this.imageUrl ?? this.fallbackImage})`,
47
- };
48
- return (h(Host, { key: '1dd819fd7c752af8d15001c08f7f60c6ea7278b9', role: "article" }, h("div", { key: 'e0cc822e627b6bbe665e4faa705cc46a09bac7c6', class: "top" }, h("div", { key: 'db79cb5a67ebdd6097f985e4b4bd27665b6329ef', class: "image-wrapper", style: imgStyle }, h("div", { key: '90facc8595ddbbf31e3768faa8254a82ab8d3e65', class: "chip-slot" }, h("slot", { key: 'cb2e6a1053aae2b2ca90c52c175e3c4174c89d23', name: "chip" })))), h("div", { key: 'cb11069a329385178677e92d08044e0fe8e5b982', class: "bottom" }, h("header", { key: '1e6076352124ca03de2fb13c17a565b4f492567e' }, h("h2", { key: '73f11099fb751bd4f967dbe49b79763b6a8268f3', class: "title" }, this.cardTitle)), h("p", { key: '36cf87b4c2004bff1e65feedd13e137d67115de3', class: "description" }, this.description), h("div", { key: '6c1d82f4968ce8252307858e6ad0681274f06397', class: "actions" }, h("button", { key: '0366e0caaf9235a3eaf7bfcab116e6a828fb248d', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), h("button", { key: '4f435e79d75a621d6fe065471a915b55308ad15d', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, h("span", { key: '7dec97e0b0ca58c40fc5308cc7863acafa8c5147', class: "icon-placeholder" }, "..."))))));
87
+ return (h(Host, { key: '21ac0a567bb88d05d247cc3150bf2e7ce26972c5', role: "article" }, h("img", { key: '6cea11ee015059d5537ab64c7cbb1655ac984cb1', class: "image", src: this.imageUrl ?? this.fallbackImage, alt: this.imageAlt, loading: "lazy", decoding: "async" }), h("div", { key: 'cd29132d8268fb5a025cde5c33a858982c8eaaed', class: "content" }, h("div", { key: '0d353a46cae60d81417e5280b39020b2234ad304', class: "title-block" }, h("slot", { key: '4f2734a257ef877d258a717e23855f521c5132a6', name: "card-title", ref: (el) => (this.titleSlotElement = el) }, this.cardTitle && (h("header", { key: '7d526caba45dde6b13bee023e60943711347258a', role: "heading", class: "card-default-title" }, this.cardTitle))), this.description && h("p", { key: '18c3eac26562a592baa29d75674737d11f57beac', class: "description" }, this.description)), h("slot", { key: 'd0d9c40ca8501b0fdfa9d589eeb05692892316a2', name: "chip" }), this.actionLabel && (h("div", { key: '4bd5d9233c0ba1dcda6bebdeff89adbbfe37e4b1', class: "actions" }, h("lmvz-button", { key: '6cefc7ad2859d457ad11b3f4edb1300ba664ef63', class: "action", variant: "secondary", scale: this.size === 'small' ? 'small' : 'default', onLmvzActivation: this.handleActionClick }, this.actionLabel))))));
49
88
  }
50
89
  static get assetsDirs() { return ["../../assets"]; }
90
+ static get watchers() { return {
91
+ "size": [{
92
+ "normalizeSize": 0
93
+ }]
94
+ }; }
51
95
  };
52
96
  LmvzCard.style = lmvzCardCss();
53
97