@lmvz-ds/components 0.40.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cjs/{aria-validation-controller-DKNXjnQr.js → aria-validation-controller-BR7cnyq5.js} +1 -1
  3. package/cjs/{ds.constants-C6eKRAEu.js → ds.constants-pI-qkOYv.js} +2 -0
  4. package/cjs/{index-DWy4nuyZ.js → index-BUrb__KL.js} +52 -11
  5. package/cjs/index.cjs.js +2 -1
  6. package/cjs/lmvz-action-list.cjs.entry.js +2 -2
  7. package/cjs/lmvz-action.cjs.entry.js +1 -1
  8. package/cjs/lmvz-button-group.cjs.entry.js +2 -2
  9. package/cjs/lmvz-button_2.cjs.entry.js +4 -4
  10. package/cjs/lmvz-card.cjs.entry.js +59 -15
  11. package/cjs/lmvz-checkbox.cjs.entry.js +3 -3
  12. package/cjs/lmvz-chip.cjs.entry.js +4 -4
  13. package/cjs/lmvz-components.cjs.js +3 -3
  14. package/cjs/lmvz-datepicker.cjs.entry.js +3 -3
  15. package/cjs/lmvz-header_2.cjs.entry.js +3 -3
  16. package/cjs/lmvz-input.cjs.entry.js +6 -7
  17. package/cjs/lmvz-link.cjs.entry.js +3 -3
  18. package/cjs/lmvz-menuitem.cjs.entry.js +3 -3
  19. package/cjs/lmvz-message.cjs.entry.js +2 -2
  20. package/cjs/lmvz-modal.cjs.entry.js +3 -3
  21. package/cjs/lmvz-popover.cjs.entry.js +2 -2
  22. package/cjs/lmvz-radio.cjs.entry.js +3 -3
  23. package/cjs/lmvz-select.cjs.entry.js +3 -3
  24. package/cjs/lmvz-snackbar.cjs.entry.js +2 -2
  25. package/cjs/lmvz-spinner.cjs.entry.js +3 -3
  26. package/cjs/lmvz-tab.cjs.entry.js +2 -2
  27. package/cjs/lmvz-tabs.cjs.entry.js +2 -2
  28. package/cjs/lmvz-toggle.cjs.entry.js +3 -3
  29. package/cjs/loader.cjs.js +2 -2
  30. package/collection/api/ds.constants.js +1 -0
  31. package/collection/api/public-utils.js +3 -0
  32. package/collection/collection-manifest.json +2 -3
  33. package/collection/components/lmvz-card/lmvz-card.css +82 -194
  34. package/collection/components/lmvz-card/lmvz-card.js +131 -38
  35. package/collection/components/lmvz-checkbox/lmvz-checkbox.js +1 -1
  36. package/collection/components/lmvz-chip/lmvz-chip.js +1 -1
  37. package/collection/components/lmvz-datepicker/lmvz-datepicker.js +2 -2
  38. package/collection/components/lmvz-header/lmvz-header.js +1 -1
  39. package/collection/components/lmvz-icon/lmvz-icon.js +7 -6
  40. package/collection/components/lmvz-input/lmvz-input.js +14 -35
  41. package/collection/components/lmvz-link/lmvz-link.js +1 -1
  42. package/collection/components/lmvz-menuitem/lmvz-menuitem.js +1 -1
  43. package/collection/components/lmvz-message/lmvz-message.js +1 -1
  44. package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
  45. package/collection/components/lmvz-popover/lmvz-popover.js +1 -1
  46. package/collection/components/lmvz-radio/lmvz-radio.js +1 -1
  47. package/collection/components/lmvz-select/lmvz-select.js +1 -1
  48. package/collection/components/lmvz-snackbar/lmvz-snackbar.js +1 -1
  49. package/collection/components/lmvz-spinner/lmvz-spinner.js +7 -6
  50. package/collection/components/lmvz-tab/lmvz-tab.js +1 -1
  51. package/collection/components/lmvz-tabs/lmvz-tabs.js +1 -1
  52. package/collection/components/lmvz-toggle/lmvz-toggle.js +1 -1
  53. package/collection/index.js +1 -3
  54. package/components/index.js +1 -1
  55. package/components/lmvz-action-list.js +1 -1
  56. package/components/lmvz-action.js +1 -1
  57. package/components/lmvz-button-group.js +1 -1
  58. package/components/lmvz-button.js +1 -1
  59. package/components/lmvz-card.js +1 -1
  60. package/components/lmvz-checkbox.js +1 -1
  61. package/components/lmvz-chip.js +1 -1
  62. package/components/lmvz-datepicker.js +1 -1
  63. package/components/lmvz-header.js +1 -1
  64. package/components/lmvz-icon.js +1 -1
  65. package/components/lmvz-input.js +1 -1
  66. package/components/lmvz-link.js +1 -1
  67. package/components/lmvz-menuitem.js +1 -1
  68. package/components/lmvz-message.js +1 -1
  69. package/components/lmvz-modal.js +1 -1
  70. package/components/lmvz-popover.js +1 -1
  71. package/components/lmvz-radio.js +1 -1
  72. package/components/lmvz-select.js +1 -1
  73. package/components/lmvz-snackbar.js +1 -1
  74. package/components/lmvz-spinner.js +1 -1
  75. package/components/lmvz-tab.js +1 -1
  76. package/components/lmvz-tabs.js +1 -1
  77. package/components/lmvz-toggle.js +1 -1
  78. package/components/p-Buw_s-9k.js +1 -0
  79. package/components/p-CME20cTM.js +1 -0
  80. package/components/{p-DsTgD0_a.js → p-CPsPpCPH.js} +1 -1
  81. package/components/{p--mU29mrX.js → p-CUSmZDCK.js} +1 -1
  82. package/components/p-CbxNLroR.js +1 -0
  83. package/components/{p-DXFoXTse.js → p-CeGgx3Rl.js} +1 -1
  84. package/components/{p-DyQ1GbaN.js → p-D0S1O-Op.js} +1 -1
  85. package/components/{p-sACbyedu.js → p-DCFz070C.js} +1 -1
  86. package/components/p-DCYK_qaZ.js +1 -0
  87. package/components/{p-niXjuPxe.js → p-Wp9d5O3R.js} +1 -1
  88. package/components/{p-D_mff3n7.js → p-ctF-ydws.js} +1 -1
  89. package/components/{p-Bc5MM0zh.js → p-g_Ehzzvy.js} +1 -1
  90. package/esm/{aria-validation-controller-Dwv7n0rk.js → aria-validation-controller-uMqDgutI.js} +1 -1
  91. package/esm/{ds.constants-0ctLESas.js → ds.constants-Buw_s-9k.js} +2 -1
  92. package/esm/{index-DVab4vzV.js → index-wQ10Syko.js} +52 -11
  93. package/esm/index.js +1 -1
  94. package/esm/lmvz-action-list.entry.js +2 -2
  95. package/esm/lmvz-action.entry.js +1 -1
  96. package/esm/lmvz-button-group.entry.js +2 -2
  97. package/esm/lmvz-button_2.entry.js +4 -4
  98. package/esm/lmvz-card.entry.js +59 -15
  99. package/esm/lmvz-checkbox.entry.js +3 -3
  100. package/esm/lmvz-chip.entry.js +4 -4
  101. package/esm/lmvz-components.js +4 -4
  102. package/esm/lmvz-datepicker.entry.js +3 -3
  103. package/esm/lmvz-header_2.entry.js +3 -3
  104. package/esm/lmvz-input.entry.js +6 -7
  105. package/esm/lmvz-link.entry.js +3 -3
  106. package/esm/lmvz-menuitem.entry.js +3 -3
  107. package/esm/lmvz-message.entry.js +2 -2
  108. package/esm/lmvz-modal.entry.js +3 -3
  109. package/esm/lmvz-popover.entry.js +2 -2
  110. package/esm/lmvz-radio.entry.js +3 -3
  111. package/esm/lmvz-select.entry.js +3 -3
  112. package/esm/lmvz-snackbar.entry.js +2 -2
  113. package/esm/lmvz-spinner.entry.js +3 -3
  114. package/esm/lmvz-tab.entry.js +2 -2
  115. package/esm/lmvz-tabs.entry.js +2 -2
  116. package/esm/lmvz-toggle.entry.js +3 -3
  117. package/esm/loader.js +3 -3
  118. package/hydrate/index.js +115 -53
  119. package/hydrate/index.mjs +115 -53
  120. package/lmvz-components/index.esm.js +1 -1
  121. package/lmvz-components/lmvz-components.esm.js +1 -1
  122. package/lmvz-components/p-01ac17f8.entry.js +1 -0
  123. package/lmvz-components/{p-e35f49a1.entry.js → p-11ccd914.entry.js} +1 -1
  124. package/lmvz-components/{p-143e9621.entry.js → p-1595cad0.entry.js} +1 -1
  125. package/lmvz-components/{p-7cbfbc88.entry.js → p-253e56c9.entry.js} +1 -1
  126. package/lmvz-components/{p-773e9d95.entry.js → p-2ae64b73.entry.js} +1 -1
  127. package/lmvz-components/{p-93b781ca.entry.js → p-3606c1db.entry.js} +1 -1
  128. package/lmvz-components/{p-f911691c.entry.js → p-3de59694.entry.js} +1 -1
  129. package/lmvz-components/p-457b10e1.entry.js +1 -0
  130. package/lmvz-components/{p-d73bb7fd.entry.js → p-5e8f0b43.entry.js} +1 -1
  131. package/lmvz-components/{p-8ba6ec19.entry.js → p-7a018765.entry.js} +1 -1
  132. package/lmvz-components/{p-335b3867.entry.js → p-7d80a49d.entry.js} +1 -1
  133. package/lmvz-components/{p-ebad823c.entry.js → p-84d2b2e5.entry.js} +1 -1
  134. package/lmvz-components/{p-Wi9d2-w9.js → p-BbeaVKMa.js} +1 -1
  135. package/lmvz-components/p-Buw_s-9k.js +1 -0
  136. package/lmvz-components/{p-41286514.entry.js → p-a2f03112.entry.js} +1 -1
  137. package/lmvz-components/p-adb37d60.entry.js +1 -0
  138. package/lmvz-components/{p-edec4d09.entry.js → p-b050450d.entry.js} +1 -1
  139. package/lmvz-components/{p-efd9d50e.entry.js → p-b0f3758f.entry.js} +1 -1
  140. package/lmvz-components/{p-f24f5207.entry.js → p-b123e33d.entry.js} +1 -1
  141. package/lmvz-components/{p-304c7554.entry.js → p-ddf5d866.entry.js} +1 -1
  142. package/lmvz-components/p-e40f174d.entry.js +1 -0
  143. package/lmvz-components/{p-220e455e.entry.js → p-edb35b52.entry.js} +1 -1
  144. package/lmvz-components/{p-87f21ac9.entry.js → p-ef6e12ee.entry.js} +1 -1
  145. package/lmvz-components/{p-316dd61a.entry.js → p-f6ac0f0d.entry.js} +1 -1
  146. package/lmvz-components/p-wQ10Syko.js +3 -0
  147. package/loader/index.d.ts +1 -1
  148. package/manifest.json +243 -158
  149. package/package.json +5 -1
  150. package/types/api/ds.constants.d.ts +1 -0
  151. package/types/api/ds.types.d.ts +4 -0
  152. package/types/api/public-utils.d.ts +8 -0
  153. package/types/components/lmvz-card/lmvz-card.d.ts +17 -6
  154. package/types/components/lmvz-icon/lmvz-icon.d.ts +1 -1
  155. package/types/components/lmvz-input/lmvz-input.d.ts +2 -3
  156. package/types/components/lmvz-spinner/lmvz-spinner.d.ts +1 -1
  157. package/types/components.d.ts +68 -43
  158. package/types/index.d.ts +1 -8
  159. package/types/stencil-public-runtime.d.ts +12 -0
  160. package/collection/integration/header-integration/header-integration.js +0 -51
  161. package/components/p-0ctLESas.js +0 -1
  162. package/components/p-DSDBThqb.js +0 -1
  163. package/components/p-DXhP6UeF.js +0 -1
  164. package/components/p-DbBJxuBm.js +0 -1
  165. package/lmvz-components/p-0ctLESas.js +0 -1
  166. package/lmvz-components/p-27e8b4fa.entry.js +0 -1
  167. package/lmvz-components/p-6aae1df9.entry.js +0 -1
  168. package/lmvz-components/p-743616c0.entry.js +0 -1
  169. package/lmvz-components/p-DVab4vzV.js +0 -2
  170. package/lmvz-components/p-c884c76e.entry.js +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lmvz-ds/components",
