@lmvz-ds/components 0.35.0 → 0.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +10 -0
  3. package/cjs/{async.util-BQ60l-WC.js → async.util-Dnl6c82X.js} +1 -0
  4. package/cjs/{list-keyboard-controller-Dm5S_l0D.js → directional-focus-controller-DBat-oF7.js} +13 -1
  5. package/cjs/element-activation-controller-BHqCUgQv.js +57 -0
  6. package/cjs/{element.util-Dbyc8yUG.js → element.util-CRS_YJ59.js} +10 -2
  7. package/cjs/lmvz-action-list.cjs.entry.js +8 -5
  8. package/cjs/lmvz-action.cjs.entry.js +1 -1
  9. package/cjs/lmvz-button-group.cjs.entry.js +1 -1
  10. package/cjs/lmvz-button_2.cjs.entry.js +4 -5
  11. package/cjs/lmvz-checkbox.cjs.entry.js +1 -1
  12. package/cjs/lmvz-chip.cjs.entry.js +1 -1
  13. package/cjs/lmvz-components.cjs.js +1 -1
  14. package/cjs/lmvz-header_2.cjs.entry.js +9 -6
  15. package/cjs/lmvz-input.cjs.entry.js +3 -3
  16. package/cjs/lmvz-menuitem.cjs.entry.js +3 -2
  17. package/cjs/lmvz-message.cjs.entry.js +42 -9
  18. package/cjs/lmvz-modal.cjs.entry.js +3 -3
  19. package/cjs/lmvz-popover.cjs.entry.js +48 -28
  20. package/cjs/lmvz-radio.cjs.entry.js +1 -1
  21. package/cjs/lmvz-select.cjs.entry.js +1 -1
  22. package/cjs/lmvz-tabs.cjs.entry.js +9 -6
  23. package/cjs/lmvz-toggle.cjs.entry.js +3 -3
  24. package/cjs/loader.cjs.js +1 -1
  25. package/{esm/reactive-controller-host-FBuCCcFC.js → cjs/reactive-controller-host-Bc6B_T45.js} +19 -1
  26. package/cjs/{stencil.util-DxdYjVoH.js → stencil.util-CBrPLd-F.js} +1 -1
  27. package/collection/components/lmvz-action/lmvz-action.js +1 -1
  28. package/collection/components/lmvz-action-list/lmvz-action-list.js +26 -2
  29. package/collection/components/lmvz-button/lmvz-button.js +1 -2
  30. package/collection/components/lmvz-header/lmvz-header.js +26 -2
  31. package/collection/components/lmvz-message/lmvz-message.js +42 -9
  32. package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
  33. package/collection/components/lmvz-modal/test/testing.js +36 -0
  34. package/collection/components/lmvz-popover/lmvz-popover.js +55 -28
  35. package/collection/components/lmvz-tabs/lmvz-tabs.js +22 -2
  36. package/collection/utils/aria/{list-keyboard-controller.js → directional-focus-controller.js} +11 -0
  37. package/collection/utils/aria/element-activation-controller.js +27 -11
  38. package/collection/utils/data/{event.utilt.js → event.util.js} +8 -0
  39. package/collection/utils/element/element.util.js +9 -2
  40. package/collection/utils/stencil/reactive-controller-host.js +14 -0
  41. package/components/index.js +1 -1
  42. package/components/lmvz-action-list.js +1 -1
  43. package/components/lmvz-action.js +1 -1
  44. package/components/lmvz-button-group.js +1 -1
  45. package/components/lmvz-button.js +1 -1
  46. package/components/lmvz-checkbox.js +1 -1
  47. package/components/lmvz-chip.js +1 -1
  48. package/components/lmvz-header.js +1 -1
  49. package/components/lmvz-icon.js +1 -1
  50. package/components/lmvz-input.js +1 -1
  51. package/components/lmvz-link.js +1 -1
  52. package/components/lmvz-menuitem.js +1 -1
  53. package/components/lmvz-message.js +1 -1
  54. package/components/lmvz-modal.js +1 -1
  55. package/components/lmvz-popover.js +1 -1
  56. package/components/lmvz-radio.js +1 -1
  57. package/components/lmvz-select.js +1 -1
  58. package/components/lmvz-snackbar.js +1 -1
  59. package/components/lmvz-tabs.js +1 -1
  60. package/components/lmvz-toggle.js +1 -1
  61. package/components/p-BVzxNP7h.js +1 -0
  62. package/components/p-CgK6-SEe.js +1 -0
  63. package/components/{p-DbIm98qX.js → p-Chj7BuUZ.js} +1 -1
  64. package/components/p-CxLd309t.js +1 -0
  65. package/components/{p-D7S1WiEC.js → p-D5FL8n1q.js} +1 -1
  66. package/components/p-DLUsBYJH.js +1 -0
  67. package/components/p-DZj20TV1.js +1 -0
  68. package/components/p-bh9cItsP.js +1 -0
  69. package/components/p-zMWemcoB.js +1 -0
  70. package/esm/{async.util-D9nUtvTm.js → async.util-DZj20TV1.js} +1 -1
  71. package/esm/{list-keyboard-controller-tle6IRkv.js → directional-focus-controller-DgAdCZrG.js} +13 -2
  72. package/esm/element-activation-controller-7PNSl6io.js +54 -0
  73. package/esm/{element.util-B0eCxdyI.js → element.util-BFcYfHYq.js} +10 -3
  74. package/esm/lmvz-action-list.entry.js +7 -4
  75. package/esm/lmvz-action.entry.js +1 -1
  76. package/esm/lmvz-button-group.entry.js +1 -1
  77. package/esm/lmvz-button_2.entry.js +4 -5
  78. package/esm/lmvz-checkbox.entry.js +1 -1
  79. package/esm/lmvz-chip.entry.js +1 -1
  80. package/esm/lmvz-components.js +1 -1
  81. package/esm/lmvz-header_2.entry.js +8 -5
  82. package/esm/lmvz-input.entry.js +3 -3
  83. package/esm/lmvz-menuitem.entry.js +3 -2
  84. package/esm/lmvz-message.entry.js +42 -9
  85. package/esm/lmvz-modal.entry.js +3 -3
  86. package/esm/lmvz-popover.entry.js +48 -28
  87. package/esm/lmvz-radio.entry.js +1 -1
  88. package/esm/lmvz-select.entry.js +1 -1
  89. package/esm/lmvz-tabs.entry.js +7 -4
  90. package/esm/lmvz-toggle.entry.js +3 -3
  91. package/esm/loader.js +1 -1
  92. package/{cjs/reactive-controller-host-B_lZtcA6.js → esm/reactive-controller-host-CICeIanv.js} +15 -3
  93. package/esm/{stencil.util-wGFRYLwZ.js → stencil.util-D2-5rsN3.js} +1 -1
  94. package/hydrate/index.js +212 -97
  95. package/hydrate/index.mjs +212 -97
  96. package/lmvz-components/lmvz-components.esm.js +1 -1
  97. package/lmvz-components/{p-c87e2281.entry.js → p-194a3af5.entry.js} +1 -1
  98. package/lmvz-components/{p-e0432f54.entry.js → p-24d13be6.entry.js} +1 -1
  99. package/lmvz-components/p-4416d688.entry.js +1 -0
  100. package/lmvz-components/{p-c082390b.entry.js → p-46edf36f.entry.js} +1 -1
  101. package/lmvz-components/{p-4c68d21a.entry.js → p-489d9912.entry.js} +1 -1
  102. package/lmvz-components/p-5ff55ba9.entry.js +1 -0
  103. package/lmvz-components/{p-c494bf8f.entry.js → p-888e04d7.entry.js} +1 -1
  104. package/lmvz-components/p-9dc420e2.entry.js +1 -0
  105. package/lmvz-components/p-BFcYfHYq.js +1 -0
  106. package/lmvz-components/p-BuEA0MWd.js +1 -0
  107. package/lmvz-components/p-CICeIanv.js +1 -0
  108. package/lmvz-components/p-DZj20TV1.js +1 -0
  109. package/lmvz-components/p-a887018d.entry.js +1 -0
  110. package/lmvz-components/p-aaa7691c.entry.js +1 -0
  111. package/lmvz-components/p-af48eccb.entry.js +1 -0
  112. package/lmvz-components/p-bh9cItsP.js +1 -0
  113. package/lmvz-components/{p-1d2c11ea.entry.js → p-d4154a65.entry.js} +1 -1
  114. package/lmvz-components/p-e4ce63b3.entry.js +1 -0
  115. package/lmvz-components/{p-cb75c951.entry.js → p-eb4c5a6f.entry.js} +1 -1
  116. package/lmvz-components/{p-8fb4c347.entry.js → p-eb62d4af.entry.js} +1 -1
  117. package/lmvz-components/{p-a4ef8e55.entry.js → p-f42b16e6.entry.js} +1 -1
  118. package/lmvz-components/p-wlMjNjuv.js +1 -0
  119. package/manifest.json +79 -5
  120. package/package.json +1 -1
  121. package/types/api/ds.constants.d.ts +1 -0
  122. package/types/components/lmvz-action/lmvz-action.d.ts +1 -0
  123. package/types/components/lmvz-action-list/lmvz-action-list.d.ts +3 -1
  124. package/types/components/lmvz-button/lmvz-button.d.ts +2 -1
  125. package/types/components/lmvz-button-group/lmvz-button-group.d.ts +1 -0
  126. package/types/components/lmvz-card/lmvz-card.d.ts +1 -0
  127. package/types/components/lmvz-checkbox/lmvz-checkbox.d.ts +1 -0
  128. package/types/components/lmvz-chip/lmvz-chip.d.ts +1 -0
  129. package/types/components/lmvz-header/lmvz-header.d.ts +4 -2
  130. package/types/components/lmvz-icon/lmvz-icon.d.ts +1 -0
  131. package/types/components/lmvz-input/lmvz-input.d.ts +1 -0
  132. package/types/components/lmvz-link/lmvz-link.d.ts +1 -0
  133. package/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +1 -0
  134. package/types/components/lmvz-message/lmvz-message.d.ts +1 -0
  135. package/types/components/lmvz-message/public.d.ts +1 -0
  136. package/types/components/lmvz-modal/lmvz-modal.d.ts +1 -0
  137. package/types/components/lmvz-modal/test/testing.d.ts +10 -0
  138. package/types/components/lmvz-popover/lmvz-popover.d.ts +6 -3
  139. package/types/components/lmvz-radio/lmvz-radio.d.ts +1 -0
  140. package/types/components/lmvz-select/lmvz-select.d.ts +1 -0
  141. package/types/components/lmvz-snackbar/lmvz-snackbar.d.ts +1 -0
  142. package/types/components/lmvz-snackbar/public.d.ts +1 -0
  143. package/types/components/lmvz-snackbar/snackbar-controller.d.ts +1 -0
  144. package/types/components/lmvz-spinner/lmvz-spinner.d.ts +1 -0
  145. package/types/components/lmvz-tab/lmvz-tab.d.ts +1 -0
  146. package/types/components/lmvz-tabs/lmvz-tabs.d.ts +3 -1
  147. package/types/components/lmvz-toggle/lmvz-toggle.d.ts +1 -0
  148. package/types/components.d.ts +18 -0
  149. package/types/index.d.ts +1 -0
  150. package/types/utils/aria/aria-validation-controller.d.ts +1 -0
  151. package/types/utils/aria/aria.constants.d.ts +1 -0
  152. package/types/utils/aria/{list-keyboard-controller.d.ts → directional-focus-controller.d.ts} +13 -2
  153. package/types/utils/aria/element-activation-controller.d.ts +11 -2
  154. package/types/utils/async/async.util.d.ts +1 -0
  155. package/types/utils/data/event.util.d.ts +6 -0
  156. package/types/utils/data/number.util.d.ts +1 -0
  157. package/types/utils/data/object.util.d.ts +1 -0
  158. package/types/utils/data/time.util.d.ts +1 -0
  159. package/types/utils/element/element.util.d.ts +2 -0
  160. package/types/utils/environment.d.ts +1 -0
  161. package/types/utils/icons/icons-registry.d.ts +1 -0
  162. package/types/utils/icons/icons.d.ts +1 -0
  163. package/types/utils/icons/icons.unit.d.ts +1 -0
  164. package/types/utils/icons/public.d.ts +1 -0
  165. package/types/utils/public.d.ts +1 -0
  166. package/types/utils/radio/radio-group-controller.d.ts +1 -0
  167. package/types/utils/stencil/assets.d.ts +1 -0
  168. package/types/utils/stencil/reactive-controller-host.d.ts +8 -1
  169. package/types/utils/stencil/stencil.util.d.ts +1 -0
  170. package/cjs/element-activation-controller-DC_6T0Rt.js +0 -31
  171. package/components/p-BhSTYZC6.js +0 -1
  172. package/components/p-CK3Ixl1K.js +0 -1
  173. package/components/p-CN0JX9-m.js +0 -1
  174. package/components/p-D-2gj6LP.js +0 -1
  175. package/components/p-D9nUtvTm.js +0 -1
  176. package/components/p-DAMVH-31.js +0 -1
  177. package/components/p-JtkmlmeY.js +0 -1
  178. package/esm/element-activation-controller-CN0JX9-m.js +0 -29
  179. package/lmvz-components/p-45c3ccb6.entry.js +0 -1
  180. package/lmvz-components/p-49e98627.entry.js +0 -1
  181. package/lmvz-components/p-50063516.entry.js +0 -1
  182. package/lmvz-components/p-76be3fc9.entry.js +0 -1
  183. package/lmvz-components/p-854f1c72.entry.js +0 -1
  184. package/lmvz-components/p-886e42c7.entry.js +0 -1
  185. package/lmvz-components/p-9f8fd077.entry.js +0 -1
  186. package/lmvz-components/p-B0eCxdyI.js +0 -1
  187. package/lmvz-components/p-BhSTYZC6.js +0 -1
  188. package/lmvz-components/p-CN0JX9-m.js +0 -1
  189. package/lmvz-components/p-D9nUtvTm.js +0 -1
  190. package/lmvz-components/p-DuLiExhX.js +0 -1
  191. package/lmvz-components/p-FBuCCcFC.js +0 -1
  192. package/types/utils/data/event.utilt.d.ts +0 -4
