@lmvz-ds/components 0.27.1 → 0.28.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 (146) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/cjs/{aria-validation-controller-BMV2tv9-.js → aria-validation-controller-Z4TtOp2l.js} +1 -1
  3. package/cjs/close-sm-CATLoxxd.js +5 -0
  4. package/cjs/{ds.constants-BbWUmoDv.js → ds.constants-CN0zFjB7.js} +2 -0
  5. package/cjs/{index-BCFBLj0e.js → index-TGsVZNDP.js} +26 -2
  6. package/cjs/index.cjs.js +2 -1
  7. package/cjs/lmvz-action.cjs.entry.js +1 -1
  8. package/cjs/lmvz-button-group.cjs.entry.js +1 -1
  9. package/cjs/lmvz-button_2.cjs.entry.js +2 -2
  10. package/cjs/lmvz-card.cjs.entry.js +1 -1
  11. package/cjs/lmvz-checkbox.cjs.entry.js +2 -2
  12. package/cjs/lmvz-chip.cjs.entry.js +3 -3
  13. package/cjs/lmvz-components.cjs.js +2 -2
  14. package/cjs/lmvz-header_2.cjs.entry.js +2 -2
  15. package/cjs/lmvz-input.cjs.entry.js +2 -2
  16. package/cjs/lmvz-menuitem.cjs.entry.js +2 -2
  17. package/cjs/lmvz-message.cjs.entry.js +78 -0
  18. package/cjs/lmvz-modal.cjs.entry.js +5 -6
  19. package/cjs/lmvz-radio.cjs.entry.js +3 -3
  20. package/cjs/lmvz-select.cjs.entry.js +4 -4
  21. package/cjs/lmvz-snackbar.cjs.entry.js +5 -8
  22. package/cjs/lmvz-spinner.cjs.entry.js +20 -0
  23. package/cjs/lmvz-tab.cjs.entry.js +2 -2
  24. package/cjs/lmvz-tabs.cjs.entry.js +2 -2
  25. package/cjs/lmvz-toggle.cjs.entry.js +3 -3
  26. package/cjs/loader.cjs.js +2 -2
  27. package/cjs/warning-WEX_ABWL.js +8 -0
  28. package/collection/api/ds.constants.js +1 -0
  29. package/collection/collection-manifest.json +2 -0
  30. package/collection/components/lmvz-message/lmvz-message.css +50 -0
  31. package/collection/components/lmvz-message/lmvz-message.js +240 -0
  32. package/collection/components/lmvz-message/public.js +1 -0
  33. package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
  34. package/collection/components/lmvz-radio/lmvz-radio.js +1 -1
  35. package/collection/components/lmvz-select/lmvz-select.css +2 -4
  36. package/collection/components/lmvz-select/lmvz-select.js +1 -1
  37. package/collection/components/lmvz-snackbar/lmvz-snackbar.js +1 -1
  38. package/collection/components/lmvz-spinner/lmvz-spinner.css +40 -0
  39. package/collection/components/lmvz-spinner/lmvz-spinner.js +64 -0
  40. package/collection/components/lmvz-tab/lmvz-tab.js +1 -1
  41. package/collection/components/lmvz-tabs/lmvz-tabs.js +1 -1
  42. package/collection/components/lmvz-toggle/lmvz-toggle.js +1 -1
  43. package/collection/index.js +2 -1
  44. package/collection/integration/header-integration/header-integration.js +1 -1
  45. package/components/index.d.ts +4 -0
  46. package/components/index.d.ts.bak +4 -0
  47. package/components/index.js +1 -1
  48. package/components/lmvz-action.js +1 -1
  49. package/components/lmvz-button-group.js +1 -1
  50. package/components/lmvz-button.js +1 -1
  51. package/components/lmvz-card.js +1 -1
  52. package/components/lmvz-checkbox.js +1 -1
  53. package/components/lmvz-chip.js +1 -1
  54. package/components/lmvz-header.js +1 -1
  55. package/components/lmvz-icon.js +1 -1
  56. package/components/lmvz-input.js +1 -1
  57. package/components/lmvz-menuitem.js +1 -1
  58. package/components/lmvz-message.d.ts +11 -0
  59. package/components/lmvz-message.d.ts.bak +11 -0
  60. package/components/lmvz-message.js +1 -0
  61. package/components/lmvz-modal.js +1 -1
  62. package/components/lmvz-radio.js +1 -1
  63. package/components/lmvz-select.js +1 -1
  64. package/components/lmvz-snackbar.js +1 -1
  65. package/components/lmvz-spinner.d.ts +11 -0
  66. package/components/lmvz-spinner.d.ts.bak +11 -0
  67. package/components/lmvz-spinner.js +1 -0
  68. package/components/lmvz-tab.js +1 -1
  69. package/components/lmvz-tabs.js +1 -1
  70. package/components/lmvz-toggle.js +1 -1
  71. package/components/p-BSV3KDWl.js +1 -0
  72. package/components/{p-2VdcUIrr.js → p-C0f2nNPZ.js} +1 -1
  73. package/components/{p-BJEQw1Sz.js → p-C8znmF2h.js} +1 -1
  74. package/components/{p-DjvbwRyl.js → p-CXakymyP.js} +1 -1
  75. package/components/{p-0P2Wb3pE.js → p-DAMVH-31.js} +1 -1
  76. package/components/p-DGg7OzDl.js +1 -0
  77. package/components/{p-Cs7RCOHZ.js → p-DGlgVBPj.js} +1 -1
  78. package/components/p-DsT_K3_I.js +1 -0
  79. package/esm/{aria-validation-controller-D-KO0Asb.js → aria-validation-controller-BnyUKeJ6.js} +1 -1
  80. package/esm/close-sm-BSV3KDWl.js +3 -0
  81. package/esm/{ds.constants-HeV_qTCr.js → ds.constants-BTa7u4To.js} +2 -1
  82. package/esm/{index-CKYszC64.js → index-BPeerEwm.js} +26 -2
  83. package/esm/index.js +1 -1
  84. package/esm/lmvz-action.entry.js +1 -1
  85. package/esm/lmvz-button-group.entry.js +1 -1
  86. package/esm/lmvz-button_2.entry.js +2 -2
  87. package/esm/lmvz-card.entry.js +1 -1
  88. package/esm/lmvz-checkbox.entry.js +2 -2
  89. package/esm/lmvz-chip.entry.js +3 -3
  90. package/esm/lmvz-components.js +3 -3
  91. package/esm/lmvz-header_2.entry.js +2 -2
  92. package/esm/lmvz-input.entry.js +2 -2
  93. package/esm/lmvz-menuitem.entry.js +2 -2
  94. package/esm/lmvz-message.entry.js +76 -0
  95. package/esm/lmvz-modal.entry.js +4 -5
  96. package/esm/lmvz-radio.entry.js +3 -3
  97. package/esm/lmvz-select.entry.js +4 -4
  98. package/esm/lmvz-snackbar.entry.js +3 -6
  99. package/esm/lmvz-spinner.entry.js +18 -0
  100. package/esm/lmvz-tab.entry.js +2 -2
  101. package/esm/lmvz-tabs.entry.js +2 -2
  102. package/esm/lmvz-toggle.entry.js +3 -3
  103. package/esm/loader.js +3 -3
  104. package/esm/warning-DsT_K3_I.js +5 -0
  105. package/hydrate/index.js +149 -14
  106. package/hydrate/index.mjs +149 -14
  107. package/lmvz-components/index.esm.js +1 -1
  108. package/lmvz-components/lmvz-components.esm.js +1 -1
  109. package/lmvz-components/{p-bd23eab3.entry.js → p-02e8e45a.entry.js} +1 -1
  110. package/lmvz-components/{p-c6228cee.entry.js → p-3b3e532f.entry.js} +1 -1
  111. package/lmvz-components/{p-cb756f95.entry.js → p-44fea470.entry.js} +1 -1
  112. package/lmvz-components/p-45c3ccb6.entry.js +1 -0
  113. package/lmvz-components/{p-758dbb82.entry.js → p-4dc44520.entry.js} +1 -1
  114. package/lmvz-components/p-5c951888.entry.js +1 -0
  115. package/lmvz-components/{p-7b15cdce.entry.js → p-6a1c3088.entry.js} +1 -1
  116. package/lmvz-components/{p-c5c064f1.entry.js → p-80c6ec27.entry.js} +1 -1
  117. package/lmvz-components/p-84edbe53.entry.js +1 -0
  118. package/lmvz-components/p-85b0b718.entry.js +1 -0
  119. package/lmvz-components/{p-43b463bf.entry.js → p-877d0f3e.entry.js} +1 -1
  120. package/lmvz-components/p-8fc25ee2.entry.js +1 -0
  121. package/lmvz-components/{p-8874ff19.entry.js → p-98e3e85a.entry.js} +1 -1
  122. package/lmvz-components/p-BPeerEwm.js +2 -0
  123. package/lmvz-components/p-BSV3KDWl.js +1 -0
  124. package/lmvz-components/p-BTa7u4To.js +1 -0
  125. package/lmvz-components/{p-hRb38wX6.js → p-CPOia2kT.js} +1 -1
  126. package/lmvz-components/p-DsT_K3_I.js +1 -0
  127. package/lmvz-components/{p-25f045b2.entry.js → p-a4077c9f.entry.js} +1 -1
  128. package/lmvz-components/{p-a5c921dc.entry.js → p-d53f8afe.entry.js} +1 -1
  129. package/lmvz-components/{p-6de9981f.entry.js → p-e3ce44a3.entry.js} +1 -1
  130. package/lmvz-components/{p-6484fbc6.entry.js → p-e672c0fa.entry.js} +1 -1
  131. package/lmvz-components/p-fdb8de66.entry.js +1 -0
  132. package/manifest.json +350 -1
  133. package/package.json +9 -1
  134. package/types/api/ds.constants.d.ts +4 -0
  135. package/types/components/lmvz-message/lmvz-message.d.ts +20 -0
  136. package/types/components/lmvz-message/public.d.ts +1 -0
  137. package/types/components/lmvz-spinner/lmvz-spinner.d.ts +5 -0
  138. package/types/components.d.ts +105 -0
  139. package/types/index.d.ts +2 -1
  140. package/components/p-c7OzBK8f.js +0 -1
  141. package/lmvz-components/p-0a37e0f2.entry.js +0 -1
  142. package/lmvz-components/p-6988c3ea.entry.js +0 -1
  143. package/lmvz-components/p-CKYszC64.js +0 -2
  144. package/lmvz-components/p-HeV_qTCr.js +0 -1
  145. package/lmvz-components/p-da16ff58.entry.js +0 -1
  146. package/lmvz-components/p-fe607f10.entry.js +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BCFBLj0e.js');
