@lmvz-ds/components 0.27.1 → 0.28.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.
- package/CHANGELOG.md +12 -0
- package/assets/icons/chevron-down.svg +1 -1
- package/cjs/{aria-validation-controller-BMV2tv9-.js → aria-validation-controller-Z4TtOp2l.js} +1 -1
- package/cjs/close-sm-CATLoxxd.js +5 -0
- package/cjs/{ds.constants-BbWUmoDv.js → ds.constants-JXqgKnXL.js} +5 -0
- package/cjs/{index-BCFBLj0e.js → index-TGsVZNDP.js} +26 -2
- package/cjs/index.cjs.js +3 -1
- package/cjs/lmvz-action.cjs.entry.js +1 -1
- package/cjs/lmvz-button-group.cjs.entry.js +1 -1
- package/cjs/lmvz-button_2.cjs.entry.js +2 -2
- package/cjs/lmvz-card.cjs.entry.js +1 -1
- package/cjs/lmvz-checkbox.cjs.entry.js +2 -2
- package/cjs/lmvz-chip.cjs.entry.js +3 -3
- package/cjs/lmvz-components.cjs.js +2 -2
- package/cjs/lmvz-header_2.cjs.entry.js +2 -2
- package/cjs/lmvz-input.cjs.entry.js +2 -2
- package/cjs/lmvz-menuitem.cjs.entry.js +2 -2
- package/cjs/lmvz-message.cjs.entry.js +78 -0
- package/cjs/lmvz-modal.cjs.entry.js +5 -6
- package/cjs/lmvz-radio.cjs.entry.js +3 -3
- package/cjs/lmvz-select.cjs.entry.js +6 -6
- package/cjs/lmvz-snackbar.cjs.entry.js +5 -8
- package/cjs/lmvz-spinner.cjs.entry.js +20 -0
- package/cjs/lmvz-tab.cjs.entry.js +2 -2
- package/cjs/lmvz-tabs.cjs.entry.js +2 -2
- package/cjs/lmvz-toggle.cjs.entry.js +3 -3
- package/cjs/loader.cjs.js +2 -2
- package/cjs/warning-WEX_ABWL.js +8 -0
- package/collection/api/ds.constants.js +2 -0
- package/collection/assets/icons/chevron-down.svg +1 -1
- package/collection/collection-manifest.json +2 -0
- package/collection/components/lmvz-message/lmvz-message.css +50 -0
- package/collection/components/lmvz-message/lmvz-message.js +240 -0
- package/collection/components/lmvz-message/public.js +1 -0
- package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
- package/collection/components/lmvz-radio/lmvz-radio.js +1 -1
- package/collection/components/lmvz-select/lmvz-select.css +63 -20
- package/collection/components/lmvz-select/lmvz-select.js +53 -2
- package/collection/components/lmvz-snackbar/lmvz-snackbar.js +1 -1
- package/collection/components/lmvz-spinner/lmvz-spinner.css +40 -0
- package/collection/components/lmvz-spinner/lmvz-spinner.js +64 -0
- package/collection/components/lmvz-tab/lmvz-tab.js +1 -1
- package/collection/components/lmvz-tabs/lmvz-tabs.js +1 -1
- package/collection/components/lmvz-toggle/lmvz-toggle.js +1 -1
- package/collection/index.js +2 -1
- package/collection/integration/header-integration/header-integration.js +1 -1
- package/components/index.d.ts +4 -0
- package/components/index.d.ts.bak +4 -0
- package/components/index.js +1 -1
- package/components/lmvz-action.js +1 -1
- package/components/lmvz-button-group.js +1 -1
- package/components/lmvz-button.js +1 -1
- package/components/lmvz-card.js +1 -1
- package/components/lmvz-checkbox.js +1 -1
- package/components/lmvz-chip.js +1 -1
- package/components/lmvz-header.js +1 -1
- package/components/lmvz-icon.js +1 -1
- package/components/lmvz-input.js +1 -1
- package/components/lmvz-menuitem.js +1 -1
- package/components/lmvz-message.d.ts +11 -0
- package/components/lmvz-message.d.ts.bak +11 -0
- package/components/lmvz-message.js +1 -0
- package/components/lmvz-modal.js +1 -1
- package/components/lmvz-radio.js +1 -1
- package/components/lmvz-select.js +1 -1
- package/components/lmvz-snackbar.js +1 -1
- package/components/lmvz-spinner.d.ts +11 -0
- package/components/lmvz-spinner.d.ts.bak +11 -0
- package/components/lmvz-spinner.js +1 -0
- package/components/lmvz-tab.js +1 -1
- package/components/lmvz-tabs.js +1 -1
- package/components/lmvz-toggle.js +1 -1
- package/components/p-BSV3KDWl.js +1 -0
- package/components/{p-2VdcUIrr.js → p-C0f2nNPZ.js} +1 -1
- package/components/{p-BJEQw1Sz.js → p-C8znmF2h.js} +1 -1
- package/components/{p-DjvbwRyl.js → p-CXakymyP.js} +1 -1
- package/components/{p-0P2Wb3pE.js → p-DAMVH-31.js} +1 -1
- package/components/p-DGg7OzDl.js +1 -0
- package/components/{p-Cs7RCOHZ.js → p-DGlgVBPj.js} +1 -1
- package/components/p-DsT_K3_I.js +1 -0
- package/esm/{aria-validation-controller-D-KO0Asb.js → aria-validation-controller-BnyUKeJ6.js} +1 -1
- package/esm/close-sm-BSV3KDWl.js +3 -0
- package/esm/{ds.constants-HeV_qTCr.js → ds.constants-DWePb-zu.js} +4 -1
- package/esm/{index-CKYszC64.js → index-BPeerEwm.js} +26 -2
- package/esm/index.js +1 -1
- package/esm/lmvz-action.entry.js +1 -1
- package/esm/lmvz-button-group.entry.js +1 -1
- package/esm/lmvz-button_2.entry.js +2 -2
- package/esm/lmvz-card.entry.js +1 -1
- package/esm/lmvz-checkbox.entry.js +2 -2
- package/esm/lmvz-chip.entry.js +3 -3
- package/esm/lmvz-components.js +3 -3
- package/esm/lmvz-header_2.entry.js +2 -2
- package/esm/lmvz-input.entry.js +2 -2
- package/esm/lmvz-menuitem.entry.js +2 -2
- package/esm/lmvz-message.entry.js +76 -0
- package/esm/lmvz-modal.entry.js +4 -5
- package/esm/lmvz-radio.entry.js +3 -3
- package/esm/lmvz-select.entry.js +6 -6
- package/esm/lmvz-snackbar.entry.js +3 -6
- package/esm/lmvz-spinner.entry.js +18 -0
- package/esm/lmvz-tab.entry.js +2 -2
- package/esm/lmvz-tabs.entry.js +2 -2
- package/esm/lmvz-toggle.entry.js +3 -3
- package/esm/loader.js +3 -3
- package/esm/warning-DsT_K3_I.js +5 -0
- package/hydrate/index.js +154 -17
- package/hydrate/index.mjs +154 -17
- package/lmvz-components/index.esm.js +1 -1
- package/lmvz-components/lmvz-components.esm.js +1 -1
- package/lmvz-components/{p-6484fbc6.entry.js → p-211ee69d.entry.js} +1 -1
- package/lmvz-components/{p-c6228cee.entry.js → p-3b3e532f.entry.js} +1 -1
- package/lmvz-components/p-4484ab62.entry.js +1 -0
- package/lmvz-components/{p-cb756f95.entry.js → p-44fea470.entry.js} +1 -1
- package/lmvz-components/p-45c3ccb6.entry.js +1 -0
- package/lmvz-components/{p-758dbb82.entry.js → p-4dc44520.entry.js} +1 -1
- package/lmvz-components/{p-c5c064f1.entry.js → p-5ace2c2d.entry.js} +1 -1
- package/lmvz-components/p-5c951888.entry.js +1 -0
- package/lmvz-components/{p-8874ff19.entry.js → p-5fcc6f84.entry.js} +1 -1
- package/lmvz-components/p-61752dcd.entry.js +1 -0
- package/lmvz-components/p-84edbe53.entry.js +1 -0
- package/lmvz-components/{p-43b463bf.entry.js → p-877d0f3e.entry.js} +1 -1
- package/lmvz-components/{p-bd23eab3.entry.js → p-8b4740bb.entry.js} +1 -1
- package/lmvz-components/p-8fc25ee2.entry.js +1 -0
- package/lmvz-components/p-BPeerEwm.js +2 -0
- package/lmvz-components/p-BSV3KDWl.js +1 -0
- package/lmvz-components/{p-hRb38wX6.js → p-CPOia2kT.js} +1 -1
- package/lmvz-components/p-DWePb-zu.js +1 -0
- package/lmvz-components/p-DsT_K3_I.js +1 -0
- package/lmvz-components/{p-25f045b2.entry.js → p-a4077c9f.entry.js} +1 -1
- package/lmvz-components/{p-a5c921dc.entry.js → p-d53f8afe.entry.js} +1 -1
- package/lmvz-components/p-dc28c6d8.entry.js +1 -0
- package/lmvz-components/{p-6de9981f.entry.js → p-e3ce44a3.entry.js} +1 -1
- package/manifest.json +430 -2
- package/package.json +9 -1
- package/types/api/ds.constants.d.ts +8 -0
- package/types/components/lmvz-message/lmvz-message.d.ts +20 -0
- package/types/components/lmvz-message/public.d.ts +1 -0
- package/types/components/lmvz-select/lmvz-select.d.ts +3 -0
- package/types/components/lmvz-spinner/lmvz-spinner.d.ts +5 -0
- package/types/components.d.ts +133 -0
- package/types/index.d.ts +2 -1
- package/components/p-c7OzBK8f.js +0 -1
- package/lmvz-components/p-0a37e0f2.entry.js +0 -1
- package/lmvz-components/p-6988c3ea.entry.js +0 -1
- package/lmvz-components/p-7b15cdce.entry.js +0 -1
- package/lmvz-components/p-CKYszC64.js +0 -2
- package/lmvz-components/p-HeV_qTCr.js +0 -1
- package/lmvz-components/p-da16ff58.entry.js +0 -1
- package/lmvz-components/p-fe607f10.entry.js +0 -1
package/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2026-06-
|
|
2
|
+
"timestamp": "2026-06-15T10:54:33",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.43.5",
|
|
@@ -452,11 +452,15 @@
|
|
|
452
452
|
],
|
|
453
453
|
"states": [],
|
|
454
454
|
"dependents": [
|
|
455
|
+
"lmvz-message",
|
|
455
456
|
"lmvz-modal",
|
|
456
457
|
"lmvz-snackbar"
|
|
457
458
|
],
|
|
458
459
|
"dependencies": [],
|
|
459
460
|
"dependencyGraph": {
|
|
461
|
+
"lmvz-message": [
|
|
462
|
+
"lmvz-button"
|
|
463
|
+
],
|
|
460
464
|
"lmvz-modal": [
|
|
461
465
|
"lmvz-button"
|
|
462
466
|
],
|
|
@@ -1582,11 +1586,15 @@
|
|
|
1582
1586
|
"parts": [],
|
|
1583
1587
|
"states": [],
|
|
1584
1588
|
"dependents": [
|
|
1589
|
+
"lmvz-message",
|
|
1585
1590
|
"lmvz-modal",
|
|
1586
1591
|
"lmvz-snackbar"
|
|
1587
1592
|
],
|
|
1588
1593
|
"dependencies": [],
|
|
1589
1594
|
"dependencyGraph": {
|
|
1595
|
+
"lmvz-message": [
|
|
1596
|
+
"lmvz-icon"
|
|
1597
|
+
],
|
|
1590
1598
|
"lmvz-modal": [
|
|
1591
1599
|
"lmvz-icon"
|
|
1592
1600
|
],
|
|
@@ -5777,6 +5785,256 @@
|
|
|
5777
5785
|
"dependencies": [],
|
|
5778
5786
|
"dependencyGraph": {}
|
|
5779
5787
|
},
|
|
5788
|
+
{
|
|
5789
|
+
"filePath": "src/components/lmvz-message/lmvz-message.tsx",
|
|
5790
|
+
"encapsulation": "shadow",
|
|
5791
|
+
"tag": "lmvz-message",
|
|
5792
|
+
"readme": "# lmvz-message\n\nA static inline message block that displays contextual information to the user. Use messages to present non-blocking feedback, warnings, or informational content within the page flow (distinct from dismissable notifications like snackbars or toast messages).\n\n**Design source:** [Figma component node 11010:2344](https://www.figma.com/design/...)\n\n## Variant Scope\n\nThe message component currently supports `neutral` and `warning` type variants. The following variants are deferred to O1:\n\n- `success` — requires additional design specification for success-specific color and icon semantics\n- `error` — requires accessibility review of assertive live-region behavior in inline context\n- `neutral-grey` — requires token alignment and visual distinction guidelines relative to `neutral`\n\n## Type Semantics and Accessibility\n\nThe message's `type` prop controls visual appearance and can influence accessibility semantics:\n\n| Type | Default Icon | Color Token | Notes |\n|------|--------------|-------------|-------|\n| `neutral` | Info icon | `color-status-active` | Informational message. Note: The token name does not semantically align with \"neutral\"; this dissonance reflects current design token constraints and may be reconsidered in future iterations. |\n| `warning` | Warning icon | `color-status-warning` | Warning message requiring user attention. |\n\n## ARIA and Accessibility\n\n- The message host element has a dynamic `role` that changes with the `live` prop: `role=\"note\"` by default (non-live), `role=\"status\"` when `live=\"polite\"`, and `role=\"alert\"` when `live=\"assertive\"`.\n- The `live` prop is opt-in. When set, it controls live-region semantics through implicit role semantics: `live=\"polite\"` provides non-blocking announcements via `role=\"status\"`, `live=\"assertive\"` provides interrupting announcements via `role=\"alert\"`. The default `live=\"off\"` sets `role=\"note\"`, rendering the message as static content without live-region semantics.\n- The leading icon is marked `aria-hidden=\"true\"` because its information is redundant with the visual type indicator and color coding.\n- When `dismissible=\"true\"`, the dismiss button's accessible name is set via the `closeLabel` prop (default: `'Schliessen'`). Provide an appropriate, localized close label to ensure keyboard and screen-reader users can identify the button's purpose.\n- The optional action button uses its `actionLabel` text as its accessible name via native button semantics.\n\n## Content and Slots\n\nThe message component uses a **default slot** to accept inline content. Only inline-level HTML elements are permitted as direct slot children (e.g. `<strong>`, `<em>`, `<a>`, `<span>`, `<code>`). Block-level elements (`<div>`, `<p>`, `<h1>`–`<h6>`, etc.) are not allowed.\n\nWhen `@lmvz-ds/aria-validation` is enabled (development only), the component emits a `console.warn` for each block-level element tag encountered in the slot. This validation runs per render pass and does not fire in production builds.\n\n## Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `type` | `'neutral' \\| 'warning'` | `'neutral'` | Message type controlling icon, color, and semantics. |\n| `live` | `'off' \\| 'polite' \\| 'assertive'` | `'off'` | Controls live-region semantics via implicit roles: `'off'` sets `role=\"note\"` (static content), `'polite'` sets `role=\"status\"` (polite live region), `'assertive'` sets `role=\"alert\"` (assertive live region). |\n| `leadingIcon` | `boolean` | `true` | Show the type-specific leading icon (info for neutral, warning triangle for warning). |\n| `dismissible` | `boolean` | `false` | Show the dismiss button. When `dismissible=\"true\"`, the `closeLabel` prop must be set to a meaningful, localized label. |\n| `closeLabel` | `string` | `'Schliessen'` | Accessible label for the dismiss button. Required and meaningful when `dismissible=\"true\"`. |\n| `actionLabel` | `string \\| undefined` | `undefined` | Optional action button label. When set, an action button is rendered. |\n\n## Events\n\n| Event | Type | Fired When |\n|-------|------|-----------|\n| `lmvzDismiss` | `CustomEvent<void>` | The user clicks the dismiss button (only emitted when `dismissible=\"true\"`). |\n| `lmvzAction` | `CustomEvent<void>` | The user clicks the action button (only emitted when `actionLabel` is set). |\n\n## Examples\n\n### Basic Neutral Message\n\n```html\n<lmvz-message type=\"neutral\" leadingIcon=\"true\">\n This is an informational message.\n</lmvz-message>\n```\n\n### Dismissible Warning\n\n```html\n<lmvz-message type=\"warning\" dismissible=\"true\" closeLabel=\"Dismiss\">\n Please review the following before proceeding.\n</lmvz-message>\n```\n\n```typescript\nconst message = document.querySelector('lmvz-message');\nmessage.addEventListener('lmvzDismiss', () => {\n console.log('Message dismissed');\n});\n```\n\n### Message with Action\n\n```html\n<lmvz-message type=\"neutral\" actionLabel=\"Extend\">\n Your session is about to expire.\n</lmvz-message>\n```\n\n```typescript\nconst message = document.querySelector('lmvz-message');\nmessage.addEventListener('lmvzAction', () => {\n console.log('User requested action');\n});\n```\n\n### Message with Inline Content\n\n```html\n<lmvz-message type=\"neutral\">\n Please visit <a href=\"/help\">our help page</a> for more information.\n</lmvz-message>\n```\n\nOnly inline elements like `<a>`, `<strong>`, and `<em>` are permitted in the slot. Block-level elements are not allowed.\n\n### Live Region (Screen Reader Announcement)\n\n```html\n<lmvz-message type=\"warning\" live=\"polite\">\n A warning has been detected.\n</lmvz-message>\n```\n\nWhen `live` is set to `polite` or `assertive`, the message is announced to screen readers at the appropriate politeness level.\n",
|
|
5793
|
+
"docs": "A static inline message block that displays contextual information to the user. Use messages to present non-blocking feedback, warnings, or informational content within the page flow (distinct from dismissable notifications like snackbars or toast messages).\n\n**Design source:** [Figma component node 11010:2344](https://www.figma.com/design/...)",
|
|
5794
|
+
"docsTags": [],
|
|
5795
|
+
"usage": {},
|
|
5796
|
+
"props": [
|
|
5797
|
+
{
|
|
5798
|
+
"name": "actionLabel",
|
|
5799
|
+
"type": "string | undefined",
|
|
5800
|
+
"complexType": {
|
|
5801
|
+
"original": "string",
|
|
5802
|
+
"resolved": "string | undefined",
|
|
5803
|
+
"references": {}
|
|
5804
|
+
},
|
|
5805
|
+
"mutable": false,
|
|
5806
|
+
"attr": "action-label",
|
|
5807
|
+
"reflectToAttr": false,
|
|
5808
|
+
"docs": "",
|
|
5809
|
+
"docsTags": [],
|
|
5810
|
+
"values": [
|
|
5811
|
+
{
|
|
5812
|
+
"type": "string"
|
|
5813
|
+
},
|
|
5814
|
+
{
|
|
5815
|
+
"type": "undefined"
|
|
5816
|
+
}
|
|
5817
|
+
],
|
|
5818
|
+
"optional": true,
|
|
5819
|
+
"required": false,
|
|
5820
|
+
"getter": false,
|
|
5821
|
+
"setter": false
|
|
5822
|
+
},
|
|
5823
|
+
{
|
|
5824
|
+
"name": "closeLabel",
|
|
5825
|
+
"type": "string",
|
|
5826
|
+
"complexType": {
|
|
5827
|
+
"original": "string",
|
|
5828
|
+
"resolved": "string",
|
|
5829
|
+
"references": {}
|
|
5830
|
+
},
|
|
5831
|
+
"mutable": false,
|
|
5832
|
+
"attr": "close-label",
|
|
5833
|
+
"reflectToAttr": false,
|
|
5834
|
+
"docs": "",
|
|
5835
|
+
"docsTags": [
|
|
5836
|
+
{
|
|
5837
|
+
"name": "default",
|
|
5838
|
+
"text": "'Schliessen'"
|
|
5839
|
+
}
|
|
5840
|
+
],
|
|
5841
|
+
"default": "'Schliessen'",
|
|
5842
|
+
"values": [
|
|
5843
|
+
{
|
|
5844
|
+
"type": "string"
|
|
5845
|
+
}
|
|
5846
|
+
],
|
|
5847
|
+
"optional": false,
|
|
5848
|
+
"required": false,
|
|
5849
|
+
"getter": false,
|
|
5850
|
+
"setter": false
|
|
5851
|
+
},
|
|
5852
|
+
{
|
|
5853
|
+
"name": "dismissible",
|
|
5854
|
+
"type": "boolean",
|
|
5855
|
+
"complexType": {
|
|
5856
|
+
"original": "boolean",
|
|
5857
|
+
"resolved": "boolean",
|
|
5858
|
+
"references": {}
|
|
5859
|
+
},
|
|
5860
|
+
"mutable": false,
|
|
5861
|
+
"attr": "dismissible",
|
|
5862
|
+
"reflectToAttr": false,
|
|
5863
|
+
"docs": "",
|
|
5864
|
+
"docsTags": [
|
|
5865
|
+
{
|
|
5866
|
+
"name": "default",
|
|
5867
|
+
"text": "false"
|
|
5868
|
+
}
|
|
5869
|
+
],
|
|
5870
|
+
"default": "false",
|
|
5871
|
+
"values": [
|
|
5872
|
+
{
|
|
5873
|
+
"type": "boolean"
|
|
5874
|
+
}
|
|
5875
|
+
],
|
|
5876
|
+
"optional": false,
|
|
5877
|
+
"required": false,
|
|
5878
|
+
"getter": false,
|
|
5879
|
+
"setter": false
|
|
5880
|
+
},
|
|
5881
|
+
{
|
|
5882
|
+
"name": "leadingIcon",
|
|
5883
|
+
"type": "boolean",
|
|
5884
|
+
"complexType": {
|
|
5885
|
+
"original": "boolean",
|
|
5886
|
+
"resolved": "boolean",
|
|
5887
|
+
"references": {}
|
|
5888
|
+
},
|
|
5889
|
+
"mutable": false,
|
|
5890
|
+
"attr": "leading-icon",
|
|
5891
|
+
"reflectToAttr": false,
|
|
5892
|
+
"docs": "",
|
|
5893
|
+
"docsTags": [
|
|
5894
|
+
{
|
|
5895
|
+
"name": "default",
|
|
5896
|
+
"text": "true"
|
|
5897
|
+
}
|
|
5898
|
+
],
|
|
5899
|
+
"default": "true",
|
|
5900
|
+
"values": [
|
|
5901
|
+
{
|
|
5902
|
+
"type": "boolean"
|
|
5903
|
+
}
|
|
5904
|
+
],
|
|
5905
|
+
"optional": false,
|
|
5906
|
+
"required": false,
|
|
5907
|
+
"getter": false,
|
|
5908
|
+
"setter": false
|
|
5909
|
+
},
|
|
5910
|
+
{
|
|
5911
|
+
"name": "live",
|
|
5912
|
+
"type": "\"assertive\" | \"off\" | \"polite\"",
|
|
5913
|
+
"complexType": {
|
|
5914
|
+
"original": "'off' | 'polite' | 'assertive'",
|
|
5915
|
+
"resolved": "\"assertive\" | \"off\" | \"polite\"",
|
|
5916
|
+
"references": {}
|
|
5917
|
+
},
|
|
5918
|
+
"mutable": false,
|
|
5919
|
+
"attr": "live",
|
|
5920
|
+
"reflectToAttr": false,
|
|
5921
|
+
"docs": "",
|
|
5922
|
+
"docsTags": [
|
|
5923
|
+
{
|
|
5924
|
+
"name": "default",
|
|
5925
|
+
"text": "'off'"
|
|
5926
|
+
}
|
|
5927
|
+
],
|
|
5928
|
+
"default": "'off'",
|
|
5929
|
+
"values": [
|
|
5930
|
+
{
|
|
5931
|
+
"value": "assertive",
|
|
5932
|
+
"type": "string"
|
|
5933
|
+
},
|
|
5934
|
+
{
|
|
5935
|
+
"value": "off",
|
|
5936
|
+
"type": "string"
|
|
5937
|
+
},
|
|
5938
|
+
{
|
|
5939
|
+
"value": "polite",
|
|
5940
|
+
"type": "string"
|
|
5941
|
+
}
|
|
5942
|
+
],
|
|
5943
|
+
"optional": false,
|
|
5944
|
+
"required": false,
|
|
5945
|
+
"getter": false,
|
|
5946
|
+
"setter": false
|
|
5947
|
+
},
|
|
5948
|
+
{
|
|
5949
|
+
"name": "type",
|
|
5950
|
+
"type": "\"neutral\" | \"warning\"",
|
|
5951
|
+
"complexType": {
|
|
5952
|
+
"original": "Message.Type",
|
|
5953
|
+
"resolved": "\"neutral\" | \"warning\"",
|
|
5954
|
+
"references": {
|
|
5955
|
+
"Message": {
|
|
5956
|
+
"location": "import",
|
|
5957
|
+
"path": "../../api",
|
|
5958
|
+
"id": "src/api/index.d.ts::Message",
|
|
5959
|
+
"referenceLocation": "Message"
|
|
5960
|
+
}
|
|
5961
|
+
}
|
|
5962
|
+
},
|
|
5963
|
+
"mutable": false,
|
|
5964
|
+
"attr": "type",
|
|
5965
|
+
"reflectToAttr": true,
|
|
5966
|
+
"docs": "",
|
|
5967
|
+
"docsTags": [
|
|
5968
|
+
{
|
|
5969
|
+
"name": "default",
|
|
5970
|
+
"text": "'neutral'"
|
|
5971
|
+
}
|
|
5972
|
+
],
|
|
5973
|
+
"default": "'neutral'",
|
|
5974
|
+
"values": [
|
|
5975
|
+
{
|
|
5976
|
+
"value": "neutral",
|
|
5977
|
+
"type": "string"
|
|
5978
|
+
},
|
|
5979
|
+
{
|
|
5980
|
+
"value": "warning",
|
|
5981
|
+
"type": "string"
|
|
5982
|
+
}
|
|
5983
|
+
],
|
|
5984
|
+
"optional": false,
|
|
5985
|
+
"required": false,
|
|
5986
|
+
"getter": false,
|
|
5987
|
+
"setter": false
|
|
5988
|
+
}
|
|
5989
|
+
],
|
|
5990
|
+
"methods": [],
|
|
5991
|
+
"events": [
|
|
5992
|
+
{
|
|
5993
|
+
"event": "lmvzAction",
|
|
5994
|
+
"detail": "void",
|
|
5995
|
+
"bubbles": true,
|
|
5996
|
+
"complexType": {
|
|
5997
|
+
"original": "void",
|
|
5998
|
+
"resolved": "void",
|
|
5999
|
+
"references": {}
|
|
6000
|
+
},
|
|
6001
|
+
"cancelable": false,
|
|
6002
|
+
"composed": true,
|
|
6003
|
+
"docs": "",
|
|
6004
|
+
"docsTags": []
|
|
6005
|
+
},
|
|
6006
|
+
{
|
|
6007
|
+
"event": "lmvzDismiss",
|
|
6008
|
+
"detail": "void",
|
|
6009
|
+
"bubbles": true,
|
|
6010
|
+
"complexType": {
|
|
6011
|
+
"original": "void",
|
|
6012
|
+
"resolved": "void",
|
|
6013
|
+
"references": {}
|
|
6014
|
+
},
|
|
6015
|
+
"cancelable": false,
|
|
6016
|
+
"composed": true,
|
|
6017
|
+
"docs": "",
|
|
6018
|
+
"docsTags": []
|
|
6019
|
+
}
|
|
6020
|
+
],
|
|
6021
|
+
"listeners": [],
|
|
6022
|
+
"styles": [],
|
|
6023
|
+
"slots": [],
|
|
6024
|
+
"parts": [],
|
|
6025
|
+
"states": [],
|
|
6026
|
+
"dependents": [],
|
|
6027
|
+
"dependencies": [
|
|
6028
|
+
"lmvz-button",
|
|
6029
|
+
"lmvz-icon"
|
|
6030
|
+
],
|
|
6031
|
+
"dependencyGraph": {
|
|
6032
|
+
"lmvz-message": [
|
|
6033
|
+
"lmvz-button",
|
|
6034
|
+
"lmvz-icon"
|
|
6035
|
+
]
|
|
6036
|
+
}
|
|
6037
|
+
},
|
|
5780
6038
|
{
|
|
5781
6039
|
"filePath": "src/components/lmvz-modal/lmvz-modal.tsx",
|
|
5782
6040
|
"encapsulation": "shadow",
|
|
@@ -6339,7 +6597,7 @@
|
|
|
6339
6597
|
"filePath": "src/components/lmvz-select/lmvz-select.tsx",
|
|
6340
6598
|
"encapsulation": "scoped",
|
|
6341
6599
|
"tag": "lmvz-select",
|
|
6342
|
-
"readme": "# lmvz-select\n\n\n",
|
|
6600
|
+
"readme": "# lmvz-select\n\n## Props\n\n### `size`\n\n- Type: `'small' | 'default' | 'large'`\n- Default: `'default'`\n\nControls the visual height variant of the select field. Use `small` for compact layouts, `default` for standard use, and `large` for emphasis.\n\n### `highlighted`\n\n- Type: `boolean`\n- Default: `false`\n\nIndicates that an active filter or selection applies (e.g., a filter chip is active). When `true`:\n- The host attribute `[highlighted]` is present for CSS styling (`:host([highlighted])`).\n- The host attribute `data-highlighted=\"true\"` is set for assistive-technology consumers.\n\nWhen `false`, `data-highlighted=\"false\"` is set. Note that `aria-pressed` and `aria-selected` are not used here; they conflict with native `<select>` semantics. The `data-highlighted` attribute provides the accessible contract.\n",
|
|
6343
6601
|
"docs": "Select component with floating label and pill-shaped trigger.\nWraps a native `<select>` element for full keyboard and form support.",
|
|
6344
6602
|
"docsTags": [
|
|
6345
6603
|
{
|
|
@@ -6412,6 +6670,35 @@
|
|
|
6412
6670
|
"getter": false,
|
|
6413
6671
|
"setter": false
|
|
6414
6672
|
},
|
|
6673
|
+
{
|
|
6674
|
+
"name": "highlighted",
|
|
6675
|
+
"type": "boolean",
|
|
6676
|
+
"complexType": {
|
|
6677
|
+
"original": "boolean",
|
|
6678
|
+
"resolved": "boolean",
|
|
6679
|
+
"references": {}
|
|
6680
|
+
},
|
|
6681
|
+
"mutable": false,
|
|
6682
|
+
"attr": "highlighted",
|
|
6683
|
+
"reflectToAttr": true,
|
|
6684
|
+
"docs": "Whether the select has an active filter or selection that should be visually\ndistinguished (e.g. a filter chip is applied).\n\nWhen `true`:\n- The host attribute `highlighted` is present (CSS: `:host([highlighted])`).\n- The host attribute `data-highlighted=\"true\"` is set for assistive-technology\n consumers that observe data attributes. When `false`, `data-highlighted` is\n set to `\"false\"`.\n\nNote: `aria-pressed` and `aria-selected` are intentionally not used here.\n`aria-pressed` is reserved for toggle-button roles; `aria-selected` is\nreserved for option/listbox roles. The `data-highlighted` attribute provides\nthe accessible contract without conflicting with native `<select>` semantics.",
|
|
6685
|
+
"docsTags": [
|
|
6686
|
+
{
|
|
6687
|
+
"name": "default",
|
|
6688
|
+
"text": "false"
|
|
6689
|
+
}
|
|
6690
|
+
],
|
|
6691
|
+
"default": "false",
|
|
6692
|
+
"values": [
|
|
6693
|
+
{
|
|
6694
|
+
"type": "boolean"
|
|
6695
|
+
}
|
|
6696
|
+
],
|
|
6697
|
+
"optional": false,
|
|
6698
|
+
"required": false,
|
|
6699
|
+
"getter": false,
|
|
6700
|
+
"setter": false
|
|
6701
|
+
},
|
|
6415
6702
|
{
|
|
6416
6703
|
"name": "label",
|
|
6417
6704
|
"type": "string",
|
|
@@ -6490,6 +6777,51 @@
|
|
|
6490
6777
|
"getter": false,
|
|
6491
6778
|
"setter": false
|
|
6492
6779
|
},
|
|
6780
|
+
{
|
|
6781
|
+
"name": "size",
|
|
6782
|
+
"type": "\"default\" | \"large\" | \"small\"",
|
|
6783
|
+
"complexType": {
|
|
6784
|
+
"original": "Select.Size",
|
|
6785
|
+
"resolved": "\"default\" | \"large\" | \"small\"",
|
|
6786
|
+
"references": {
|
|
6787
|
+
"Select": {
|
|
6788
|
+
"location": "import",
|
|
6789
|
+
"path": "../../api",
|
|
6790
|
+
"id": "src/api/index.d.ts::Select",
|
|
6791
|
+
"referenceLocation": "Select"
|
|
6792
|
+
}
|
|
6793
|
+
}
|
|
6794
|
+
},
|
|
6795
|
+
"mutable": false,
|
|
6796
|
+
"attr": "size",
|
|
6797
|
+
"reflectToAttr": true,
|
|
6798
|
+
"docs": "Visual size variant of the select field.\n- `small` — compact height\n- `default` — standard height (default)\n- `large` — increased height",
|
|
6799
|
+
"docsTags": [
|
|
6800
|
+
{
|
|
6801
|
+
"name": "default",
|
|
6802
|
+
"text": "'default'"
|
|
6803
|
+
}
|
|
6804
|
+
],
|
|
6805
|
+
"default": "'default'",
|
|
6806
|
+
"values": [
|
|
6807
|
+
{
|
|
6808
|
+
"value": "default",
|
|
6809
|
+
"type": "string"
|
|
6810
|
+
},
|
|
6811
|
+
{
|
|
6812
|
+
"value": "large",
|
|
6813
|
+
"type": "string"
|
|
6814
|
+
},
|
|
6815
|
+
{
|
|
6816
|
+
"value": "small",
|
|
6817
|
+
"type": "string"
|
|
6818
|
+
}
|
|
6819
|
+
],
|
|
6820
|
+
"optional": false,
|
|
6821
|
+
"required": false,
|
|
6822
|
+
"getter": false,
|
|
6823
|
+
"setter": false
|
|
6824
|
+
},
|
|
6493
6825
|
{
|
|
6494
6826
|
"name": "value",
|
|
6495
6827
|
"type": "string | undefined",
|
|
@@ -6818,6 +7150,92 @@
|
|
|
6818
7150
|
]
|
|
6819
7151
|
}
|
|
6820
7152
|
},
|
|
7153
|
+
{
|
|
7154
|
+
"filePath": "src/components/lmvz-spinner/lmvz-spinner.tsx",
|
|
7155
|
+
"encapsulation": "shadow",
|
|
7156
|
+
"tag": "lmvz-spinner",
|
|
7157
|
+
"readme": "# lmvz-spinner\n\n\n",
|
|
7158
|
+
"docs": "`lmvz-spinner` is an indeterminate progress indicator that signals an ongoing background operation.\n\nSet `aria-label` when the spinner is the primary loading indicator in its context.\nOmit it when decorative (e.g., inside a button that already announces its loading state).",
|
|
7159
|
+
"docsTags": [],
|
|
7160
|
+
"usage": {},
|
|
7161
|
+
"props": [
|
|
7162
|
+
{
|
|
7163
|
+
"name": "ariaLabel",
|
|
7164
|
+
"type": "string | undefined",
|
|
7165
|
+
"complexType": {
|
|
7166
|
+
"original": "string",
|
|
7167
|
+
"resolved": "string | undefined",
|
|
7168
|
+
"references": {}
|
|
7169
|
+
},
|
|
7170
|
+
"mutable": false,
|
|
7171
|
+
"attr": "aria-label",
|
|
7172
|
+
"reflectToAttr": true,
|
|
7173
|
+
"docs": "Accessible name for assistive technology.\nLeave unset for decorative spinners so the element stays hidden from the accessibility tree.",
|
|
7174
|
+
"docsTags": [],
|
|
7175
|
+
"values": [
|
|
7176
|
+
{
|
|
7177
|
+
"type": "string"
|
|
7178
|
+
},
|
|
7179
|
+
{
|
|
7180
|
+
"type": "undefined"
|
|
7181
|
+
}
|
|
7182
|
+
],
|
|
7183
|
+
"optional": true,
|
|
7184
|
+
"required": false,
|
|
7185
|
+
"getter": false,
|
|
7186
|
+
"setter": false
|
|
7187
|
+
},
|
|
7188
|
+
{
|
|
7189
|
+
"name": "size",
|
|
7190
|
+
"type": "\"large\" | \"small\"",
|
|
7191
|
+
"complexType": {
|
|
7192
|
+
"original": "'small' | 'large'",
|
|
7193
|
+
"resolved": "\"large\" | \"small\"",
|
|
7194
|
+
"references": {}
|
|
7195
|
+
},
|
|
7196
|
+
"mutable": false,
|
|
7197
|
+
"attr": "size",
|
|
7198
|
+
"reflectToAttr": true,
|
|
7199
|
+
"docs": "Size of the spinner.",
|
|
7200
|
+
"docsTags": [
|
|
7201
|
+
{
|
|
7202
|
+
"name": "default",
|
|
7203
|
+
"text": "'small'"
|
|
7204
|
+
}
|
|
7205
|
+
],
|
|
7206
|
+
"default": "'small'",
|
|
7207
|
+
"values": [
|
|
7208
|
+
{
|
|
7209
|
+
"value": "large",
|
|
7210
|
+
"type": "string"
|
|
7211
|
+
},
|
|
7212
|
+
{
|
|
7213
|
+
"value": "small",
|
|
7214
|
+
"type": "string"
|
|
7215
|
+
}
|
|
7216
|
+
],
|
|
7217
|
+
"optional": false,
|
|
7218
|
+
"required": false,
|
|
7219
|
+
"getter": false,
|
|
7220
|
+
"setter": false
|
|
7221
|
+
}
|
|
7222
|
+
],
|
|
7223
|
+
"methods": [],
|
|
7224
|
+
"events": [],
|
|
7225
|
+
"listeners": [],
|
|
7226
|
+
"styles": [],
|
|
7227
|
+
"slots": [],
|
|
7228
|
+
"parts": [
|
|
7229
|
+
{
|
|
7230
|
+
"name": "indicator",
|
|
7231
|
+
"docs": ""
|
|
7232
|
+
}
|
|
7233
|
+
],
|
|
7234
|
+
"states": [],
|
|
7235
|
+
"dependents": [],
|
|
7236
|
+
"dependencies": [],
|
|
7237
|
+
"dependencyGraph": {}
|
|
7238
|
+
},
|
|
6821
7239
|
{
|
|
6822
7240
|
"filePath": "src/components/lmvz-tab/lmvz-tab.tsx",
|
|
6823
7241
|
"encapsulation": "shadow",
|
|
@@ -7590,6 +8008,16 @@
|
|
|
7590
8008
|
"docstring": "",
|
|
7591
8009
|
"path": "src/api/index.d.ts"
|
|
7592
8010
|
},
|
|
8011
|
+
"src/api/index.d.ts::Message": {
|
|
8012
|
+
"declaration": "any",
|
|
8013
|
+
"docstring": "",
|
|
8014
|
+
"path": "src/api/index.d.ts"
|
|
8015
|
+
},
|
|
8016
|
+
"src/api/index.d.ts::Select": {
|
|
8017
|
+
"declaration": "any",
|
|
8018
|
+
"docstring": "",
|
|
8019
|
+
"path": "src/api/index.d.ts"
|
|
8020
|
+
},
|
|
7593
8021
|
"src/api/index.d.ts::Snackbar": {
|
|
7594
8022
|
"declaration": "any",
|
|
7595
8023
|
"docstring": "",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lmvz-ds/components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.28.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "The components of the design system",
|
|
7
7
|
"author": "Patrick Nemenz <patrick.nemenz@adesso.at>",
|
|
@@ -99,6 +99,14 @@
|
|
|
99
99
|
"./lmvz-radio": {
|
|
100
100
|
"import": "./components/lmvz-radio.js",
|
|
101
101
|
"types": "./components/lmvz-radio.d.ts"
|
|
102
|
+
},
|
|
103
|
+
"./lmvz-message": {
|
|
104
|
+
"import": "./components/lmvz-message.js",
|
|
105
|
+
"types": "./components/lmvz-message.d.ts"
|
|
106
|
+
},
|
|
107
|
+
"./lmvz-spinner": {
|
|
108
|
+
"import": "./components/lmvz-spinner.js",
|
|
109
|
+
"types": "./components/lmvz-spinner.d.ts"
|
|
102
110
|
}
|
|
103
111
|
},
|
|
104
112
|
"main": "./index.cjs.js",
|
|
@@ -4,6 +4,7 @@ export declare const sizes: readonly ["xs", "sm", "md", "lg"];
|
|
|
4
4
|
export declare const textSizes: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
5
5
|
export declare const inputTypes: readonly ["text", "email", "password", "tel", "url", "search", "number"];
|
|
6
6
|
export declare const inputSizes: readonly ["sm", "md", "lg"];
|
|
7
|
+
export declare const selectSizes: readonly ["small", "default", "large"];
|
|
7
8
|
export declare const iconSizes: readonly ["xs", "sm", "md", "lg", "inherit"];
|
|
8
9
|
export declare const iconWeights: readonly ["thin", "medium", "bold"];
|
|
9
10
|
export declare const chipTypes: readonly ["active", "warning", "success", "error", "neutral"];
|
|
@@ -34,6 +35,13 @@ export declare namespace Input {
|
|
|
34
35
|
type Inputmode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
|
|
35
36
|
type Autocapitalize = 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
|
|
36
37
|
}
|
|
38
|
+
export declare namespace Select {
|
|
39
|
+
type Size = (typeof selectSizes)[number];
|
|
40
|
+
}
|
|
41
|
+
export declare const messageTypes: readonly ["neutral", "warning"];
|
|
42
|
+
export declare namespace Message {
|
|
43
|
+
type Type = (typeof messageTypes)[number];
|
|
44
|
+
}
|
|
37
45
|
export declare const snackbarStatuses: readonly ["success", "warning", "error"];
|
|
38
46
|
export declare const snackbarPriorities: readonly ["low", "normal", "high"];
|
|
39
47
|
export declare const snackbarDismissReasons: readonly ["timeout", "manual", "action", "overridden", "swallowed"];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { Message } from '../../api';
|
|
3
|
+
export declare class LmvzMessage {
|
|
4
|
+
private messageSlot?;
|
|
5
|
+
private readonly warnedTags;
|
|
6
|
+
type: Message.Type;
|
|
7
|
+
live: 'off' | 'polite' | 'assertive';
|
|
8
|
+
leadingIcon: boolean;
|
|
9
|
+
dismissible: boolean;
|
|
10
|
+
closeLabel: string;
|
|
11
|
+
actionLabel?: string;
|
|
12
|
+
lmvzDismiss: EventEmitter<void>;
|
|
13
|
+
lmvzAction: EventEmitter<void>;
|
|
14
|
+
componentDidLoad(): void;
|
|
15
|
+
private readonly handleDismissClick;
|
|
16
|
+
private readonly handleActionClick;
|
|
17
|
+
private readonly handleSlotChange;
|
|
18
|
+
private checkSlotContent;
|
|
19
|
+
render(): any;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { Message } from '../../api';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { Select } from '../../api';
|
|
2
3
|
import { type AriaValidationHost } from '../../utils/aria/aria-validation-controller';
|
|
3
4
|
import { ReactiveControllerHost } from '../../utils/reactive-controller-host';
|
|
4
5
|
export declare class LmvzSelect extends ReactiveControllerHost implements AriaValidationHost {
|
|
@@ -14,6 +15,8 @@ export declare class LmvzSelect extends ReactiveControllerHost implements AriaVa
|
|
|
14
15
|
disabled: boolean;
|
|
15
16
|
required: boolean;
|
|
16
17
|
name?: string;
|
|
18
|
+
size: Select.Size;
|
|
19
|
+
highlighted: boolean;
|
|
17
20
|
private selectedLabel;
|
|
18
21
|
private get hasValue();
|
|
19
22
|
componentDidLoad(): void;
|