3
3
  "private": false,
4
- "version": "0.40.0",
4
+ "version": "0.42.0",
5
5
  "type": "module",
6
6
  "description": "The components of the design system",
7
7
  "author": "Patrick Nemenz <patrick.nemenz@adesso.at>",
@@ -15,6 +15,10 @@
15
15
  "types": "./components/index.d.ts",
16
16
  "import": "./components/index.js"
17
17
  },
18
+ "./public-utils": {
19
+ "types": "./types/api/public-utils.d.ts",
20
+ "import": "./collection/api/public-utils.js"
21
+ },
18
22
  "./components": {
19
23
  "types": "./components/index.d.ts",
20
24
  "import": "./components/index.js"
@@ -9,6 +9,7 @@ export declare const iconSizes: readonly ["xs", "sm", "md", "lg", "inherit"];
9
9
  export declare const iconWeights: readonly ["thin", "medium", "bold"];
10
10
  export declare const chipTypes: readonly ["active", "warning", "success", "error", "neutral"];
11
11
  export declare const chipSizes: readonly ["default", "small"];
12
+ export declare const cardSizes: readonly ["large", "small"];
12
13
  export declare const linkTypes: readonly ["internal", "external"];
13
14
  export declare const messageTypes: readonly ["neutral", "warning"];
14
15
  export declare const snackbarStatuses: readonly ["success", "warning", "error"];
@@ -1,4 +1,5 @@
1
1
  import type {
2
+ cardSizes,
2
3
  chipSizes,
3
4
  chipTypes,
4
5
  iconSizes,
@@ -34,6 +35,9 @@ export namespace Chip {
34
35
  export type Type = (typeof chipTypes)[number];
35
36
  export type Size = (typeof chipSizes)[number];
36
37
  }
38
+ export namespace Card {
39
+ export type Size = (typeof cardSizes)[number];
40
+ }
37
41
  export namespace Link {
38
42
  export type Type = (typeof linkTypes)[number];
39
43
  }
@@ -0,0 +1,8 @@
1
+ export * from '../components/lmvz-message/public';
2
+ export * from '../components/lmvz-snackbar/public';
3
+ export * from '../utils/public';
4
+ declare global {
5
+ interface Window {
6
+ LmvzApi: LmvzApi;
7
+ }
8
+ }
@@ -1,12 +1,23 @@
1
1
  import type { EventEmitter } from '../../stencil-public-runtime';
2
+ import type { Card } from '../../api/ds.types';
2
3
  export declare class LmvzCard {
3
- cardTitle: string;
4
- imageUrl?: string;
4
+ el: HTMLElement;
5
+ private titleSlotElement?;
6
+ private readonly warnedCases;
7
+ size: Card.Size;
8
+ cardTitle?: string;
5
9
  description?: string;
6
- primaryActionLabel: string;
7
- primaryAction: EventEmitter<PointerEvent>;
10
+ imageUrl?: string;
11
+ imageAlt: string;
12
+ actionLabel?: string;
13
+ lmvzCardAction: EventEmitter<void>;
14
+ normalizeSize(value: string): void;
15
+ componentWillLoad(): void;
16
+ componentDidLoad(): void;
8
17
  private get fallbackImage();
9
- private _onPrimaryClick;
10
- private _onOverflowClick;
18
+ private readonly handleActionClick;
19
+ private get slottedTitleElement();
20
+ private checkTitleContent;
21
+ private warnOnce;
11
22
  render(): any;
12
23
  }
@@ -13,7 +13,7 @@ export declare class LmvzIcon extends ReactiveControllerHost implements AriaVali
13
13
  iconset?: string;
14
14
  private iconData?;
15
15
  private visible;
16
- ariaLabel?: string;
16
+ ariaLabel: string | null;
17
17
  private get ariaHidden();
18
18
  constructor();
19
19
  connectedCallback(): void;
@@ -30,9 +30,8 @@ export declare class LmvzInput extends ReactiveControllerHost implements AriaVal
30
30
  errorMessage?: string;
31
31
  autocomplete?: Input.Autocomplete;
32
32
  inputmode?: Input.Inputmode;
33
- autocorrect?: 'on' | 'off';
34
- autocapitalize?: Input.Autocapitalize;
35
- spellcheck?: boolean;
33
+ autocapitalize: Input.Autocapitalize | null;
34
+ spellcheck: boolean | null;
36
35
  autofocus: boolean;
37
36
  minlength?: number;
38
37
  maxlength?: number;
@@ -1,5 +1,5 @@
1
1
  export declare class LmvzSpinner {
2
2
  size: 'small' | 'large';
3
- ariaLabel?: string;
3
+ ariaLabel: string | null;
4
4
  render(): any;
5
5
  }
@@ -5,6 +5,12 @@ export declare namespace Button {
5
5
  export type Variant = LmvzDS.Variant;
6
6
  }
7
7
 
8
+ export declare namespace Card {
9
+ export type Size = (typeof cardSizes)[number];
10
+ }
11
+
12
+ declare const cardSizes: readonly ["large", "small"];
13
+
8
14
  export declare namespace Chip {
9
15
  export type Type = (typeof chipTypes)[number];
10
16
  export type Size = (typeof chipSizes)[number];
@@ -111,24 +117,36 @@ export declare namespace Components {
111
117
  */
112
118
  "stacked": boolean;
113
119
  }
120
+ /**
121
+ * A card composes an image, title, description, an optional chip, and an optional single action into a self-contained content unit.
122
+ */
114
123
  export interface LmvzCard {
115
124
  /**
116
- * Card title (required)
125
+ * Label for the card's single action button. The action row renders only when this is a non-empty string.
117
126
  */
118
- "cardTitle": string;
127
+ "actionLabel"?: string;
128
+ /**
129
+ * Card title text, rendered as the fallback `<h3>` for the `card-title` slot. Ignored when a heading is slotted into `card-title`. One of `cardTitle` or a slotted heading should be supplied.
130
+ */
131
+ "cardTitle"?: string;
119
132
  /**
120
- * Optional description
133
+ * Optional description text.
121
134
  */
122
135
  "description"?: string;
123
136
  /**
124
- * Optional image URL; placeholder used if omitted
137
+ * Accessible alt text for the image.
138
+ * @default ''
139
+ */
140
+ "imageAlt": string;
141
+ /**
142
+ * Optional image URL; falls back to a bundled placeholder graphic when unset.
125
143
  */
126
144
  "imageUrl"?: string;
127
145
  /**
128
- * Primary action button label
129
- * @default ''
146
+ * Size variant of the card. Invalid values are normalized to `large` at runtime.
147
+ * @default 'large'
130
148
  */
131
- "primaryActionLabel": string;
149
+ "size": Card.Size;
132
150
  }
133
151
  /**
134
152
  * Checkbox component with form association, ARIA validation, and accessible label support.
@@ -325,8 +343,9 @@ export declare namespace Components {
325
343
  export interface LmvzIcon {
326
344
  /**
327
345
  * Accessible name for assistive technology. Leave unset for decorative icons so the icon stays hidden from the accessibility tree.
346
+ * @default null
328
347
  */
329
- "ariaLabel"?: string;
348
+ "ariaLabel": string | null;
330
349
  /**
331
350
  * Required Either a valid name from a registered iconset, or the icon's SVG content (inline). Will be checked against the chosen {@link iconset}.
332
351
  */
@@ -368,16 +387,11 @@ export declare namespace Components {
368
387
  * Autocapitalize attribute for mobile keyboards
369
388
  * @default undefined
370
389
  */
371
- "autocapitalize"?: Input.Autocapitalize;
390
+ "autocapitalize": Input.Autocapitalize | null;
372
391
  /**
373
392
  * Autocomplete attribute for form autofill
374
393
  */
375
394
  "autocomplete"?: Input.Autocomplete;
376
- /**
377
- * Autocorrect attribute for mobile keyboards
378
- * @default undefined
379
- */
380
- "autocorrect"?: 'on' | 'off';
381
395
  /**
382
396
  * Whether the input should autofocus
383
397
  * @default false
@@ -492,7 +506,7 @@ export declare namespace Components {
492
506
  * Spellcheck attribute
493
507
  * @default undefined
494
508
  */
495
- "spellcheck"?: boolean;
509
+ "spellcheck": boolean | null;
496
510
  /**
497
511
  * Step interval for number inputs
498
512
  */
@@ -847,8 +861,9 @@ export declare namespace Components {
847
861
  export interface LmvzSpinner {
848
862
  /**
849
863
  * Accessible name for assistive technology. Leave unset for decorative spinners so the element stays hidden from the accessibility tree.
864
+ * @default null
850
865
  */
851
- "ariaLabel"?: string;
866
+ "ariaLabel": string | null;
852
867
  /**
853
868
  * Size of the spinner.
854
869
  * @default 'small'
@@ -1042,7 +1057,7 @@ export declare type IsoDateString = `${number}-${number}-${number}`;
1042
1057
  export declare type IsoYearMonthString = `${number}-${number}`;
1043
1058
 
1044
1059
  export declare namespace JSX {
1045
- export type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}` | `prop:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K | `prop:${K}`]?: never } | { [P in `prop:${K}`]: PropT } & { [P in K | `attr:${K}`]?: never };
1060
+ export type OneOf<K extends string, PropT, AttrT = PropT> = { [P in K]: PropT } & { [P in `attr:${K}`]?: never } | { [P in `attr:${K}`]: AttrT } & { [P in K]?: never };
1046
1061
 
1047
1062
  /**
1048
1063
  * @deprecated use `lmvz-button` instead
@@ -1141,28 +1156,40 @@ export declare namespace JSX {
1141
1156
  */
1142
1157
  "stacked"?: boolean;
1143
1158
  }
1159
+ /**
1160
+ * A card composes an image, title, description, an optional chip, and an optional single action into a self-contained content unit.
1161
+ */
1144
1162
  export interface LmvzCard {
1145
1163
  /**
1146
- * Card title (required)
1164
+ * Label for the card's single action button. The action row renders only when this is a non-empty string.
1147
1165
  */
1148
- "cardTitle": string;
1166
+ "actionLabel"?: string;
1149
1167
  /**
1150
- * Optional description
1168
+ * Card title text, rendered as the fallback `<h3>` for the `card-title` slot. Ignored when a heading is slotted into `card-title`. One of `cardTitle` or a slotted heading should be supplied.
1169
+ */
1170
+ "cardTitle"?: string;
1171
+ /**
1172
+ * Optional description text.
1151
1173
  */
1152
1174
  "description"?: string;
1153
1175
  /**
1154
- * Optional image URL; placeholder used if omitted
1176
+ * Accessible alt text for the image.
1177
+ * @default ''
1178
+ */
1179
+ "imageAlt"?: string;
1180
+ /**
1181
+ * Optional image URL; falls back to a bundled placeholder graphic when unset.
1155
1182
  */
1156
1183
  "imageUrl"?: string;
1157
1184
  /**
1158
- * Event emitted when primary button is clicked
1185
+ * Emitted once per activation of the action button.
1159
1186
  */
1160
- "onPrimaryAction"?: (event: LmvzCardCustomEvent<PointerEvent>) => void;
1187
+ "onLmvzCardAction"?: (event: LmvzCardCustomEvent<void>) => void;
1161
1188
  /**
1162
- * Primary action button label
1163
- * @default ''
1189
+ * Size variant of the card. Invalid values are normalized to `large` at runtime.
1190
+ * @default 'large'
1164
1191
  */
1165
- "primaryActionLabel"?: string;
1192
+ "size"?: Card.Size;
1166
1193
  }
1167
1194
  /**
1168
1195
  * Checkbox component with form association, ARIA validation, and accessible label support.
@@ -1355,8 +1382,9 @@ export declare namespace JSX {
1355
1382
  export interface LmvzIcon {
1356
1383
  /**
1357
1384
  * Accessible name for assistive technology. Leave unset for decorative icons so the icon stays hidden from the accessibility tree.
1385
+ * @default null
1358
1386
  */
1359
- "ariaLabel"?: string;
1387
+ "ariaLabel"?: string | null;
1360
1388
  /**
1361
1389
  * Required Either a valid name from a registered iconset, or the icon's SVG content (inline). Will be checked against the chosen {@link iconset}.
1362
1390
  */
@@ -1398,16 +1426,11 @@ export declare namespace JSX {
1398
1426
  * Autocapitalize attribute for mobile keyboards
1399
1427
  * @default undefined
1400
1428
  */
1401
- "autocapitalize"?: Input.Autocapitalize;
1429
+ "autocapitalize"?: Input.Autocapitalize | null;
1402
1430
  /**
1403
1431
  * Autocomplete attribute for form autofill
1404
1432
  */
1405
1433
  "autocomplete"?: Input.Autocomplete;
1406
- /**
1407
- * Autocorrect attribute for mobile keyboards
1408
- * @default undefined
1409
- */
1410
- "autocorrect"?: 'on' | 'off';
1411
1434
  /**
1412
1435
  * Whether the input should autofocus
1413
1436
  * @default false
@@ -1494,7 +1517,7 @@ export declare namespace JSX {
1494
1517
  * Spellcheck attribute
1495
1518
  * @default undefined
1496
1519
  */
1497
- "spellcheck"?: boolean;
1520
+ "spellcheck"?: boolean | null;
1498
1521
  /**
1499
1522
  * Step interval for number inputs
1500
1523
  */
@@ -1842,8 +1865,9 @@ export declare namespace JSX {
1842
1865
  export interface LmvzSpinner {
1843
1866
  /**
1844
1867
  * Accessible name for assistive technology. Leave unset for decorative spinners so the element stays hidden from the accessibility tree.
1868
+ * @default null
1845
1869
  */
1846
- "ariaLabel"?: string;
1870
+ "ariaLabel"?: string | null;
1847
1871
  /**
1848
1872
  * Size of the spinner.
1849
1873
  * @default 'small'
@@ -1973,10 +1997,12 @@ export declare namespace JSX {
1973
1997
  "hasActions": boolean;
1974
1998
  }
1975
1999
  export interface LmvzCardAttributes {
2000
+ "size": Card.Size;
1976
2001
  "cardTitle": string;
1977
- "imageUrl": string;
1978
2002
  "description": string;
1979
- "primaryActionLabel": string;
2003
+ "imageUrl": string;
2004
+ "imageAlt": string;
2005
+ "actionLabel": string;
1980
2006
  }
1981
2007
  export interface LmvzCheckboxAttributes {
1982
2008
  "label": string;
@@ -2022,7 +2048,7 @@ export declare namespace JSX {
2022
2048
  "weight": Icon.IconWeight;
2023
2049
  "size": Icon.Size;
2024
2050
  "iconset": string;
2025
- "ariaLabel": string;
2051
+ "ariaLabel": string | null;
2026
2052
  }
2027
2053
  export interface LmvzInputAttributes {
2028
2054
  "value": string;
@@ -2037,9 +2063,8 @@ export declare namespace JSX {
2037
2063
  "errorMessage": string;
2038
2064
  "autocomplete": Input.Autocomplete;
2039
2065
  "inputmode": Input.Inputmode;
2040
- "autocorrect": 'on' | 'off';
2041
- "autocapitalize": Input.Autocapitalize;
2042
- "spellcheck": boolean;
2066
+ "autocapitalize": Input.Autocapitalize | null;
2067
+ "spellcheck": boolean | null;
2043
2068
  "autofocus": boolean;
2044
2069
  "minlength": number;
2045
2070
  "maxlength": number;
@@ -2116,7 +2141,7 @@ export declare namespace JSX {
2116
2141
  }
2117
2142
  export interface LmvzSpinnerAttributes {
2118
2143
  "size": 'small' | 'large';
2119
- "ariaLabel": string;
2144
+ "ariaLabel": string | null;
2120
2145
  }
2121
2146
  export interface LmvzTabAttributes {
2122
2147
  "value": string;
@@ -2142,7 +2167,7 @@ export declare namespace JSX {
2142
2167
  "lmvz-action-list": Omit<LmvzActionList, keyof LmvzActionListAttributes> & { [K in keyof LmvzActionList & keyof LmvzActionListAttributes]?: LmvzActionList[K] } & { [K in keyof LmvzActionList & keyof LmvzActionListAttributes as `attr:${K}`]?: LmvzActionListAttributes[K] } & { [K in keyof LmvzActionList & keyof LmvzActionListAttributes as `prop:${K}`]?: LmvzActionList[K] };
2143
2168
  "lmvz-button": Omit<LmvzButton, keyof LmvzButtonAttributes> & { [K in keyof LmvzButton & keyof LmvzButtonAttributes]?: LmvzButton[K] } & { [K in keyof LmvzButton & keyof LmvzButtonAttributes as `attr:${K}`]?: LmvzButtonAttributes[K] } & { [K in keyof LmvzButton & keyof LmvzButtonAttributes as `prop:${K}`]?: LmvzButton[K] };
2144
2169
  "lmvz-button-group": Omit<LmvzButtonGroup, keyof LmvzButtonGroupAttributes> & { [K in keyof LmvzButtonGroup & keyof LmvzButtonGroupAttributes]?: LmvzButtonGroup[K] } & { [K in keyof LmvzButtonGroup & keyof LmvzButtonGroupAttributes as `attr:${K}`]?: LmvzButtonGroupAttributes[K] } & { [K in keyof LmvzButtonGroup & keyof LmvzButtonGroupAttributes as `prop:${K}`]?: LmvzButtonGroup[K] };
2145
- "lmvz-card": Omit<LmvzCard, keyof LmvzCardAttributes> & { [K in keyof LmvzCard & keyof LmvzCardAttributes]?: LmvzCard[K] } & { [K in keyof LmvzCard & keyof LmvzCardAttributes as `attr:${K}`]?: LmvzCardAttributes[K] } & { [K in keyof LmvzCard & keyof LmvzCardAttributes as `prop:${K}`]?: LmvzCard[K] } & OneOf<"cardTitle", LmvzCard["cardTitle"], LmvzCardAttributes["cardTitle"]>;
2170
+ "lmvz-card": Omit<LmvzCard, keyof LmvzCardAttributes> & { [K in keyof LmvzCard & keyof LmvzCardAttributes]?: LmvzCard[K] } & { [K in keyof LmvzCard & keyof LmvzCardAttributes as `attr:${K}`]?: LmvzCardAttributes[K] } & { [K in keyof LmvzCard & keyof LmvzCardAttributes as `prop:${K}`]?: LmvzCard[K] };
2146
2171
  "lmvz-checkbox": Omit<LmvzCheckbox, keyof LmvzCheckboxAttributes> & { [K in keyof LmvzCheckbox & keyof LmvzCheckboxAttributes]?: LmvzCheckbox[K] } & { [K in keyof LmvzCheckbox & keyof LmvzCheckboxAttributes as `attr:${K}`]?: LmvzCheckboxAttributes[K] } & { [K in keyof LmvzCheckbox & keyof LmvzCheckboxAttributes as `prop:${K}`]?: LmvzCheckbox[K] } & OneOf<"label", LmvzCheckbox["label"], LmvzCheckboxAttributes["label"]>;
2147
2172
  "lmvz-chip": Omit<LmvzChip, keyof LmvzChipAttributes> & { [K in keyof LmvzChip & keyof LmvzChipAttributes]?: LmvzChip[K] } & { [K in keyof LmvzChip & keyof LmvzChipAttributes as `attr:${K}`]?: LmvzChipAttributes[K] } & { [K in keyof LmvzChip & keyof LmvzChipAttributes as `prop:${K}`]?: LmvzChip[K] };
2148
2173
  "lmvz-datepicker": Omit<LmvzDatepicker, keyof LmvzDatepickerAttributes> & { [K in keyof LmvzDatepicker & keyof LmvzDatepickerAttributes]?: LmvzDatepicker[K] } & { [K in keyof LmvzDatepicker & keyof LmvzDatepickerAttributes as `attr:${K}`]?: LmvzDatepickerAttributes[K] } & { [K in keyof LmvzDatepicker & keyof LmvzDatepickerAttributes as `prop:${K}`]?: LmvzDatepicker[K] };
package/types/index.d.ts CHANGED
@@ -2,11 +2,4 @@ export * from '@lmvz-ds/aria-validation';
2
2
  export type * from './components.d.ts';
3
3
  export * from './api/ds.constants';
4
4
  export type { LmvzDS, Typography } from './api';
5
- export * from './components/lmvz-message/public';
6
- export * from './components/lmvz-snackbar/public';
7
- export * from './utils/public';
8
- declare global {
9
- interface Window {
10
- LmvzApi: LmvzApi;
11
- }
12
- }
5
+ export * from './api/public-utils';
@@ -1008,6 +1008,7 @@ export declare namespace JSXBase {
1008
1008
  onClose?: (event: Event) => void;
1009
1009
  open?: boolean;
1010
1010
  returnValue?: string;
1011
+ closedby?: 'any' | 'closerequest' | 'none';
1011
1012
  }
1012
1013
  interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
1013
1014
  height?: number | string;
@@ -1045,6 +1046,8 @@ export declare namespace JSXBase {
1045
1046
  allowtransparency?: string | boolean;
1046
1047
  frameBorder?: number | string;
1047
1048
  frameborder?: number | string;
1049
+ fetchPriority?: 'high' | 'low' | 'auto';
1050
+ fetchpriority?: 'high' | 'low' | 'auto';
1048
1051
  importance?: 'low' | 'auto' | 'high';
1049
1052
  height?: number | string;
1050
1053
  loading?: 'lazy' | 'auto' | 'eager';
@@ -1067,6 +1070,8 @@ export declare namespace JSXBase {
1067
1070
  crossOrigin?: string;
1068
1071
  crossorigin?: string;
1069
1072
  decoding?: 'async' | 'auto' | 'sync';
1073
+ fetchPriority?: 'high' | 'low' | 'auto';
1074
+ fetchpriority?: 'high' | 'low' | 'auto';
1070
1075
  importance?: 'low' | 'auto' | 'high';
1071
1076
  height?: number | string;
1072
1077
  loading?: 'lazy' | 'auto' | 'eager';
@@ -1166,6 +1171,8 @@ export declare namespace JSXBase {
1166
1171
  }
1167
1172
  interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1168
1173
  as?: string;
1174
+ fetchPriority?: 'high' | 'low' | 'auto';
1175
+ fetchpriority?: 'high' | 'low' | 'auto';
1169
1176
  href?: string;
1170
1177
  hrefLang?: string;
1171
1178
  hreflang?: string;
@@ -1289,6 +1296,8 @@ export declare namespace JSXBase {
1289
1296
  crossOrigin?: string;
1290
1297
  crossorigin?: string;
1291
1298
  defer?: boolean;
1299
+ fetchPriority?: 'high' | 'low' | 'auto';
1300
+ fetchpriority?: 'high' | 'low' | 'auto';
1292
1301
  importance?: 'low' | 'auto' | 'high';
1293
1302
  integrity?: string;
1294
1303
  nonce?: string;
@@ -1404,7 +1413,10 @@ export declare namespace JSXBase {
1404
1413
  tabIndex?: number;
1405
1414
  tabindex?: number | string;
1406
1415
  title?: string;
1416
+ translate?: 'yes' | 'no' | (string & {});
1407
1417
  popover?: string | null;
1418
+ focusgroup?: string;
1419
+ focusgroupstart?: boolean;
1408
1420
  inputMode?: string;
1409
1421
  inputmode?: string;
1410
1422
  enterKeyHint?: string;
@@ -1,51 +0,0 @@
1
- import { LmvzOnDemandProvider } from "@lmvz-ds/icons/on-demand";
2
- import { h, Host } from "@stencil/core";
3
- import { registerIconProvider, typedIconFromSet } from "../../utils/public";
4
- export class HeaderIntegration {
5
- activeNav;
6
- constructor() {
7
- registerIconProvider('lmvz', new LmvzOnDemandProvider());
8
- }
9
- activate(event) {
10
- const target = event.currentTarget;
11
- const navItem = target.closest('[slot="nav-primary"]');
12
- if (!navItem)
13
- return;
14
- const navId = navItem.id;
15
- if (!navId) {
16
- console.warn('Nav item does not have an id:', navItem);
17
- return;
18
- }
19
- console.log('Activating nav item:', navId);
20
- this.activeNav = navId;
21
- }
22
- render() {
23
- return (h(Host, { key: 'fcade3c1829fa6c3c1911c7a98dffd57e08ce1fe' }, h("lmvz-header", { key: '69a4966cbd57347e693b2a28d71c3a711a27dece', lmvzActiveNav: this.activeNav }, h("lmvz-menuitem", { key: 'c9fe5ea860f09a7bfb10742ca59494a56a929634', slot: "nav-primary", id: "lehrmittel", onLmvzActivation: this.activate.bind(this) }, h("a", { key: '509de0e603fd7caab3c9afb3c33ba426687af626', href: "#" }, "Lehrmittel")), h("lmvz-menuitem", { key: '4b71922d9b24e498ffb9fad4ed51fe8129cdd24b', slot: "nav-primary", id: "verwaltung", onLmvzActivation: this.activate.bind(this) }, h("a", { key: 'f2748efdad33464b699d149658bffa081dfd40fc', href: "#" }, "Verwaltung")), h("lmvz-menuitem", { key: '928f2938d1869daff7392eae819d35915b3b354f', slot: "connect-nav-lehrmittel" }, h("lmvz-icon", { key: '4c685e59db6250418fbd4158ab4e3b9e220e6515', ...typedIconFromSet('lmvz', 'edit') }), "Deutsch 7"), h("lmvz-menuitem", { key: '904f4f480f313df8bb0d90ff871fa81d4e456bcd', slot: "connect-nav-lehrmittel" }, h("lmvz-icon", { key: '6048794171f6f5a121bd49ac9c74eb08d67cb714', ...typedIconFromSet('lmvz', 'edit') }), "Mathe 2"), h("lmvz-menuitem", { key: 'd27207e37a1f3c2a1190ef4f226e95447f3d5be2', slot: "connect-nav-verwaltung" }, h("lmvz-icon", { key: 'ab52392ef4174e0dca7db6e827169e6d6b96ef72', ...typedIconFromSet('lmvz', 'settings') }), "iwas mit Verwaltung"), h("lmvz-menuitem", { key: '80ee897b06f16a11b4bc8cbaefa47c5e91982248', slot: "connect-nav-verwaltung", "aria-label": "Einstellungen" }, h("lmvz-icon", { key: '62abb091e83d38a9b092609c4b4077d743c71238', ...typedIconFromSet('lmvz', 'settings') })), h("lmvz-button", { key: '97432e879cbad971666621c9fce3c83c8e380c6c', slot: "actions", "aria-label": "Benutzerkonto" }, h("lmvz-icon", { key: '991b8c9569eae3e9e073b421066369c62b348797', ...typedIconFromSet('lmvz', 'user'), size: "lg" })))));
24
- }
25
- static get is() { return "header-integration"; }
26
- static get encapsulation() { return "shadow"; }
27
- static get styles() { return ".active button {\n background-color: var(--lmvz-semantic-color-status-selected);\n }"; }
28
- static get properties() {
29
- return {
30
- "activeNav": {
31
- "type": "string",
32
- "mutable": true,
33
- "complexType": {
34
- "original": "string",
35
- "resolved": "string | undefined",
36
- "references": {}
37
- },
38
- "required": false,
39
- "optional": true,
40
- "docs": {
41
- "tags": [],
42
- "text": ""
43
- },
44
- "getter": false,
45
- "setter": false,
46
- "reflect": false,
47
- "attribute": "active-nav"
48
- }
49
- };
50
- }
51
- }
@@ -1 +0,0 @@
1
- const a=["primary","secondary","tertiary","danger"],s=["small","default","large"],t=["xs","sm","md","lg"],e=[...t,"xl"],r=["text","email","password","tel","url","search","number"],l=["sm","md","lg"],n=s,o=[...t,"inherit"],m=["thin","medium","bold"],d=["active","warning","success","error","neutral"],i=["default","small"],u=["internal","external"],c=["neutral","warning"],g=["success","warning","error"],p=["low","normal","high"],w=["timeout","manual","action","overridden","swallowed"],b=["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end"],h=["sm","md","lg"];export{t as a,l as b,n as c,o as d,m as e,d as f,i as g,g as h,r as i,p as j,w as k,u as l,c as m,h as n,b as p,s,e as t,a as v}
@@ -1 +0,0 @@
1
- import{p as e,c as t,h as i,t as r}from"./p-DbBJxuBm.js";import{c as a}from"./p-BfTCfPZ1.js";import{A as o}from"./p-sACbyedu.js";import{b as n}from"./p-DIyiticz.js";import{R as s}from"./p-DXFoXTse.js";import{c as l}from"./p-bh9cItsP.js";let p=0;const m=e(class extends s{get el(){return this}get validationEl(){return this.el}lmvzInput;internals;inputValidityActive=!1;nativeInputElement;inputId="lmvz-input-"+p++;initialValue="";ariaHostMirrorObserver;nativeError=!1;errorFromProp=!1;get helperId(){return this.helperText?`${this.inputId}-helper`:void 0}get showErrorMessage(){return this.error&&Boolean(this.errorMessage)}get errorId(){return`${this.inputId}-error`}get describedBy(){const e=[];return this.helperId&&e.push(this.helperId),this.showErrorMessage&&e.push(this.errorId),e.length>0?e.join(" "):void 0}value;label;helperText;placeholder;disabled=!1;readonly=!1;required=!1;name;type="text";errorMessage;autocomplete;inputmode;autocorrect;autocapitalize;spellcheck;autofocus=!1;minlength;maxlength;pattern;min;max;step;form;size="md";get error(){return this.errorFromProp||this.nativeError}set error(e){this.errorFromProp=e}async setValue(e){const t=this.nativeInputElement,i=e??"";t&&t.value!==i&&(t.value=i),this.value=i,this.internals.setFormValue?.(i),this.lmvzInput.emit(i)}async focusInput(){this.nativeInputElement?.focus()}async blurInput(){this.nativeInputElement?.blur()}async select(){this.nativeInputElement?.select()}async checkValidity(){return this.nativeInputElement?.checkValidity?.()??!1}async reportValidity(){return this.nativeInputElement?.reportValidity?.()??!1}async getValidationMessage(){return this.nativeInputElement?.validationMessage??""}async getInputElement(){return this.nativeInputElement||await new Promise((e=>l(this.el,e))),Promise.resolve(this.nativeInputElement)}constructor(e){super(!1),!1!==e&&this.__registerHost(),this.lmvzInput=t(this,"lmvzInput",7),this.internals=this.attachInternals(),this.addController(new o(this,{reValidateOnPropChanges:!0}))}componentWillLoad(){this.initialValue=this.value??"",super.componentWillLoad()}connectedCallback(){super.connectedCallback(),this.ariaHostMirrorObserver=new MutationObserver((e=>{for(const t of e)this.mirrorHostAriaAttribute(t.attributeName)})),this.ariaHostMirrorObserver.observe(this.el,{attributes:!0,attributeFilter:[...n]})}disconnectedCallback(){super.disconnectedCallback(),this.ariaHostMirrorObserver?.disconnect(),this.ariaHostMirrorObserver=void 0}componentDidLoad(){super.componentDidLoad();for(const e of n)this.mirrorHostAriaAttribute(e)}mirrorHostAriaAttribute(e){if(e&&this.nativeInputElement)if(this.el.hasAttribute(e)){const t=this.el.getAttribute(e);null!==t&&this.nativeInputElement.setAttribute(e,t)}else this.nativeInputElement.removeAttribute(e)}formAssociatedCallback(e){e&&this.internals.setFormValue?.(this.value??"")}formResetCallback(){this.inputValidityActive=!1,this.internals.setValidity({}),this.setValue(this.initialValue),this.nativeInputElement?.checkValidity?.()&&(this.nativeError=!1)}formStateRestoreCallback(e){this.setValue(e)}handleValueChange(e){this.nativeInputElement&&(this.nativeInputElement.value===e||this.setValue(e))}handleDisabledChange(e){this.nativeInputElement&&(e?this.nativeInputElement.blur():this.inputValidityActive=!1)}handleInput=e=>{this.setValue(e.target.value),this.inputValidityActive&&this.updateNativeError("input")};handleInvalid=()=>this.updateNativeError("invalid");handleBlur=()=>{this.inputValidityActive=!0,this.updateNativeError("blur")};updateNativeError(e){const t=this.nativeInputElement;if(!t)return;const i="invalid"===e||!(t.checkValidity?.()??1);this.nativeError!==i&&(this.nativeError=i)}render(){const e=Boolean(this.value),t=e||Boolean(this.placeholder);return i("div",{key:"85f498773efdad53d309e8b1eb5b85ea0601277e",class:a("input-container",{"interaction-filled":e})},i("div",{key:"eb74bdd8170014c2a17c6046878b0f4d61fece25",class:"input-wrapper"},i("slot",{key:"ceb3acb5dcb641900caf9a22f43295d1c407ad2e",name:"before-input"}),i("div",{key:"a7f626addd83cbf79b435989bec94f777818794e",class:"label-input-group"},i("label",{key:"391e2d1f873f9aef9bd9e7f14b006d898a699abe",htmlFor:this.inputId,class:a({floating:t})},this.label,this.required&&i("span",{key:"691251a0efb1a60fd5e53447a6204c13008545a1",class:"required-indicator","aria-hidden":"true"}," ","*")),i("input",{key:"f37d3d7d5076636638b2da59cca91c1cedc7504a",id:this.inputId,ref:e=>this.nativeInputElement=e,type:this.type,min:this.min,max:this.max,step:this.step,value:this.value,name:this.name,placeholder:this.placeholder,disabled:this.disabled,readonly:this.readonly,required:this.required,form:this.form,autocomplete:this.autocomplete,inputmode:this.inputmode,autocorrect:this.autocorrect,autocapitalize:this.autocapitalize,spellcheck:this.spellcheck,autofocus:this.autofocus,minlength:this.minlength,maxlength:this.maxlength,pattern:this.pattern,"aria-invalid":this.error?"true":"false","aria-required":this.required?"true":"false","aria-describedby":this.describedBy,"aria-errormessage":this.errorId,onInput:this.handleInput,onBlur:this.handleBlur,onInvalid:this.handleInvalid})),i("slot",{key:"22b2be3072fc274bbeff4d92f25dccc5ea50c4d0",name:"after-input"})),i("div",{key:"95f28aad61a5d7ea45fb4479801097036652b08f",id:this.helperId,role:"status"},this.helperText||null),i("div",{key:"9ea8420b336b33a0fd3b7e53cc4efa44983cbdc3",id:this.errorId,role:"alert"},this.showErrorMessage&&this.errorMessage||null))}static get formAssociated(){return!0}static get watchers(){return{value:[{handleValueChange:0}],disabled:[{handleDisabledChange:0}]}}static get style(){return"@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-input-h { display: block; font-family: var(--lmvz-global-font-family-default, Router); --input-radius: var(--lmvz-component-input-radius-default, 999px); --input-bg: var(--lmvz-semantic-color-surface-input-primary, #ffffff); --input-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); --input-border-color-hover: var(--lmvz-semantic-color-border-hover, #a1a1a1); --input-border-color-focus: var(--lmvz-semantic-color-border-active, #0f8acc); --input-border-width: var(--lmvz-semantic-border-width-default, 1px); --input-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --input-padding-x: var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); --input-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --input-font-size: var(--lmvz-component-body-md-font-size, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); --label-color: var(--lmvz-semantic-color-on-surface-input-secondary, #545454); --input-text-color: var(--lmvz-semantic-color-on-surface-input-primary, #000000); --helper-text-color: var(--lmvz-semantic-color-on-surface-input-secondary, #545454); --error-text-color: var(--lmvz-semantic-color-status-on-danger, #a31419); --label-minimized-bg: var(--input-bg); --label-minimized-padding-x: 4px; --input-disabled-opacity: var(--lmvz-component-input-disabled-opacity, 40%); } [size='sm'].sc-lmvz-input-h { --input-height: var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem)); --input-padding-x: var(--lmvz-component-input-padding-sm, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); --input-gap: var(--lmvz-component-input-gap-sm, clamp(0.38rem, 0.31rem + 0.26vw, 0.63rem)); --input-font-size: var(--lmvz-component-body-sm-font-size, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem)); } [size='md'].sc-lmvz-input-h { --input-height: var(--lmvz-component-input-size-md, clamp(2.5rem, 2.44rem + 0.26vw, 2.75rem)); --input-padding-x: var(--lmvz-component-input-padding-md, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); --input-gap: var(--lmvz-component-input-gap-md, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --input-font-size: var(--lmvz-component-body-md-font-size, clamp(0.88rem, 0.84rem + 0.13vw, 1rem)); } [size='lg'].sc-lmvz-input-h { --input-height: var(--lmvz-component-input-size-lg, clamp(2.75rem, 2.69rem + 0.26vw, 3rem)); --input-padding-x: var(--lmvz-component-input-padding-lg, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)); --input-gap: var(--lmvz-component-input-gap-lg, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)); --input-font-size: var(--lmvz-component-body-lg-font-size, clamp(1rem, 0.97rem + 0.13vw, 1.13rem)); } .input-container.sc-lmvz-input { display: flex; flex-direction: column; position: relative; width: 100%; } .input-wrapper.sc-lmvz-input { background-color: var(--input-bg); border: var(--input-border-width) solid var(--input-border-color); border-radius: var(--input-radius); display: flex; align-items: center; height: var(--input-height); padding: 0 var(--input-padding-x); position: relative; transition: border-color 0.2s ease; gap: var(--input-gap); } [disabled].sc-lmvz-input-h .input-wrapper.sc-lmvz-input { opacity: var(--input-disabled-opacity); cursor: not-allowed; pointer-events: none; } .sc-lmvz-input-h:has(:focus-visible) .input-wrapper.sc-lmvz-input { border-color: var(--input-border-color-focus); outline: var(--lmvz-ds-outline, 1px solid #0e7ab4); outline-offset: var(--lmvz-ds-outline-offset, clamp(0.25rem, 0.19rem + 0.26vw, 0.5rem)); } [error].sc-lmvz-input-h .input-wrapper.sc-lmvz-input { border-color: var(--error-text-color); } .sc-lmvz-input-h:not([disabled]) .input-wrapper.sc-lmvz-input:hover { border-color: var(--input-border-color-hover); } .label-input-group.sc-lmvz-input { position: relative; flex-grow: 1; display: flex; align-items: center; height: 100%; } label.sc-lmvz-input { position: absolute; left: 0; top: 50%; transform: translateY(-50%); color: var(--label-color); font-size: var(--input-font-size); font-weight: 400; pointer-events: none; transition: all 0.2s ease-out; background-color: transparent; padding: 0; margin: 0; line-height: 1.5; white-space: nowrap; } label.floating.sc-lmvz-input { top: 0.5em; transform: translateY(-100%); transform-origin: left top; font-size: var(--lmvz-component-body-2xs-font-size, clamp(0.5rem, 0.47rem + 0.13vw, 0.63rem)); background-color: var(--label-minimized-bg); padding: 0 var(--label-minimized-padding-x); left: -2px; color: var(--input-text-color); font-weight: 400; } .required-indicator.sc-lmvz-input { color: var(--error-text-color); margin-left: 2px; } input.sc-lmvz-input { border: none; background: transparent; width: 100%; height: 100%; color: var(--input-text-color); font-family: inherit; font-size: var(--input-font-size); outline: none; padding: 0; margin: 0; font-weight: 400; } input.sc-lmvz-input::placeholder { color: var(--label-color); } div.sc-lmvz-input:empty { display: none; } [role='status'].sc-lmvz-input { padding-top: 8px; padding-left: var(--input-padding-x); font-size: 12px; color: var(--helper-text-color); font-weight: 400; } [role='alert'].sc-lmvz-input { padding-top: 8px; padding-left: var(--input-padding-x); font-size: 12px; color: var(--error-text-color); font-weight: 400; } .sc-lmvz-input-s > lmvz-button { --lmvz-button-padding: var(--lmvz-dimension-6-4, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)); --lmvz-button-min-height-override: var(--lmvz-component-input-size-sm, clamp(2rem, 1.94rem + 0.26vw, 2.25rem)); }"}},[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],getValidationMessage:[64],getInputElement:[64]},void 0,{value:[{handleValueChange:0}],disabled:[{handleDisabledChange:0}]}]);function c(){"undefined"!=typeof customElements&&["lmvz-input"].forEach((e=>{"lmvz-input"===e&&(customElements.get(r(e))||customElements.define(r(e),m))}))}export{m as L,c as d}
@@ -1 +0,0 @@
1
- import{p as i,h as e,d as t,t as s}from"./p-DbBJxuBm.js";import{p as o}from"./p-DjvtQE7c.js";import{A as n}from"./p-sACbyedu.js";import{a as c}from"./p-CyDgnpOB.js";import{R as a}from"./p-DXFoXTse.js";const r=i(class extends a{intersectionObserver;ariaValidationController=new n(this);get el(){return this}validationEl;icon;weight="medium";size="md";iconset;iconData;visible=!1;ariaLabel;get ariaHidden(){return!this.ariaLabel}constructor(i){super(!1),!1!==i&&this.__registerHost(),this.addController(this.ariaValidationController)}connectedCallback(){this.waitUntilVisible((()=>{this.visible=!0,this.loadIconPathData()})),super.connectedCallback()}disconnectedCallback(){this.intersectionObserver&&"function"==typeof this.intersectionObserver.disconnect&&this.intersectionObserver.disconnect(),this.intersectionObserver=void 0,super.disconnectedCallback()}async loadIconPathData(){const{icon:i,iconset:e,visible:t}=this;if(!i||!t)return;const s=o(i);this.iconData=s||await c({icon:i,iconset:e})}componentDidRender(){this.validationEl=this.el.querySelector("svg"),this.ariaValidationController.revalidateAria(),super.componentDidRender()}render(){return e(t,{key:"be6032d11399289c3baddd63ebc7d9e1fb98b773",role:"img","aria-hidden":`${this.ariaHidden}`,innerHTML:this.iconData})}waitUntilVisible(i,e=50){"undefined"!=typeof window&&window.IntersectionObserver?(this.intersectionObserver=new IntersectionObserver((e=>{e.some((e=>!!e.isIntersecting&&(this.intersectionObserver&&"function"==typeof this.intersectionObserver.disconnect&&this.intersectionObserver.disconnect(),this.intersectionObserver=void 0,i(),!0)))}),{rootMargin:`${e}px`}),this.intersectionObserver.observe(this.el)):i()}static get watchers(){return{icon:[{loadIconPathData:0}],iconset:[{loadIconPathData:0}]}}static get style(){return".sc-lmvz-icon-h{--lmvz-icon-color:var(--lmvz-component-color, var(--lmvz-semantic-color-on-surface-input-primary, #000000));--lmvz-icon-size:var(--lmvz-component-size, var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem)));display:inline-block;line-height:0;svg{display:block;height:var(--lmvz-icon-size);width:auto}svg path{stroke:var(--lmvz-icon-color);fill:none}}[size='xs'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.72rem + 0.13vw, 0.88rem))}}[size='sm'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-sm, clamp(0.88rem, 0.84rem + 0.13vw, 1rem))}}[size='md'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-md, clamp(1rem, 0.94rem + 0.26vw, 1.25rem))}}[size='lg'].sc-lmvz-icon-h{svg{--lmvz-icon-size:var(--lmvz-component-icon-size-lg, clamp(1.25rem, 1.19rem + 0.26vw, 1.5rem))}}[size='inherit'].sc-lmvz-icon-h{svg{height:var(--lmvz-component-size, inherit)}}[weight='light'].sc-lmvz-icon-h{svg path{stroke-width:1}}[weight='medium'].sc-lmvz-icon-h{svg path{stroke-width:1.5}}[weight='bold'].sc-lmvz-icon-h{svg path{stroke-width:2}}[weight='filled'].sc-lmvz-icon-h{svg path{stroke-width:2;fill:var(--lmvz-icon-color)}}"}},[514,"lmvz-icon",{icon:[513],weight:[513],size:[513],iconset:[513],ariaLabel:[513,"aria-label"],iconData:[32],visible:[32]},void 0,{icon:[{loadIconPathData:0}],iconset:[{loadIconPathData:0}]}]);function m(){"undefined"!=typeof customElements&&["lmvz-icon"].forEach((i=>{"lmvz-icon"===i&&(customElements.get(s(i))||customElements.define(s(i),r))}))}export{r as L,m as d}