4
- var ariaValidationController = require('./aria-validation-controller-BMV2tv9-.js');
3
+ var index = require('./index-TGsVZNDP.js');
4
+ var ariaValidationController = require('./aria-validation-controller-Z4TtOp2l.js');
5
5
  var component = require('./component-C7cavwmZ.js');
6
6
  var reactiveControllerHost = require('./reactive-controller-host-B_lZtcA6.js');
7
7
  require('./aria-loader-BRo2FTGh.js');
@@ -82,7 +82,7 @@ const LmvzToggle = class extends reactiveControllerHost.ReactiveControllerHost {
82
82
  this.lmvzChange.emit(newChecked);
83
83
  };
84
84
  render() {
85
- return (index.h(index.Host, { key: '452ea30df1191b45c606d7512982a0f743b7bf7a' }, index.h("span", { key: 'c538806b64de8bce70d0bc55c6a9eb279f4eff4c', class: "track" }, index.h("input", { key: 'afe04f4305744b3110092f9bfcbe8b4ee6f21c37', type: "checkbox", role: "switch", id: this.toggleId, checked: this.checked, disabled: this.disabled, required: this.required, name: this.name, value: this.value, form: this.form, ref: (el) => (this.nativeInputElement = el), onChange: this.handleChange }), index.h("span", { key: 'e8089a6e8ee084b3f316c837cf3225017c33a15e', class: "thumb", "aria-hidden": "true" })), index.h("label", { key: '085055f461f4240df2eb2b4ea441a5e782240276', htmlFor: this.toggleId }, this.label)));
85
+ return (index.h(index.Host, { key: '3bd8418b3c9161719d419d35f60d26843fb3110f' }, index.h("span", { key: '883a64fb80480e06bb175e626f8224aa6048b8f4', class: "track" }, index.h("input", { key: '21438217a82ab5049e341c7524de71429bd8c8c4', type: "checkbox", role: "switch", id: this.toggleId, checked: this.checked, disabled: this.disabled, required: this.required, name: this.name, value: this.value, form: this.form, ref: (el) => (this.nativeInputElement = el), onChange: this.handleChange }), index.h("span", { key: 'b652891bdd0462ac419e2e909a2e3a3e61d60993', class: "thumb", "aria-hidden": "true" })), index.h("label", { key: '3d934082c2b1fff11c057e62f5fbd9c9361ce5d4', htmlFor: this.toggleId }, this.label)));
86
86
  }
87
87
  static get formAssociated() { return true; }