@@ -1,7 +1,10 @@
1
1
  import { r as registerInstance, c as createEvent, g as getElement, h, H as Host } from './index-BPeerEwm.js';
2
2
  import { i as isAriaValidationEnabled } from './aria-loader-BfH06m7H.js';
3
- import { w as waitFrame } from './async.util-D9nUtvTm.js';
4
- import { g as getDeepActiveElement, w as walkShadowDOMUntil, k as isInteractiveElement, h as canReceiveFocus } from './element.util-B0eCxdyI.js';
3
+ import { i as isFocusControllerHost } from './directional-focus-controller-DgAdCZrG.js';
4
+ import { a as addElementActivationListener } from './element-activation-controller-7PNSl6io.js';
5
+ import { w as wait, a as waitFrame } from './async.util-DZj20TV1.js';
6
+ import { e as isActionButton, g as getDeepActiveElement, l as isHtmlElement, w as walkShadowDOMUntil, b as isInteractiveElement, j as canReceiveFocus } from './element.util-BFcYfHYq.js';
7
+ import './reactive-controller-host-CICeIanv.js';
5
8
 
6
9
  /**
7
10
  * Custom positioning reference element.
@@ -1370,10 +1373,12 @@ const LmvzPopover = class {
1370
1373
  this.lmvzCancel = createEvent(this, "lmvzCancel", 7);
1371
1374
  }
1372
1375
  get el() { return getElement(this); }
1373
- closureController = new AbortController();
1376
+ extEventController = new AbortController();
1377
+ closureController;
1374
1378
  containerEl;
1375
1379
  slotEl;
1376
1380
  previouslyFocusedElement = null;
1381
+ anchorEl;
1377
1382
  open = false;
1378
1383
  anchor;
1379
1384
  placement = 'bottom-start';
@@ -1399,7 +1404,6 @@ const LmvzPopover = class {
1399
1404
  }
1400
1405
  componentDidLoad() {
1401
1406
  autoAssignId(this.el);
1402
- validatePopoverAria(this.el, this.label, this.anchor, this.resolveAnchor());
1403
1407
  }
1404
1408
  handleOpenChange(isOpen) {
1405
1409
  if (isOpen) {
@@ -1409,24 +1413,40 @@ const LmvzPopover = class {
1409
1413
  this.onClose();
1410
1414
  }
1411
1415
  }
1412
- handleAnchorChange() {
1413
- if (this.open) {
1414
- this.updatePosition();
1416
+ async handleAnchorChange(anchor) {
1417
+ if (!anchor) {
1418
+ console.warn('anchor property missing for popover', this.el?.id);
1419
+ this.anchor = undefined;
1420
+ return;
1415
1421
  }
1422
+ await wait();
1423
+ this.anchorEl = typeof anchor === 'string' ? document.getElementById(anchor) : anchor;
1424
+ this.setupAnchorEl();
1425
+ if (!this.open)
1426
+ return;
1427
+ this.updatePosition();
1416
1428
  }
1417
1429
  disconnectedCallback() {
1418
1430
  this.removeCloseHandlers();
1431
+ this.extEventController.abort();
1419
1432
  }
1420
- resolveAnchor() {
1421
- if (!this.anchor)
1422
- return null;
1423
- if (typeof this.anchor === 'string') {
1424
- return document.getElementById(this.anchor);
1433
+ setupAnchorEl() {
1434
+ const { anchorEl } = this;
1435
+ if (!anchorEl) {
1436
+ console.warn('no anchor element set for', this);
1437
+ return;
1425
1438
  }
1426
- return this.anchor;
1439
+ if (!anchorEl.hasAttribute('aria-haspopup')) {
1440
+ anchorEl.setAttribute('aria-haspopup', 'dialog');
1441
+ }
1442
+ anchorEl.setAttribute('aria-controls', this.el.getAttribute('id'));
1443
+ if (isActionButton(anchorEl)) {
1444
+ addElementActivationListener(anchorEl, this.toggle.bind(this), this.extEventController.signal);
1445
+ }
1446
+ validatePopoverAria(this.el, this.label, this.anchor, anchorEl);
1427
1447
  }
1428
1448
  async updatePosition() {
1429
- const anchorEl = this.resolveAnchor();
1449
+ const { anchorEl } = this;
1430
1450
  const container = this.containerEl;
1431
1451
  if (!anchorEl || !container)
1432
1452
  return;
@@ -1441,7 +1461,6 @@ const LmvzPopover = class {
1441
1461
  async onOpen() {
1442
1462
  this.previouslyFocusedElement = getDeepActiveElement(document);
1443
1463
  this.setupCloseHandlers();
1444
- console.log('onOpen');
1445
1464
  await waitFrame();
1446
1465
  await this.updatePosition();
1447
1466
  autoAssignId(this.el);
@@ -1459,20 +1478,14 @@ const LmvzPopover = class {
1459
1478
  this.lmvzClose.emit();
1460
1479
  }
1461
1480
  applyAnchorAriaOpen() {
1462
- const anchorEl = this.resolveAnchor();
1463
- if (!anchorEl)
1481
+ if (!this.anchorEl)
1464
1482
  return;
1465
- if (!anchorEl.hasAttribute('aria-haspopup')) {
1466
- anchorEl.setAttribute('aria-haspopup', 'dialog');
1467
- }
1468
- anchorEl.setAttribute('aria-expanded', 'true');
1469
- anchorEl.setAttribute('aria-controls', this.el.getAttribute('id'));
1483
+ this.anchorEl.setAttribute('aria-expanded', 'true');
1470
1484
  }
1471
1485
  applyAnchorAriaClose() {
1472
- const anchorEl = this.resolveAnchor();
1473
- if (!anchorEl)
1486
+ if (!this.anchorEl)
1474
1487
  return;
1475
- anchorEl.setAttribute('aria-expanded', 'false');
1488
+ this.anchorEl.setAttribute('aria-expanded', 'false');
1476
1489
  }
1477
1490
  focusFirst() {
1478
1491
  const { slotEl } = this;
@@ -1480,6 +1493,12 @@ const LmvzPopover = class {
1480
1493
  return;
1481
1494
  const assigned = slotEl.assignedElements({ flatten: true });
1482
1495
  for (const el of assigned) {
1496
+ if (!isHtmlElement(el))
1497
+ continue;
1498
+ if (isFocusControllerHost(el)) {
1499
+ el.initFocus();
1500
+ return;
1501
+ }
1483
1502
  const focusable = walkShadowDOMUntil(el, canReceiveFocus);
1484
1503
  if (focusable) {
1485
1504
  focusable.focus();
@@ -1501,6 +1520,7 @@ const LmvzPopover = class {
1501
1520
  }
1502
1521
  }
1503
1522
  setupCloseHandlers() {
1523
+ this.closureController = new AbortController();
1504
1524
  const options = { signal: this.closureController.signal };
1505
1525
  document.addEventListener('mousedown', (event) => {
1506
1526
  if (!this.open)
@@ -1518,17 +1538,17 @@ const LmvzPopover = class {
1518
1538
  }, options);
1519
1539
  }
1520
1540
  removeCloseHandlers() {
1521
- this.closureController.abort();
1541
+ this.closureController?.abort();
1522
1542
  }
1523
1543
  render() {
1524
- return (h(Host, { key: '3dd462a66f17c1617e44787107379d9e4d8ca321' }, h("div", { key: '27106bc8f3169eb07e0d671635074ddb53feb652', role: "dialog", part: "container", class: `container lmvz-wrapper-card-${this.size}`, "aria-label": this.label || undefined, ref: (el) => (this.containerEl = el) }, h("slot", { key: '3401e621d999a225aeb7cb23fa4f5412544a6dab', ref: (el) => (this.slotEl = el) }))));
1544
+ return (h(Host, { key: '744dae23d80c1e81a0b8bd2e9fcb02c6669d54cd' }, h("div", { key: '7f40e25f1e05738b2bbf900b90613004eb188395', role: "dialog", part: "container", class: `container lmvz-wrapper-card-${this.size}`, "aria-label": this.label || undefined, ref: (el) => (this.containerEl = el) }, h("slot", { key: '5a400fd9e697254007973f2dce172588fe3760ee', ref: (el) => (this.slotEl = el) }))));
1525
1545
  }
1526
1546
  static get watchers() { return {
1527
1547
  "open": [{
1528
1548
  "handleOpenChange": 0
1529
1549
  }],
1530
1550
  "anchor": [{
1531
- "handleAnchorChange": 0
1551
+ "handleAnchorChange": 1
1532
1552
  }]
1533
1553
  }; }
1534
1554
  };
@@ -1,6 +1,6 @@
1
1
  import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-BPeerEwm.js';
2
2
  import { A as AriaValidationController } from './aria-validation-controller-BvOU1BO8.js';
3
- import { R as ReactiveControllerHost } from './reactive-controller-host-FBuCCcFC.js';
3
+ import { R as ReactiveControllerHost } from './reactive-controller-host-CICeIanv.js';
4
4
  import './aria-loader-BfH06m7H.js';
5
5
 
6
6
  function groupKey(name, scope) {
@@ -1,6 +1,6 @@
1
1
  import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-BPeerEwm.js';
2
2
  import { A as AriaValidationController } from './aria-validation-controller-BvOU1BO8.js';
3
- import { R as ReactiveControllerHost } from './reactive-controller-host-FBuCCcFC.js';
3
+ import { R as ReactiveControllerHost } from './reactive-controller-host-CICeIanv.js';
4
4
  import './aria-loader-BfH06m7H.js';
5
5
 
6
6
  const lmvzSelectCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } .sc-lmvz-select-h { display: block; font-family: var(--lmvz-global-font-family-default, Router); --lmvz-internal-select-floating-label-top-offset: 0.375rem; padding-top: var(--lmvz-internal-select-floating-label-top-offset); --lmvz-select-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-select-bg: var(--lmvz-semantic-color-surface-input-primary, #ffffff); --lmvz-select-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); --lmvz-select-border-color-hover: var(--lmvz-semantic-color-border-hover, #a1a1a1); --lmvz-select-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-select-text-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --lmvz-select-label-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --lmvz-select-padding-x: var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); --lmvz-select-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-select-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --lmvz-select-label-font-size: var(--lmvz-component-body-xs-font-size, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)); --lmvz-select-label-top-offset: calc(var(--lmvz-internal-select-floating-label-top-offset) * -1); --lmvz-select-label-minimized-padding-x: 4px; --lmvz-select-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); --lmvz-select-helper-color: var(--lmvz-semantic-color-on-surface-input-secondary, #545454); --lmvz-select-focus-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); --lmvz-select-error-color: var(--lmvz-semantic-color-status-on-danger, #a31419); } .select-wrapper.sc-lmvz-select { position: relative; height: var(--lmvz-select-height); } label.sc-lmvz-select { position: absolute; top: 50%; left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-label-color); line-height: normal; white-space: nowrap; pointer-events: none; z-index: 2; transform: translateY(-50%); transform-origin: left top; transition: top 0.2s ease-out, transform 0.2s ease-out, opacity 0.2s ease-out, padding 0.2s ease-out; } label.assistive-label.sc-lmvz-select { opacity: 0; padding: 0; } label.floating-label.sc-lmvz-select { top: var(--lmvz-select-label-top-offset); transform: translateY(0) scale(0.85); left: calc(var(--lmvz-select-padding-x) - 2px); background-color: var(--lmvz-select-bg); padding: 0 var(--lmvz-select-label-minimized-padding-x); opacity: 1; font-weight: 500; } label.sc-lmvz-select > span[aria-hidden='true'].sc-lmvz-select, div[aria-hidden='true'].sc-lmvz-select > span.sc-lmvz-select:first-child > span[aria-hidden='true'].sc-lmvz-select { color: var(--lmvz-select-error-color); margin-left: 2px; display: inline-block; line-height: 0; vertical-align: middle; } div[aria-hidden].sc-lmvz-select { display: flex; align-items: center; gap: var(--lmvz-select-gap); height: 100%; padding: 0 var(--lmvz-select-padding-x); border-radius: var(--lmvz-select-radius); background-color: var(--lmvz-select-bg); border: var(--lmvz-select-border-width) solid var(--lmvz-select-border-color); box-sizing: border-box; cursor: pointer; position: relative; z-index: 1; transition: border-color 0.15s ease; } .sc-lmvz-select-h:not([disabled] .select-wrapper.sc-lmvz-select:hover div[aria-hidden].sc-lmvz-select, [highlighted]).sc-lmvz-select-h .select-wrapper.sc-lmvz-select:hover div[aria-hidden].sc-lmvz-select { border-color: var(--lmvz-select-border-color-hover); } [highlighted].sc-lmvz-select-h div[aria-hidden].sc-lmvz-select { background-color: var(--lmvz-semantic-color-status-active-alternate, #0f8acc); border-color: var(--lmvz-semantic-color-border-active, #0f8acc); color: var(--lmvz-semantic-color-status-on-active-alternate, #ffffff); } [highlighted].sc-lmvz-select-h div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { color: var(--lmvz-semantic-color-status-on-active-alternate, #ffffff); } [highlighted].sc-lmvz-select-h label.floating-label.sc-lmvz-select { background-color: var(--lmvz-semantic-color-status-active-alternate, #0f8acc); color: var(--lmvz-semantic-color-status-on-active-alternate, #ffffff); } .select-wrapper.sc-lmvz-select:focus-within div[aria-hidden].sc-lmvz-select { outline: var(--lmvz-ds-outline, 1px solid #0e7ab4); outline-offset: var(--lmvz-ds-outline-offset, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)); } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { flex: 1 0 0; font: var(--lmvz-typography-body-md-strong, 500 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router); color: var(--lmvz-select-text-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .sc-lmvz-select-h:not([highlighted]) .select-wrapper.has-value.sc-lmvz-select div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { color: var(--lmvz-semantic-color-int-on-secondary-active, #000000); } div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:last-child { flex-shrink: 0; display: flex; align-items: center; justify-content: center; } div[aria-hidden].sc-lmvz-select svg.sc-lmvz-select { width: var(--lmvz-component-icon-size-2xs, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)); height: var(--lmvz-component-icon-size-2xs, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)); flex-shrink: 0; } select.sc-lmvz-select { appearance: none; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; border: none; background: transparent; margin: 0; padding: 0; } [disabled].sc-lmvz-select-h .select-wrapper.sc-lmvz-select { opacity: var(--lmvz-select-disabled-opacity); pointer-events: none; cursor: not-allowed; } [role='status'].sc-lmvz-select { margin-top: 4px; padding-left: var(--lmvz-select-padding-x); font-size: var(--lmvz-select-label-font-size); color: var(--lmvz-select-helper-color); line-height: normal; } [size='small'].sc-lmvz-select-h { --lmvz-select-height: var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem)); --lmvz-select-padding-x: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --lmvz-select-gap: var(--lmvz-component-input-gap-sm, clamp(0.38rem, 0.31rem + 0.26vw, 0.63rem)); --lmvz-select-label-font-size: var(--lmvz-component-body-2xs-font-size, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); } [size='small'].sc-lmvz-select-h div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { font-size: var(--lmvz-component-body-sm-font-size, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } [size='small'].sc-lmvz-select-h div[aria-hidden].sc-lmvz-select svg.sc-lmvz-select { width: var(--lmvz-component-icon-size-4xs, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); height: var(--lmvz-component-icon-size-4xs, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); } [size='large'].sc-lmvz-select-h { --lmvz-select-height: var(--lmvz-component-input-size-lg, clamp(2.75rem, 2.69rem + 0.26vw, 3rem)); --lmvz-select-padding-x: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --lmvz-select-gap: var(--lmvz-component-input-gap-lg, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --lmvz-select-label-font-size: var(--lmvz-component-body-sm-font-size, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } [size='large'].sc-lmvz-select-h div[aria-hidden].sc-lmvz-select > span.sc-lmvz-select:first-child { font-size: var(--lmvz-component-body-lg-font-size, clamp(1rem, 0.97rem + 0.13vw, 1.13rem)); } [size='large'].sc-lmvz-select-h div[aria-hidden].sc-lmvz-select svg.sc-lmvz-select { width: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); height: var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); }`;
@@ -1,7 +1,7 @@
1
1
  import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-BPeerEwm.js';
2
- import { D as DirectionalFocusController } from './list-keyboard-controller-tle6IRkv.js';
3
- import { R as ReactiveControllerHost } from './reactive-controller-host-FBuCCcFC.js';
4
- import './element.util-B0eCxdyI.js';
2
+ import { D as DirectionalFocusController } from './directional-focus-controller-DgAdCZrG.js';
3
+ import { R as ReactiveControllerHost } from './reactive-controller-host-CICeIanv.js';
4
+ import './element.util-BFcYfHYq.js';
5
5
 
6
6
  const lmvzTabsCss = () => ` @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @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); } } :host { display: inline-block; } .tablist { display: inline-flex; flex-direction: row; background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); border-radius: var(--lmvz-semantic-border-radius-round, 999px); overflow: auto hidden; scrollbar-width: none; } .tablist::-webkit-scrollbar { display: none; } :host([has-icon-tabs]) .tablist { gap: var(--lmvz-dimension-8-6, clamp(0.38rem, 0.34rem + 0.13vw, 0.5rem)); background: none; border-radius: 0; } :host([orientation='vertical']) .tablist { flex-direction: column; overflow: visible auto; } ::slotted([role='tabpanel']) { display: block; } ::slotted([role='tabpanel'][hidden]) { display: none; } `;
7
7
 
@@ -49,6 +49,9 @@ const LmvzTabs = class extends ReactiveControllerHost {
49
49
  this.syncFocusTargets();
50
50
  this.syncTabOrientation();
51
51
  }
52
+ async initFocus() {
53
+ this.focusController.initFocus();
54
+ }
52
55
  async activateTab(value) {
53
56
  const tab = this.findTabByValue(value);
54
57
  if (!tab || this.isTabDisabled(tab))
@@ -238,7 +241,7 @@ const LmvzTabs = class extends ReactiveControllerHost {
238
241
  this.selectTab(value);
239
242
  };
240
243
  render() {
241
- return (h(Host, { key: '2f681e7bfc21bd513bcb994f92c893bbc03ff713', onClick: this.handleTabClick, onKeydown: this.handleKeydown }, h("div", { key: '456ce3d11ccacd3e79995ffa643bb164127344b3', role: "tablist", "aria-orientation": this.orientation, class: "tablist" }, h("slot", { key: 'e4e4c698dde6416e0ba4d319e64d9ba3a2f79a19', ref: (el) => (this.tabSlotEl = el) })), h("div", { key: '3b90c8e7006dbf75e22b8377a18ac47488b1184f', part: "panels-container", class: "panels-container" }, h("slot", { key: '4cb4a9b04ab529a1bc7744a1893acf9a71c5c65e', name: "panels", ref: (el) => (this.panelSlotEl = el) }))));
244
+ return (h(Host, { key: '98df29f336a3ea47efa6c76a773de28c5174c718', onClick: this.handleTabClick, onKeydown: this.handleKeydown }, h("div", { key: '7e35ae180c4ebf2f5a82e0fad0977cd3c38ac659', role: "tablist", "aria-orientation": this.orientation, class: "tablist" }, h("slot", { key: '2520bc8b8988a60b37a067828ad237bf8dcfcc59', ref: (el) => (this.tabSlotEl = el) })), h("div", { key: 'bd4a954b6caca2d9f2eb588f58590821ec4af888', part: "panels-container", class: "panels-container" }, h("slot", { key: 'b4dffff530328e6e4c8d305895ef4dd2d5952757', name: "panels", ref: (el) => (this.panelSlotEl = el) }))));
242
245
  }
243
246
  static get watchers() { return {
244
247
  "value": [{
@@ -1,9 +1,9 @@
1
1
  import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-BPeerEwm.js';
2
2
  import { A as AriaValidationController } from './aria-validation-controller-BvOU1BO8.js';
3
- import { R as ReactiveControllerHost } from './reactive-controller-host-FBuCCcFC.js';
4
- import { c as componentOnReady } from './stencil.util-wGFRYLwZ.js';
3
+ import { R as ReactiveControllerHost } from './reactive-controller-host-CICeIanv.js';
4
+ import { c as componentOnReady } from './stencil.util-D2-5rsN3.js';
5
5
  import './aria-loader-BfH06m7H.js';
6
- import './async.util-D9nUtvTm.js';
6
+ import './async.util-DZj20TV1.js';
7
7
 
8
8
  const lmvzToggleCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('RouterBook-Regular'), local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'); font-weight: 400; } @font-face { font-family: Router; src: local('RouterMedium-Regular'), local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'); font-weight: 500; } @font-face { font-family: Router; src: local('RouterBold-Regular'), local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'); font-weight: 700; } } .sc-lmvz-toggle-h { display: inline-flex; align-items: center; gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); padding-block: var(--lmvz-dimension-8-2, clamp(0.13rem, 0.03rem + 0.39vw, 0.5rem)); padding-inline: var(--lmvz-dimension-10-4, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); border-radius: var(--lmvz-semantic-border-radius-round, 999px); cursor: pointer; background-color: transparent; user-select: none; } .sc-lmvz-toggle-h:not([disabled]):hover { background-color: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } [checked].sc-lmvz-toggle-h { background-color: var(--lmvz-semantic-color-status-active, #f6fbfe); } [disabled][checked].sc-lmvz-toggle-h { background-color: var(--lmvz-semantic-color-status-active, #f6fbfe); } [disabled].sc-lmvz-toggle-h { cursor: not-allowed; opacity: var(--lmvz-component-input-disabled-opacity, 40%); pointer-events: none; } .track.sc-lmvz-toggle { position: relative; flex-shrink: 0; width: var(--lmvz-global-s32, 32px); height: var(--lmvz-global-s20, 20px); border-radius: var(--lmvz-semantic-border-radius-round, 999px); background-color: var(--lmvz-semantic-color-surface-input-primary, #ffffff); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-default, #e0e0e0); } .sc-lmvz-toggle-h:not([disabled]):hover .track.sc-lmvz-toggle { border-color: var(--lmvz-semantic-color-border-hover, #a1a1a1); } [checked].sc-lmvz-toggle-h .track.sc-lmvz-toggle { border-color: var(--lmvz-semantic-color-border-active, #0f8acc); } input.sc-lmvz-toggle { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: inherit; } .thumb.sc-lmvz-toggle { position: absolute; width: var(--lmvz-global-s13, 13px); height: var(--lmvz-global-s13, 13px); border-radius: 50%; background-color: var(--lmvz-semantic-color-on-surface-input-secondary, #545454); top: 50%; transform: translateY(-50%); left: var(--lmvz-global-s4, 4px); transition: left 0.2s ease, background-color 0.2s ease; pointer-events: none; } [checked].sc-lmvz-toggle-h .thumb.sc-lmvz-toggle { left: calc(var(--lmvz-global-s4, 4px) + var(--lmvz-global-s11, 11px)); background-color: var(--lmvz-semantic-color-status-on-active, #0e7ab4); } label.sc-lmvz-toggle { font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5 Router); color: var(--lmvz-semantic-color-on-surface-primary, #000000); cursor: pointer; }`;
9
9
 
package/esm/loader.js CHANGED
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-DQuL1Twl.js';
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["lmvz-modal",[[769,"lmvz-modal",{"open":[1540],"closeLabel":[1,"close-label"],"hasHeader":[32]},[[0,"submit","handleFormDialogSubmit"]],{"open":[{"handleOpenChange":0}]}]]],["lmvz-message",[[769,"lmvz-message",{"type":[513],"live":[1],"leadingIcon":[4,"leading-icon"],"dismissible":[4],"closeLabel":[1,"close-label"],"actionLabel":[1,"action-label"]}]]],["lmvz-snackbar",[[513,"lmvz-snackbar",{"status":[1537],"message":[1025],"duration":[1026],"priority":[1025],"actionLabel":[1025,"action-label"],"animationClass":[32],"show":[64],"hide":[64]},null,{"status":[{"onStatusChange":0}]}]]],["lmvz-link",[[785,"lmvz-link",{"href":[513],"target":[513],"rel":[1],"type":[1537],"externalLabel":[1,"external-label"]},null,{"type":[{"normalizeType":0}]}]]],["lmvz-header_2",[[769,"lmvz-header",{"role":[2561],"lmvzActiveNav":[1,"lmvz-active-nav"]},null,{"lmvzActiveNav":[{"handleActiveNavChange":0}]}],[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-action",[[257,"lmvz-action"]]],["lmvz-action-list",[[774,"lmvz-action-list",{"label":[1]}]]],["lmvz-card",[[774,"lmvz-card",{"cardTitle":[1,"card-title"],"imageUrl":[1,"image-url"],"description":[1],"primaryActionLabel":[1,"primary-action-label"]}]]],["lmvz-checkbox",[[578,"lmvz-checkbox",{"label":[1],"checked":[1540],"value":[1],"name":[1],"disabled":[516],"required":[516],"error":[516],"errorMessage":[1,"error-message"],"helperText":[1,"helper-text"],"form":[1],"autofocus":[4],"checkedState":[32],"focusInput":[64],"checkValidity":[64],"reportValidity":[64]},null,{"checked":[{"handleCheckedChange":0}]}]]],["lmvz-chip",[[769,"lmvz-chip",{"type":[1537],"size":[1537]},null,{"type":[{"normalizeType":0}],"size":[{"normalizeSize":0}]}]]],["lmvz-input",[[838,"lmvz-input",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"placeholder":[1],"disabled":[516],"readonly":[516],"required":[516],"name":[1],"type":[1],"errorMessage":[1,"error-message"],"autocomplete":[1],"inputmode":[1],"autocorrect":[1],"autocapitalize":[1],"spellcheck":[4],"autofocus":[4],"minlength":[2],"maxlength":[2],"pattern":[1],"min":[8],"max":[8],"step":[8],"form":[1],"size":[513],"error":[6660],"nativeError":[32],"setValue":[64],"focusInput":[64],"blurInput":[64],"select":[64],"checkValidity":[64],"reportValidity":[64],"getInputElement":[64]},null,{"value":[{"handleValueChange":0}],"disabled":[{"handleDisabledChange":0}]}]]],["lmvz-menuitem",[[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-popover",[[769,"lmvz-popover",{"open":[1540],"anchor":[1],"placement":[1],"size":[1],"autoFocus":[4,"auto-focus"],"label":[1],"show":[64],"hide":[64],"toggle":[64]},null,{"open":[{"handleOpenChange":0}],"anchor":[{"handleAnchorChange":0}]}]]],["lmvz-radio",[[578,"lmvz-radio",{"label":[1],"checked":[1540],"value":[1],"name":[1],"disabled":[516],"required":[516],"error":[516],"helperText":[1,"helper-text"],"form":[513],"autofocus":[4],"focusInput":[64],"checkValidity":[64],"reportValidity":[64]},[[0,"keydown","handleKeydown"]],{"checked":[{"handleCheckedChange":0}],"value":[{"handleValueChange":0}],"label":[{"handleLabelChange":0}]}]]],["lmvz-select",[[774,"lmvz-select",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"disabled":[516],"required":[516],"name":[1],"size":[513],"highlighted":[516],"selectedLabel":[32]},null,{"value":[{"handleValueChange":0}]}]]],["lmvz-spinner",[[513,"lmvz-spinner",{"size":[513],"ariaLabel":[513,"aria-label"]}]]],["lmvz-tab",[[785,"lmvz-tab",{"value":[513],"disabled":[516],"selected":[516],"vertical":[516]}]]],["lmvz-tabs",[[769,"lmvz-tabs",{"value":[1537],"orientation":[1537],"resolvedValue":[32],"activateTab":[64],"getTabElements":[64],"setTabPanelIds":[64]},null,{"value":[{"handleValueChange":0}],"orientation":[{"handleOrientationChange":0}]}]]],["lmvz-toggle",[[578,"lmvz-toggle",{"label":[1],"checked":[1540],"disabled":[516],"required":[516],"name":[1],"value":[1],"form":[1],"focusToggle":[64],"blurToggle":[64],"checkValidity":[64],"reportValidity":[64],"getInputElement":[64]},null,{"checked":[{"handleCheckedChange":0}],"disabled":[{"handleDisabledChange":0}]}]]],["lmvz-button-group",[[769,"lmvz-button-group",{"stacked":[516],"primaryEnabledAction":[2064],"hasActions":[2052,"has-actions"]}]]],["lmvz-button_2",[[785,"lmvz-button",{"ti":[514,"tabindex"],"scale":[513],"variant":[513],"disabled":[516],"type":[1],"form":[1],"formMethod":[1,"form-method"],"name":[1],"value":[1],"buttonRole":[1,"button-role"]}],[514,"lmvz-icon",{"icon":[513],"weight":[513],"size":[513],"iconset":[513],"ariaLabel":[513,"aria-label"],"iconData":[32],"visible":[32]},null,{"icon":[{"loadIconPathData":0}],"iconset":[{"loadIconPathData":0}]}]]]], options);
8
+ return bootstrapLazy([["lmvz-modal",[[769,"lmvz-modal",{"open":[1540],"closeLabel":[1,"close-label"],"hasHeader":[32]},[[0,"submit","handleFormDialogSubmit"]],{"open":[{"handleOpenChange":0}]}]]],["lmvz-message",[[769,"lmvz-message",{"type":[513],"live":[1],"leadingIcon":[4,"leading-icon"],"dismissible":[4],"closeLabel":[1,"close-label"],"actionLabel":[1,"action-label"]}]]],["lmvz-snackbar",[[513,"lmvz-snackbar",{"status":[1537],"message":[1025],"duration":[1026],"priority":[1025],"actionLabel":[1025,"action-label"],"animationClass":[32],"show":[64],"hide":[64]},null,{"status":[{"onStatusChange":0}]}]]],["lmvz-link",[[785,"lmvz-link",{"href":[513],"target":[513],"rel":[1],"type":[1537],"externalLabel":[1,"external-label"]},null,{"type":[{"normalizeType":0}]}]]],["lmvz-header_2",[[769,"lmvz-header",{"role":[2561],"lmvzActiveNav":[1,"lmvz-active-nav"],"initFocus":[64]},null,{"lmvzActiveNav":[{"handleActiveNavChange":0}]}],[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-action",[[257,"lmvz-action"]]],["lmvz-action-list",[[774,"lmvz-action-list",{"label":[1],"initFocus":[64]}]]],["lmvz-card",[[774,"lmvz-card",{"cardTitle":[1,"card-title"],"imageUrl":[1,"image-url"],"description":[1],"primaryActionLabel":[1,"primary-action-label"]}]]],["lmvz-checkbox",[[578,"lmvz-checkbox",{"label":[1],"checked":[1540],"value":[1],"name":[1],"disabled":[516],"required":[516],"error":[516],"errorMessage":[1,"error-message"],"helperText":[1,"helper-text"],"form":[1],"autofocus":[4],"checkedState":[32],"focusInput":[64],"checkValidity":[64],"reportValidity":[64]},null,{"checked":[{"handleCheckedChange":0}]}]]],["lmvz-chip",[[769,"lmvz-chip",{"type":[1537],"size":[1537]},null,{"type":[{"normalizeType":0}],"size":[{"normalizeSize":0}]}]]],["lmvz-input",[[838,"lmvz-input",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"placeholder":[1],"disabled":[516],"readonly":[516],"required":[516],"name":[1],"type":[1],"errorMessage":[1,"error-message"],"autocomplete":[1],"inputmode":[1],"autocorrect":[1],"autocapitalize":[1],"spellcheck":[4],"autofocus":[4],"minlength":[2],"maxlength":[2],"pattern":[1],"min":[8],"max":[8],"step":[8],"form":[1],"size":[513],"error":[6660],"nativeError":[32],"setValue":[64],"focusInput":[64],"blurInput":[64],"select":[64],"checkValidity":[64],"reportValidity":[64],"getInputElement":[64]},null,{"value":[{"handleValueChange":0}],"disabled":[{"handleDisabledChange":0}]}]]],["lmvz-menuitem",[[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-popover",[[769,"lmvz-popover",{"open":[1540],"anchor":[1],"placement":[1],"size":[1],"autoFocus":[4,"auto-focus"],"label":[1],"anchorEl":[32],"show":[64],"hide":[64],"toggle":[64]},null,{"open":[{"handleOpenChange":0}],"anchor":[{"handleAnchorChange":1}]}]]],["lmvz-radio",[[578,"lmvz-radio",{"label":[1],"checked":[1540],"value":[1],"name":[1],"disabled":[516],"required":[516],"error":[516],"helperText":[1,"helper-text"],"form":[513],"autofocus":[4],"focusInput":[64],"checkValidity":[64],"reportValidity":[64]},[[0,"keydown","handleKeydown"]],{"checked":[{"handleCheckedChange":0}],"value":[{"handleValueChange":0}],"label":[{"handleLabelChange":0}]}]]],["lmvz-select",[[774,"lmvz-select",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"disabled":[516],"required":[516],"name":[1],"size":[513],"highlighted":[516],"selectedLabel":[32]},null,{"value":[{"handleValueChange":0}]}]]],["lmvz-spinner",[[513,"lmvz-spinner",{"size":[513],"ariaLabel":[513,"aria-label"]}]]],["lmvz-tab",[[785,"lmvz-tab",{"value":[513],"disabled":[516],"selected":[516],"vertical":[516]}]]],["lmvz-tabs",[[769,"lmvz-tabs",{"value":[1537],"orientation":[1537],"resolvedValue":[32],"initFocus":[64],"activateTab":[64],"getTabElements":[64],"setTabPanelIds":[64]},null,{"value":[{"handleValueChange":0}],"orientation":[{"handleOrientationChange":0}]}]]],["lmvz-toggle",[[578,"lmvz-toggle",{"label":[1],"checked":[1540],"disabled":[516],"required":[516],"name":[1],"value":[1],"form":[1],"focusToggle":[64],"blurToggle":[64],"checkValidity":[64],"reportValidity":[64],"getInputElement":[64]},null,{"checked":[{"handleCheckedChange":0}],"disabled":[{"handleDisabledChange":0}]}]]],["lmvz-button-group",[[769,"lmvz-button-group",{"stacked":[516],"primaryEnabledAction":[2064],"hasActions":[2052,"has-actions"]}]]],["lmvz-button_2",[[785,"lmvz-button",{"ti":[514,"tabindex"],"scale":[513],"variant":[513],"disabled":[516],"type":[1],"form":[1],"formMethod":[1,"form-method"],"name":[1],"value":[1],"buttonRole":[1,"button-role"]}],[514,"lmvz-icon",{"icon":[513],"weight":[513],"size":[513],"iconset":[513],"ariaLabel":[513,"aria-label"],"iconData":[32],"visible":[32]},null,{"icon":[{"loadIconPathData":0}],"iconset":[{"loadIconPathData":0}]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -1,5 +1,4 @@
1
- 'use strict';
2
-
1
+ const META_BASE = '__LMVZ__';
3
2
  class ReactiveControllerHost {
4
3
  controllers = new Set();
5
4
  addController(controller) {
@@ -39,5 +38,18 @@ class ReactiveControllerHost {
39
38
  this.activeControllers.forEach((controller) => controller.hostDidUpdate?.());
40
39
  }
41
40
  }
41
+ function registerLmvzComponentMetaInfo(el, key, info) {
42
+ if (!el) {
43
+ console.warn('component is undefined');
44
+ return;
45
+ }
46
+ const cmp = el;
47
+ if (!cmp[META_BASE])
48
+ cmp[META_BASE] = {};
49
+ cmp[META_BASE][key] = info;
50
+ }
51
+ function getLmvzComponentMetaInfo(el, key) {
52
+ return el?.[META_BASE]?.[key];
53
+ }
42
54
 
43
- exports.ReactiveControllerHost = ReactiveControllerHost;
55
+ export { ReactiveControllerHost as R, getLmvzComponentMetaInfo as g, registerLmvzComponentMetaInfo as r };
@@ -1,4 +1,4 @@
1
- import { r as raf } from './async.util-D9nUtvTm.js';
1
+ import { r as raf } from './async.util-DZj20TV1.js';
2
2
 
3
3
  const componentOnReady = (stencilEl, callback) => {
4
4
  if (hasLazyBuild(stencilEl)) {