88
88
  static get watchers() { return {
package/cjs/loader.cjs.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-BCFBLj0e.js');
3
+ var index = require('./index-TGsVZNDP.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy([["lmvz-modal.cjs",[[769,"lmvz-modal",{"open":[1540],"closeLabel":[1,"close-label"],"hasHeader":[32]},[[0,"submit","handleFormDialogSubmit"]],{"open":[{"handleOpenChange":0}]}]]],["lmvz-snackbar.cjs",[[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-header_2.cjs",[[769,"lmvz-header",{"role":[2561],"lmvzActiveNav":[1,"lmvz-active-nav"]},null,{"lmvzActiveNav":[{"handleActiveNavChange":0}]}],[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-action.cjs",[[257,"lmvz-action"]]],["lmvz-card.cjs",[[774,"lmvz-card",{"cardTitle":[1,"card-title"],"imageUrl":[1,"image-url"],"description":[1],"primaryActionLabel":[1,"primary-action-label"]}]]],["lmvz-checkbox.cjs",[[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.cjs",[[769,"lmvz-chip",{"type":[1537],"size":[1537]},null,{"type":[{"normalizeType":0}],"size":[{"normalizeSize":0}]}]]],["lmvz-input.cjs",[[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.cjs",[[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-radio.cjs",[[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.cjs",[[774,"lmvz-select",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"disabled":[516],"required":[516],"name":[1],"selectedLabel":[32]},null,{"value":[{"handleValueChange":0}]}]]],["lmvz-tab.cjs",[[785,"lmvz-tab",{"value":[513],"disabled":[516],"selected":[516],"vertical":[516]}]]],["lmvz-tabs.cjs",[[769,"lmvz-tabs",{"value":[1537],"orientation":[1537],"resolvedValue":[32],"activateTab":[64],"getTabElements":[64],"setTabPanelIds":[64]},null,{"value":[{"handleValueChange":0}],"orientation":[{"handleOrientationChange":0}]}]]],["lmvz-toggle.cjs",[[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.cjs",[[257,"lmvz-button-group",{"primaryEnabledAction":[2064],"hasActions":[2052,"has-actions"]}]]],["lmvz-button_2.cjs",[[785,"lmvz-button",{"ti":[2562,"tabindex"],"scale":[513],"variant":[513],"disabled":[516],"type":[1],"form":[1],"formMethod":[1,"form-method"],"name":[1],"value":[1]}],[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
+ return index.bootstrapLazy([["lmvz-modal.cjs",[[769,"lmvz-modal",{"open":[1540],"closeLabel":[1,"close-label"],"hasHeader":[32]},[[0,"submit","handleFormDialogSubmit"]],{"open":[{"handleOpenChange":0}]}]]],["lmvz-message.cjs",[[769,"lmvz-message",{"type":[513],"live":[1],"leadingIcon":[4,"leading-icon"],"dismissible":[4],"closeLabel":[1,"close-label"],"actionLabel":[1,"action-label"]}]]],["lmvz-snackbar.cjs",[[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-header_2.cjs",[[769,"lmvz-header",{"role":[2561],"lmvzActiveNav":[1,"lmvz-active-nav"]},null,{"lmvzActiveNav":[{"handleActiveNavChange":0}]}],[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-action.cjs",[[257,"lmvz-action"]]],["lmvz-card.cjs",[[774,"lmvz-card",{"cardTitle":[1,"card-title"],"imageUrl":[1,"image-url"],"description":[1],"primaryActionLabel":[1,"primary-action-label"]}]]],["lmvz-checkbox.cjs",[[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.cjs",[[769,"lmvz-chip",{"type":[1537],"size":[1537]},null,{"type":[{"normalizeType":0}],"size":[{"normalizeSize":0}]}]]],["lmvz-input.cjs",[[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.cjs",[[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-radio.cjs",[[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.cjs",[[774,"lmvz-select",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"disabled":[516],"required":[516],"name":[1],"selectedLabel":[32]},null,{"value":[{"handleValueChange":0}]}]]],["lmvz-spinner.cjs",[[513,"lmvz-spinner",{"size":[513],"ariaLabel":[513,"aria-label"]}]]],["lmvz-tab.cjs",[[785,"lmvz-tab",{"value":[513],"disabled":[516],"selected":[516],"vertical":[516]}]]],["lmvz-tabs.cjs",[[769,"lmvz-tabs",{"value":[1537],"orientation":[1537],"resolvedValue":[32],"activateTab":[64],"getTabElements":[64],"setTabPanelIds":[64]},null,{"value":[{"handleValueChange":0}],"orientation":[{"handleOrientationChange":0}]}]]],["lmvz-toggle.cjs",[[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.cjs",[[257,"lmvz-button-group",{"primaryEnabledAction":[2064],"hasActions":[2052,"has-actions"]}]]],["lmvz-button_2.cjs",[[785,"lmvz-button",{"ti":[2562,"tabindex"],"scale":[513],"variant":[513],"disabled":[516],"type":[1],"form":[1],"formMethod":[1,"form-method"],"name":[1],"value":[1]}],[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);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ const infoSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDJDNi40NzcxNSAyIDIgNi40NzcxNSAyIDEyQzIgMTcuNTIyOCA2LjQ3NzE1IDIyIDEyIDIyQzE3LjUyMjggMjIgMjIgMTcuNTIyOCAyMiAxMkMyMiA2LjQ3NzE1IDE3LjUyMjggMiAxMiAyWk0xMiA3QzExLjQ0NzcgNyAxMSA3LjQ0NzcyIDExIDhDMTEgOC41NTIyOCAxMS40NDc3IDkgMTIgOUMxMi41NTIzIDkgMTMgOC41NTIyOCAxMyA4QzEzIDcuNDQ3NzIgMTIuNTUyMyA3IDEyIDdaTTExIDExQzEwLjQ0NzcgMTEgMTAgMTEuNDQ3NyAxMCAxMkMxMCAxMi41NTIzIDEwLjQ0NzcgMTMgMTEgMTNWMTZDMTEgMTYuNTUyMyAxMS40NDc3IDE3IDEyIDE3SDEzQzEzLjU1MjMgMTcgMTQgMTYuNTUyMyAxNCAxNkMxNCAxNS40NDc3IDEzLjU1MjMgMTUgMTMgMTVWMTJDMTMgMTEuNDQ3NyAxMi41NTIzIDExIDEyIDExSDExWiIvPgo8L3N2Zz4K';
4
+
5
+ const warningSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjI4NjQgMy4wNDkzOEMxMS4wMzgwIDEuNjUwMjEgMTIuOTYyMCAxLjY1MDIxIDEzLjcxMzYgMy4wNDkzOEwyMi42NjY4IDE5LjI0OTRDMjMuNDAyNiAyMC42MTYxIDIyLjQ1ODggMjIuMjUwMCAyMC45NTMyIDIyLjI1MDBIMy4wNDY4MEMxLjU0MTIwIDIyLjI1MDAgMC41OTc0MTAgMjAuNjE2MSAxLjMzMzIwIDE5LjI0OTRMMTAuMjg2NCAzLjA0OTM4Wk0xMiA4QzExLjQ0NzcgOCAxMSA4LjQ0NzcyIDExIDlWMTRDMTEgMTQuNTUyMyAxMS40NDc3IDE1IDEyIDE1QzEyLjU1MjMgMTUgMTMgMTQuNTUyMyAxMyAxNFY5QzEzIDguNDQ3NzIgMTIuNTUyMyA4IDEyIDhaTTEyIDE2QzExLjQ0NzcgMTYgMTEgMTYuNDQ3NyAxMSAxN0MxMSAxNy41NTIzIDExLjQ0NzcgMTggMTIgMThDMTIuNTUyMyAxOCAxMyAxNy41NTIzIDEzIDE3QzEzIDE2LjQ0NzcgMTIuNTUyMyAxNiAxMiAxNloiLz4KPC9zdmc+Cg==';
6
+
7
+ exports.infoSvg = infoSvg;
8
+ exports.warningSvg = warningSvg;
@@ -8,6 +8,7 @@ export const iconSizes = [...sizes, 'inherit'];
8
8
  export const iconWeights = ['thin', 'medium', 'bold'];
9
9
  export const chipTypes = ['active', 'warning', 'success', 'error', 'neutral'];
10
10
  export const chipSizes = ['default', 'small'];
11
+ export const messageTypes = ['neutral', 'warning'];
11
12
  export const snackbarStatuses = ['success', 'warning', 'error'];
12
13
  export const snackbarPriorities = ['low', 'normal', 'high'];
13
14
  export const snackbarDismissReasons = ['timeout', 'manual', 'action', 'overridden', 'swallowed'];
@@ -10,10 +10,12 @@
10
10
  "components/lmvz-icon/lmvz-icon.js",
11
11
  "components/lmvz-input/lmvz-input.js",
12
12
  "components/lmvz-menuitem/lmvz-menuitem.js",
13
+ "components/lmvz-message/lmvz-message.js",
13
14
  "components/lmvz-modal/lmvz-modal.js",
14
15
  "components/lmvz-radio/lmvz-radio.js",
15
16
  "components/lmvz-select/lmvz-select.js",
16
17
  "components/lmvz-snackbar/lmvz-snackbar.js",
18
+ "components/lmvz-spinner/lmvz-spinner.js",
17
19
  "components/lmvz-tab/lmvz-tab.js",
18
20
  "components/lmvz-tabs/lmvz-tabs.js",
19
21
  "components/lmvz-toggle/lmvz-toggle.js",
@@ -0,0 +1,50 @@
1
+ :host {
2
+ display: flex;
3
+ flex-direction: row;
4
+ align-items: flex-start;
5
+ width: 100%;
6
+
7
+ padding: var(--lmvz-dimension-10-12, clamp(0.63rem, 0.59rem + 0.13vw, 0.75rem)) var(--lmvz-dimension-12-14, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem));
8
+ gap: var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));
9
+
10
+ border: var(--lmvz-semantic-border-width-default, 1px) solid;
11
+ border-radius: var(--lmvz-semantic-border-radius-md, 6px);
12
+
13
+ font: var(--lmvz-typography-body-md-strong, 500 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5
14
+ Router);
15
+ }
16
+
17
+ /* neutral maps to status-active tokens to preserve Figma's "neutral" naming convention;
18
+ the design system token uses "active" for the neutral/informational status colour role */
19
+
20
+ :host([type='neutral']) {
21
+ background-color: var(--lmvz-semantic-color-status-active, #f6fbfe);
22
+ border-color: var(--lmvz-semantic-color-status-on-active-subtle, #c1e6fa);
23
+ color: var(--lmvz-semantic-color-status-on-active, #0e7ab4);
24
+ }
25
+
26
+ :host([type='warning']) {
27
+ background-color: var(--lmvz-semantic-color-status-warning, #fffbf0);
28
+ border-color: var(--lmvz-semantic-color-status-on-warning-subtle, #ffdf75);
29
+ color: var(--lmvz-semantic-color-status-on-warning, #7a5e00);
30
+ }
31
+
32
+ .leading-icon {
33
+ flex-shrink: 0;
34
+ display: flex;
35
+ align-items: flex-start;
36
+ /* 2px raw value — parity row TM-1: icon optical alignment offset; no token exists for
37
+ sub-4px micro-adjustments in the current token scale */
38
+ padding-top: 2px;
39
+ width: var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem));
40
+ height: var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem));
41
+ }
42
+
43
+ .leading-icon svg {
44
+ width: 100%;
45
+ height: 100%;
46
+ }
47
+
48
+ .message {
49
+ flex: 1;
50
+ }
@@ -0,0 +1,240 @@
1
+ import { toValidSvgStringWithFallback } from "@lmvz-ds/lib-ts/validation/svg.js";
2
+ import { Host, h } from "@stencil/core";
3
+ import { isAriaValidationEnabled } from "../..";
4
+ import closeSmSvg from "@lmvz-ds/icons/assets/close-sm.svg";
5
+ import infoSvg from "@lmvz-ds/icons/assets/info.svg";
6
+ import warningSvg from "@lmvz-ds/icons/assets/warning.svg";
7
+ const INFO_SVG = toValidSvgStringWithFallback(infoSvg);
8
+ const WARNING_SVG = toValidSvgStringWithFallback(warningSvg);
9
+ const CLOSE_SM_SVG = toValidSvgStringWithFallback(closeSmSvg);
10
+ const TYPE_SVG = {
11
+ neutral: INFO_SVG,
12
+ warning: WARNING_SVG,
13
+ };
14
+ const BLOCK_TAGS = new Set([
15
+ 'ADDRESS', 'ARTICLE', 'ASIDE', 'BLOCKQUOTE',
16
+ 'CAPTION', 'COLGROUP',
17
+ 'DD', 'DETAILS', 'DIALOG', 'DIV', 'DL', 'DT',
18
+ 'FIELDSET', 'FIGCAPTION', 'FIGURE', 'FOOTER', 'FORM',
19
+ 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'HEADER', 'HGROUP', 'HR',
20
+ 'LI', 'MAIN', 'MENU', 'NAV',
21
+ 'OL', 'P', 'PRE',
22
+ 'SECTION', 'TABLE', 'TBODY', 'TD', 'TH', 'THEAD', 'TFOOT', 'TR',
23
+ 'UL',
24
+ ]);
25
+ export class LmvzMessage {
26
+ messageSlot;
27
+ warnedTags = new Set();
28
+ type = 'neutral';
29
+ live = 'off';
30
+ leadingIcon = true;
31
+ dismissible = false;
32
+ closeLabel = 'Schliessen';
33
+ actionLabel;
34
+ lmvzDismiss;
35
+ lmvzAction;
36
+ componentDidLoad() {
37
+ this.checkSlotContent();
38
+ }
39
+ handleDismissClick = () => {
40
+ this.lmvzDismiss.emit();
41
+ };
42
+ handleActionClick = () => {
43
+ this.lmvzAction.emit();
44
+ };
45
+ handleSlotChange = () => {
46
+ this.checkSlotContent();
47
+ };
48
+ checkSlotContent() {
49
+ if (!isAriaValidationEnabled())
50
+ return;
51
+ this.warnedTags.clear();
52
+ const elements = this.messageSlot?.assignedElements({ flatten: true }) ?? [];
53
+ for (const el of elements) {
54
+ const tag = el.tagName;
55
+ if (BLOCK_TAGS.has(tag) && !this.warnedTags.has(tag)) {
56
+ console.warn(`[lmvz-message] Block-level element <${tag.toLowerCase()}> is not allowed in the message slot. Only inline content is permitted.`);
57
+ this.warnedTags.add(tag);
58
+ }
59
+ }
60
+ }
61
+ render() {
62
+ const role = this.live === 'assertive' ? 'alert' : this.live === 'polite' ? 'status' : 'note';
63
+ return (h(Host, { key: '447fd8ce5b2c9cd176eb4408e9e29773364bfcef', role: role }, this.leadingIcon && h("span", { key: '63414bc912e2feda3a553ead42c660953e25d4c4', class: "leading-icon", "aria-hidden": "true", innerHTML: TYPE_SVG[this.type] }), h("span", { key: '4cbdeffedcb8e8c3b7a267b25d2ab2eef6ad26bb', class: "message" }, h("slot", { key: 'b7b6a462f9ae5571114c8b8876387ee9f97c9903', ref: (el) => (this.messageSlot = el), onSlotchange: this.handleSlotChange })), this.actionLabel && (h("lmvz-button", { key: '7b4362ef6d69e27cc614b2445daf5f217e8f21ea', variant: "tertiary", scale: "small", onLmvzActivation: this.handleActionClick }, this.actionLabel)), this.dismissible && (h("lmvz-button", { key: 'dae3ff6f9f8606811722c08b6465145b542149a1', variant: "tertiary", scale: "small", "aria-label": this.closeLabel, onClick: this.handleDismissClick }, h("lmvz-icon", { key: '0e5e7e1deef5027e218271c79d04b43f3a3109e1', "aria-hidden": "true", icon: CLOSE_SM_SVG })))));
64
+ }
65
+ static get is() { return "lmvz-message"; }
66
+ static get encapsulation() { return "shadow"; }
67
+ static get originalStyleUrls() {
68
+ return {
69
+ "$": ["lmvz-message.css"]
70
+ };
71
+ }
72
+ static get styleUrls() {
73
+ return {
74
+ "$": ["lmvz-message.css"]
75
+ };
76
+ }
77
+ static get properties() {
78
+ return {
79
+ "type": {
80
+ "type": "string",
81
+ "mutable": false,
82
+ "complexType": {
83
+ "original": "Message.Type",
84
+ "resolved": "\"neutral\" | \"warning\"",
85
+ "references": {
86
+ "Message": {
87
+ "location": "import",
88
+ "path": "../../api",
89
+ "id": "src/api/index.d.ts::Message",
90
+ "referenceLocation": "Message"
91
+ }
92
+ }
93
+ },
94
+ "required": false,
95
+ "optional": false,
96
+ "docs": {
97
+ "tags": [],
98
+ "text": ""
99
+ },
100
+ "getter": false,
101
+ "setter": false,
102
+ "reflect": true,
103
+ "attribute": "type",
104
+ "defaultValue": "'neutral'"
105
+ },
106
+ "live": {
107
+ "type": "string",
108
+ "mutable": false,
109
+ "complexType": {
110
+ "original": "'off' | 'polite' | 'assertive'",
111
+ "resolved": "\"assertive\" | \"off\" | \"polite\"",
112
+ "references": {}
113
+ },
114
+ "required": false,
115
+ "optional": false,
116
+ "docs": {
117
+ "tags": [],
118
+ "text": ""
119
+ },
120
+ "getter": false,
121
+ "setter": false,
122
+ "reflect": false,
123
+ "attribute": "live",
124
+ "defaultValue": "'off'"
125
+ },
126
+ "leadingIcon": {
127
+ "type": "boolean",
128
+ "mutable": false,
129
+ "complexType": {
130
+ "original": "boolean",
131
+ "resolved": "boolean",
132
+ "references": {}
133
+ },
134
+ "required": false,
135
+ "optional": false,
136
+ "docs": {
137
+ "tags": [],
138
+ "text": ""
139
+ },
140
+ "getter": false,
141
+ "setter": false,
142
+ "reflect": false,
143
+ "attribute": "leading-icon",
144
+ "defaultValue": "true"
145
+ },
146
+ "dismissible": {
147
+ "type": "boolean",
148
+ "mutable": false,
149
+ "complexType": {
150
+ "original": "boolean",
151
+ "resolved": "boolean",
152
+ "references": {}
153
+ },
154
+ "required": false,
155
+ "optional": false,
156
+ "docs": {
157
+ "tags": [],
158
+ "text": ""
159
+ },
160
+ "getter": false,
161
+ "setter": false,
162
+ "reflect": false,
163
+ "attribute": "dismissible",
164
+ "defaultValue": "false"
165
+ },
166
+ "closeLabel": {
167
+ "type": "string",
168
+ "mutable": false,
169
+ "complexType": {
170
+ "original": "string",
171
+ "resolved": "string",
172
+ "references": {}
173
+ },
174
+ "required": false,
175
+ "optional": false,
176
+ "docs": {
177
+ "tags": [],
178
+ "text": ""
179
+ },
180
+ "getter": false,
181
+ "setter": false,
182
+ "reflect": false,
183
+ "attribute": "close-label",
184
+ "defaultValue": "'Schliessen'"
185
+ },
186
+ "actionLabel": {
187
+ "type": "string",
188
+ "mutable": false,
189
+ "complexType": {
190
+ "original": "string",
191
+ "resolved": "string | undefined",
192
+ "references": {}
193
+ },
194
+ "required": false,
195
+ "optional": true,
196
+ "docs": {
197
+ "tags": [],
198
+ "text": ""
199
+ },
200
+ "getter": false,
201
+ "setter": false,
202
+ "reflect": false,
203
+ "attribute": "action-label"
204
+ }
205
+ };
206
+ }
207
+ static get events() {
208
+ return [{
209
+ "method": "lmvzDismiss",
210
+ "name": "lmvzDismiss",
211
+ "bubbles": true,
212
+ "cancelable": false,
213
+ "composed": true,
214
+ "docs": {
215
+ "tags": [],
216
+ "text": ""
217
+ },
218
+ "complexType": {
219
+ "original": "void",
220
+ "resolved": "void",
221
+ "references": {}
222
+ }
223
+ }, {
224
+ "method": "lmvzAction",
225
+ "name": "lmvzAction",
226
+ "bubbles": true,
227
+ "cancelable": false,
228
+ "composed": true,
229
+ "docs": {
230
+ "tags": [],
231
+ "text": ""
232
+ },
233
+ "complexType": {
234
+ "original": "void",
235
+ "resolved": "void",
236
+ "references": {}
237
+ }
238
+ }];
239
+ }
240
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -223,7 +223,7 @@ export class LmvzModal extends ReactiveControllerHost {
223
223
  this.hasHeader = this.hasAssignedContent(this.headerSlot);
224
224
  };
225
225
  render() {
226
- return (h(Host, { key: '1fbdbb1ab2d3ad423075465108d4ff807d07404e' }, h("dialog", { key: '622dd60366ad594e16471cc8921c97d23af14ccb', ref: (element) => (this.dialogEl = element), onCancel: this.handleDialogCancel, onClose: this.handleDialogClose, ...this.dialogAccessibilityAttributes }, h("div", { key: 'bcdfbefbd5f380e2bf946aed479d542a33927af1', class: "modal-shell" }, h("header", { key: 'dcd23467473d58b51bddaf613b3ac8c922eecdc6', class: { header: true, 'has-title': this.hasHeader } }, h("div", { key: 'b2aa21fda4a80d2ea003e6ec876c2b74df5d29fd', class: "title", id: this.dialogTitleId, hidden: !this.hasHeader }, h("slot", { key: 'b7238e5b24c0822a94087d4ff0567e6406542c73', name: "header", ref: (element) => (this.headerSlot = element), onSlotchange: this.handleHeaderSlotChange })), h("lmvz-button", { key: '5059671fb4d81c685becd3adb0be52dd92ec4dec', ref: (element) => (this.closeButtonEl = element), type: "button", class: "close-button", "aria-label": this.closeLabel, onClick: this.handleCloseButtonClick, variant: "tertiary" }, h("lmvz-icon", { key: '498447e60e0e33fc165f39cea35434080e869d3c', icon: closeIconSvg }))), h("div", { key: '39ecefb52d5990cb689b0e4f18a8b6fc501c840d', class: "body" }, h("slot", { key: 'b014d0633c28fb6b399f11f2323e102949548776' })), h("footer", { key: '201dae98bcf810f369d77b7e9f36d7cc71ed5db4', class: "actions", hidden: !this.buttonGroupEl?.hasActions }, h("lmvz-button-group", { key: 'e4559d383992e059f915670a0874cc3b9ef655a3', ref: (element) => (this.buttonGroupEl = element) }, h("slot", { key: '88b007e139d4a166a2ee886dcd0256293d5d33c9', name: "actions" })))))));
226
+ return (h(Host, { key: '5fbfbed1ae590e58f32ba47a8c3e1a321d59ba6b' }, h("dialog", { key: '90f0393450eaf0681b54cbb95f79379d951d652a', ref: (element) => (this.dialogEl = element), onCancel: this.handleDialogCancel, onClose: this.handleDialogClose, ...this.dialogAccessibilityAttributes }, h("div", { key: 'f07319e7cdf70f8d35b9aaabb83d7c284fec2c0f', class: "modal-shell" }, h("header", { key: 'a17ee4e506cef206357d07db1689dd46cf6cab05', class: { header: true, 'has-title': this.hasHeader } }, h("div", { key: '3695c1c15530a330493fb1d8e990b59ddb246375', class: "title", id: this.dialogTitleId, hidden: !this.hasHeader }, h("slot", { key: 'a2113f68da9c8ad2b697d5b76644533b9b59c664', name: "header", ref: (element) => (this.headerSlot = element), onSlotchange: this.handleHeaderSlotChange })), h("lmvz-button", { key: '33c6c3339144a0a69d869857b18b950726281d9e', ref: (element) => (this.closeButtonEl = element), type: "button", class: "close-button", "aria-label": this.closeLabel, onClick: this.handleCloseButtonClick, variant: "tertiary" }, h("lmvz-icon", { key: 'e680344beebd5ae4a7a24496f5f8113fd6d98187', icon: closeIconSvg }))), h("div", { key: '1798cdc2f930ae04959c8c0630347fb6f9825693', class: "body" }, h("slot", { key: 'eb77bb57b51a5efe18a765a45d4157613f50bbd4' })), h("footer", { key: '4c8c1f12919822af2471c60f78443b539f7a20e8', class: "actions", hidden: !this.buttonGroupEl?.hasActions }, h("lmvz-button-group", { key: '0a26fc145d70d7d95adbd8f3e4c29edabfc12422', ref: (element) => (this.buttonGroupEl = element) }, h("slot", { key: '8d05a256d8b8c28f20f51ea03358522768a15913', name: "actions" })))))));
227
227
  }
228
228
  static get is() { return "lmvz-modal"; }
229
229
  static get encapsulation() { return "shadow"; }
@@ -137,7 +137,7 @@ export class LmvzRadio extends ReactiveControllerHost {
137
137
  this.radioGroupController.setFocused(target);
138
138
  }
139
139
  render() {
140
- return (h(Host, { key: '0226e313fcf4fe3c3cf343cfe0776cf71da169a6' }, h("input", { key: '5bb1f733d2f29217bc7544d8fd24f6b21bedc654', type: "radio", id: this.radioId, name: this.name ?? undefined, value: this.value, checked: this.checked, disabled: this.disabled, required: this.required, autoFocus: this.autofocus, "aria-invalid": this.error ? 'true' : undefined, "aria-describedby": this.helperId, ref: (el) => (this.nativeInput = el), onChange: this.handleChange }), h("span", { key: 'ae18f49167d1a2e8e6ec4ceca435e69e3d79f593', class: "circle", "aria-hidden": "true" }, this.checked && h("span", { key: '5dfb65105831a672f2a47952aff987cd45e9b178', class: "dot" })), h("span", { key: 'df148ca52be7e580226d94ff9aef4e3cf5a6182c', class: "content" }, h("label", { key: 'e042c57755eadb64692ace49204dccb1ee03ed1c', htmlFor: this.radioId }, this.label), h("span", { key: 'a90b0bef927dddb39f9e6357adf888e0818a3c5a', "aria-live": "polite", class: "helper-text", id: this.helperId }, this.helperText))));
140
+ return (h(Host, { key: 'c07af5c7d75b0f0d2c20b3af9ea763bd28e027b5' }, h("input", { key: '2e7fddb7aa5df3f8bc0f1efbd110158680ec45d7', type: "radio", id: this.radioId, name: this.name ?? undefined, value: this.value, checked: this.checked, disabled: this.disabled, required: this.required, autoFocus: this.autofocus, "aria-invalid": this.error ? 'true' : undefined, "aria-describedby": this.helperId, ref: (el) => (this.nativeInput = el), onChange: this.handleChange }), h("span", { key: 'a2afc55b85527674e5a18bfc28e194ecc034053a', class: "circle", "aria-hidden": "true" }, this.checked && h("span", { key: 'd135da1d567743ea98ec5860feda3e6e8013bdb6', class: "dot" })), h("span", { key: '38c83e877135b221260bacdefca3cdb5446a4453', class: "content" }, h("label", { key: '781d9d5544c0cb9d061875ef3674f3c3156f0675', htmlFor: this.radioId }, this.label), h("span", { key: '1ed064b27dea65cbfb1b1bd38a9cb1b7a07de37e', "aria-live": "polite", class: "helper-text", id: this.helperId }, this.helperText))));
141
141
  }
142
142
  static get is() { return "lmvz-radio"; }
143
143
  static get encapsulation() { return "scoped"; }
@@ -130,11 +130,9 @@ div[aria-hidden] {
130
130
  }
131
131
  div[aria-hidden] > span:first-child {
132
132
  flex: 1 0 0;
133
- font-size: var(--lmvz-component-component-typography-body-md-font-size, 0.875rem);
134
- font-weight: var(--lmvz-global-font-weight-500, 500);
133
+ font: var(--lmvz-typography-body-md-strong, 500 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.5
134
+ Router);
135
135
  color: var(--lmvz-select-text-color);
136
- line-height: 1.4;
137
- letter-spacing: var(--lmvz-component-body-md-letter-spacing, 0);
138
136
  overflow: hidden;
139
137
  text-overflow: ellipsis;
140
138
  white-space: nowrap;
@@ -50,7 +50,7 @@ export class LmvzSelect extends ReactiveControllerHost {
50
50
  render() {
51
51
  const hasValue = this.hasValue;
52
52
  const shouldShowLabel = hasValue;
53
- return (h(Host, { key: '597245455ffb9b5f83472a7970fb1c6c92017fd2' }, h("div", { key: 'edeb4d02d5a5291e60fd2d26d16edc500a355b63', class: "select-wrapper" }, h("label", { key: 'd0068817bb3586467d73284cecc03de393c37589', htmlFor: this.selectId, class: shouldShowLabel ? 'floating-label' : 'assistive-label' }, this.label, this.required && shouldShowLabel && h("span", { key: '624ee28842aed8c01651c7758099bccc446840d6', "aria-hidden": "true" }, " *")), h("div", { key: '184591bc8ac11e9eed17795ce21319591e6d4211', "aria-hidden": "true" }, h("span", { key: '53e673521ed26125c24fb529d6016e3827b47a44' }, hasValue ? this.selectedLabel : this.label, this.required && !hasValue && h("span", { key: '7af1a756e3343701ad066f3c107b2028126c5f09', "aria-hidden": "true" }, " *")), h("span", { key: '6210f2069758f8579f67780530fd294210875b3f' }, h("img", { key: '05aa6cf110ba0c7eacd36f59525144c61f0705d9', src: chevronDownSvg, alt: "" }))), h("select", { key: 'dc9dfe93226858f73f1d5a655388b9ce3a5e4037', id: this.selectId, ref: (el) => (this.nativeSelectEl = el), name: this.name, disabled: this.disabled, required: this.required, "aria-label": this.label, onChange: this.handleChange }, !hasValue && h("option", { key: '38ffb95d089932d0ce0c6a5629004679d3f7f857', value: "", disabled: true, selected: true, hidden: true }), h("slot", { key: '51b96884bb010b0a93f24b8b2f3f91a7b040e220' }))), this.helperText && h("div", { key: 'f7149a48024e87d2a3843d96674e45cb91fd9cf4', role: "status" }, this.helperText)));
53
+ return (h(Host, { key: 'ea378aacdaae4df8eaecb3e906815d3d97b0b7b3' }, h("div", { key: '28d99d298556ca10233fcf7ebe159328989924bd', class: "select-wrapper" }, h("label", { key: '05e4969c87d11387a80c76731fb9e4f862554211', htmlFor: this.selectId, class: shouldShowLabel ? 'floating-label' : 'assistive-label' }, this.label, this.required && shouldShowLabel && h("span", { key: '4d1e5afd375b43a14e1b34214139fde45178b0ce', "aria-hidden": "true" }, " *")), h("div", { key: '93ba4ccbf77a17caaddeec5aa2d7576062dc47dd', "aria-hidden": "true" }, h("span", { key: '0c7054456cc775823dc3c118709e9dff72acbcb8' }, hasValue ? this.selectedLabel : this.label, this.required && !hasValue && h("span", { key: '1c8a75e56c0ca0187809e3c298a7e23304428dff', "aria-hidden": "true" }, " *")), h("span", { key: '1e696fd7a1203c1705e579c4425ccdd5d9e621a7' }, h("img", { key: 'c5723c1a240c360c50d02ff1b66c0bebb4337788', src: chevronDownSvg, alt: "" }))), h("select", { key: 'e50855b52dd997b6496ff8d0de23b2240843f742', id: this.selectId, ref: (el) => (this.nativeSelectEl = el), name: this.name, disabled: this.disabled, required: this.required, "aria-label": this.label, onChange: this.handleChange }, !hasValue && h("option", { key: '9044ee2e697c8e41e25acd019dabbf9dd2e54d3d', value: "", disabled: true, selected: true, hidden: true }), h("slot", { key: '87e0c5c64015c3920d33f4c316c1cf7ed94be4f0' }))), this.helperText && h("div", { key: '745e3512848019291c06bd7f0dcc230f63d960c1', role: "status" }, this.helperText)));
54
54
  }
55
55
  static get is() { return "lmvz-select"; }
56
56
  static get encapsulation() { return "scoped"; }
@@ -58,7 +58,7 @@ export class LmvzSnackbar {
58
58
  this.el.dispatchEvent(new CustomEvent('lmvzAction', { bubbles: false, composed: false }));
59
59
  };
60
60
  render() {
61
- return (h(Host, { key: '3cf529e3a1971926546758d2e04c3860fde23961', class: this.animationClass }, h("lmvz-icon", { key: '3bc7fb142b19ca4f01c04d33759bcd52cd46c77e', icon: STATUS_SVG[this.status], size: "md", weight: "bold" }), h("span", { key: 'b2d00f1602baefa7f1025d927d66f8867e3e7ce5', class: "message" }, this.message), this.actionLabel && (h("lmvz-button", { key: '92966ab42ef1c5fca044adf5b60a02b54ddcd43a', variant: "tertiary", scale: "small", onLmvzActivation: this.handleActionClick }, this.actionLabel))));
61
+ return (h(Host, { key: 'd4b4af1831aebd6bb9fdc67bedf43d7d4dd0d785', class: this.animationClass }, h("lmvz-icon", { key: '388f9d6f6aa968e74fa080c21f1b33562332293c', icon: STATUS_SVG[this.status], size: "md", weight: "bold" }), h("span", { key: 'a00168060f23ac8b42b82d4ff2960d488b9cdc4b', class: "message" }, this.message), this.actionLabel && (h("lmvz-button", { key: '95ce1c5d98244490725ac797d95a54527a908f1e', variant: "tertiary", scale: "small", onLmvzActivation: this.handleActionClick }, this.actionLabel))));
62
62
  }
63
63
  static get is() { return "lmvz-snackbar"; }
64
64
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,40 @@
1
+ :host {
2
+ --spinner-size: 1rem; /* token-gap: pending component.spinner.spinner-size-sm */
3
+
4
+ display: inline-block;
5
+ width: var(--spinner-size);
6
+ height: var(--spinner-size);
7
+ }
8
+
9
+ :host([size='large']) {
10
+ --spinner-size: 2rem; /* token-gap: pending component.spinner.spinner-size-lg */
11
+ }
12
+
13
+ svg {
14
+ width: 100%;
15
+ height: 100%;
16
+ transform-origin: center;
17
+ animation: lmvz-spinner-rotate var(--lmvz-global-duration-slow, 800ms) linear infinite;
18
+ color: var(--lmvz-semantic-color-border-active, #0f8acc);
19
+ }
20
+
21
+ circle {
22
+ fill: none;
23
+ stroke: currentcolor;
24
+ stroke-width: var(--lmvz-component-icon-border-width-strong, 1.5px);
25
+ stroke-linecap: round;
26
+ stroke-dasharray: 75 25;
27
+ vector-effect: non-scaling-stroke;
28
+ }
29
+
30
+ @keyframes lmvz-spinner-rotate {
31
+ to {
32
+ transform: rotate(360deg);
33
+ }
34
+ }
35
+
36
+ @media (prefers-reduced-motion: reduce) {
37
+ svg {
38
+ animation: none;
39
+ }
40
+ }
@@ -0,0 +1,64 @@
1
+ import { h, Host } from "@stencil/core";
2
+ export class LmvzSpinner {
3
+ size = 'small';
4
+ ariaLabel;
5
+ render() {
6
+ const hasLabel = !!this.ariaLabel?.trim();
7
+ return (h(Host, { key: '858398ba87b2d2d6fd0f44c742183a770c233597', role: hasLabel ? 'status' : undefined, "aria-label": hasLabel ? this.ariaLabel : undefined, "aria-hidden": hasLabel ? undefined : 'true' }, h("svg", { key: '5fb5c26c17efaaa69300f1c019e0d25a566b53d9', part: "indicator", viewBox: "0 0 16 16", "aria-hidden": "true" }, h("circle", { key: '82747f014363570ccf25cfdaba5eac052d1efdf7', pathLength: "100", cx: "8", cy: "8", r: "6" }))));
8
+ }
9
+ static get is() { return "lmvz-spinner"; }
10
+ static get encapsulation() { return "shadow"; }
11
+ static get originalStyleUrls() {
12
+ return {
13
+ "$": ["lmvz-spinner.css"]
14
+ };
15
+ }
16
+ static get styleUrls() {
17
+ return {
18
+ "$": ["lmvz-spinner.css"]
19
+ };
20
+ }
21
+ static get properties() {
22
+ return {
23
+ "size": {
24
+ "type": "string",
25
+ "mutable": false,
26
+ "complexType": {
27
+ "original": "'small' | 'large'",
28
+ "resolved": "\"large\" | \"small\"",
29
+ "references": {}
30
+ },
31
+ "required": false,
32
+ "optional": false,
33
+ "docs": {
34
+ "tags": [],
35
+ "text": "Size of the spinner."
36
+ },
37
+ "getter": false,
38
+ "setter": false,
39
+ "reflect": true,
40
+ "attribute": "size",
41
+ "defaultValue": "'small'"
42
+ },
43
+ "ariaLabel": {
44
+ "type": "string",
45
+ "mutable": false,
46
+ "complexType": {
47
+ "original": "string",
48
+ "resolved": "string | undefined",
49
+ "references": {}
50
+ },
51
+ "required": false,
52
+ "optional": true,
53
+ "docs": {
54
+ "tags": [],
55
+ "text": "Accessible name for assistive technology.\nLeave unset for decorative spinners so the element stays hidden from the accessibility tree."
56
+ },
57
+ "getter": false,
58
+ "setter": false,
59
+ "reflect": true,
60
+ "attribute": "aria-label"
61
+ }
62
+ };
63
+ }
64
+ }
@@ -14,7 +14,7 @@ export class LmvzTab {
14
14
  this.el.dispatchEvent(new CustomEvent('lmvzTabReady', { bubbles: true, composed: false }));
15
15
  }
16
16
  render() {
17
- return (h(Host, { key: 'f02b0624ac752f25e3996071ab88be1364dd27c3' }, h("button", { key: '1666fea6a68c66d5bf88141660067a66e0164891', part: "button", role: "tab", disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: 0 }, h("slot", { key: '23d1ef98da2a72efa3a5ec1563298fc4c08da441', name: "media", ref: (el) => (this.mediaSlotEl = el), onSlotchange: this.handleMediaSlotChange }), h("span", { key: 'bd96765d2228817c621a2ad4fd4f3b05fcdb3a21', class: "label" }, h("slot", { key: 'ef51c25169a1d993797a86b89fa296218e264969' })), h("span", { key: '28dda1631d62325a29e285909ee3f1c0ea9da3ad', "aria-hidden": "true", part: "indicator", class: "indicator" }))));
17
+ return (h(Host, { key: 'f773de6715166e8a321dc7c35f4f7c3e02f7f127' }, h("button", { key: '1c58f672e04956295292bb9becfd72e90ce36e6b', part: "button", role: "tab", disabled: this.disabled, "aria-selected": String(this.selected), "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: 0 }, h("slot", { key: '9381aeccc14ca81b963f9509f78ca0de420f0596', name: "media", ref: (el) => (this.mediaSlotEl = el), onSlotchange: this.handleMediaSlotChange }), h("span", { key: '289feb2180a5b190bc080804841d0a8f84d9ef2d', class: "label" }, h("slot", { key: 'df79c890e156883b37d6fbf34f4fbb957e33402c' })), h("span", { key: '54d091a18674ffd78e14f5a0da1dc648ffe91e13', "aria-hidden": "true", part: "indicator", class: "indicator" }))));
18
18
  }
19
19
  static get is() { return "lmvz-tab"; }
20
20
  static get encapsulation() { return "shadow"; }
@@ -232,7 +232,7 @@ export class LmvzTabs extends ReactiveControllerHost {
232
232
  this.selectTab(value);
233
233
  };
234
234
  render() {
235
- return (h(Host, { key: '3a503531069e0d83be9bde0e9bc2e1747498baf2', onClick: this.handleTabClick, onKeydown: this.handleKeydown }, h("div", { key: '25a37d52ba6c8c1b46c1e624da13b918e9bd33d1', role: "tablist", "aria-orientation": this.orientation, class: "tablist" }, h("slot", { key: '00b4ba4cf88081d8cd4ee21976398646e4f19679', ref: (el) => (this.tabSlotEl = el) })), h("div", { key: '872aba20a4d26facafc71821f7fc88cf96b05a33', part: "panels-container", class: "panels-container" }, h("slot", { key: '7681c24945e7d50e95f749bd5c056704db120b11', name: "panels", ref: (el) => (this.panelSlotEl = el) }))));
235
+ return (h(Host, { key: 'f86adf9c3ce7bbe664d34ce8f408df89c719e3b8', onClick: this.handleTabClick, onKeydown: this.handleKeydown }, h("div", { key: '9188d39f972b77226221b33079d45c77b2b10583', role: "tablist", "aria-orientation": this.orientation, class: "tablist" }, h("slot", { key: 'a5ec2df3485181ec2eb62b6c479af169371b4006', ref: (el) => (this.tabSlotEl = el) })), h("div", { key: '9e57154ddcb069f58e5d457ab6cd275d5bacebd5', part: "panels-container", class: "panels-container" }, h("slot", { key: '84cada87d9a7c9f75a4bf16ce5e8437969aadbe9', name: "panels", ref: (el) => (this.panelSlotEl = el) }))));
236
236
  }
237
237
  static get is() { return "lmvz-tabs"; }
238
238
  static get encapsulation() { return "shadow"; }
@@ -65,7 +65,7 @@ export class LmvzToggle extends ReactiveControllerHost {
65
65
  this.lmvzChange.emit(newChecked);
66
66
  };
67
67
  render() {
68
- return (h(Host, { key: '452ea30df1191b45c606d7512982a0f743b7bf7a' }, h("span", { key: 'c538806b64de8bce70d0bc55c6a9eb279f4eff4c', class: "track" }, h("input", { key: 'afe04f4305744b3110092f9bfcbe8b4ee6f21c37', type: "checkbox", role: "switch", id: this.toggleId, checked: this.checked, disabled: this.disabled, required: this.required, name: this.name, value: this.value, form: this.form, ref: (el) => (this.nativeInputElement = el), onChange: this.handleChange }), h("span", { key: 'e8089a6e8ee084b3f316c837cf3225017c33a15e', class: "thumb", "aria-hidden": "true" })), h("label", { key: '085055f461f4240df2eb2b4ea441a5e782240276', htmlFor: this.toggleId }, this.label)));
68
+ return (h(Host, { key: '3bd8418b3c9161719d419d35f60d26843fb3110f' }, h("span", { key: '883a64fb80480e06bb175e626f8224aa6048b8f4', class: "track" }, h("input", { key: '21438217a82ab5049e341c7524de71429bd8c8c4', type: "checkbox", role: "switch", id: this.toggleId, checked: this.checked, disabled: this.disabled, required: this.required, name: this.name, value: this.value, form: this.form, ref: (el) => (this.nativeInputElement = el), onChange: this.handleChange }), h("span", { key: 'b652891bdd0462ac419e2e909a2e3a3e61d60993', class: "thumb", "aria-hidden": "true" })), h("label", { key: '3d934082c2b1fff11c057e62f5fbd9c9361ce5d4', htmlFor: this.toggleId }, this.label)));
69
69
  }
70
70
  static get is() { return "lmvz-toggle"; }
71
71
  static get encapsulation() { return "scoped"; }
@@ -1,4 +1,5 @@
1
1
  export * from '@lmvz-ds/aria-validation';
2
- export { chipSizes, chipTypes, iconSizes, iconWeights, inputSizes, inputTypes, textSizes } from './api/ds.constants';
2
+ export { chipSizes, chipTypes, iconSizes, iconWeights, inputSizes, inputTypes, messageTypes, textSizes } from './api/ds.constants';
3
+ export * from './components/lmvz-message/public';
3
4
  export * from './components/lmvz-snackbar/public';
4
5
  export * from './utils/public';