@lmvz-ds/components 0.35.2 → 0.36.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 +18 -0
- package/assets/icons/calendar.svg +7 -0
- package/cjs/{aria-validation-controller-BC0Eaiv4.js → aria-validation-controller-Do0uEK4t.js} +1 -1
- package/cjs/aria.constants-DPK5mQEL.js +65 -0
- package/cjs/{directional-focus-controller-DBat-oF7.js → directional-focus-controller-8Xd_7MHT.js} +3 -1
- package/cjs/{element-activation-controller-BHqCUgQv.js → element-activation-controller-DzTUocEO.js} +1 -1
- package/cjs/{element.util-CRS_YJ59.js → element.util-BlhcwmfR.js} +8 -54
- package/cjs/{index-TGsVZNDP.js → index-BgvZ4y-3.js} +12 -0
- package/cjs/lmvz-action-list.cjs.entry.js +5 -4
- package/cjs/lmvz-action.cjs.entry.js +1 -1
- package/cjs/lmvz-button-group.cjs.entry.js +3 -2
- package/cjs/lmvz-button_2.cjs.entry.js +6 -5
- package/cjs/lmvz-card.cjs.entry.js +1 -1
- package/cjs/lmvz-checkbox.cjs.entry.js +40 -6
- package/cjs/lmvz-chip.cjs.entry.js +2 -2
- package/cjs/lmvz-components.cjs.js +2 -2
- package/cjs/lmvz-datepicker.cjs.entry.js +2771 -0
- package/cjs/lmvz-header_2.cjs.entry.js +7 -6
- package/cjs/lmvz-input.cjs.entry.js +71 -15
- package/cjs/lmvz-link.cjs.entry.js +2 -2
- package/cjs/lmvz-menuitem.cjs.entry.js +6 -5
- package/cjs/lmvz-message.cjs.entry.js +2 -2
- package/cjs/lmvz-modal.cjs.entry.js +5 -4
- package/cjs/lmvz-popover.cjs.entry.js +25 -10
- package/cjs/lmvz-radio.cjs.entry.js +63 -5
- package/cjs/lmvz-select.cjs.entry.js +425 -18
- package/cjs/lmvz-snackbar.cjs.entry.js +2 -2
- package/cjs/lmvz-spinner.cjs.entry.js +2 -2
- package/cjs/lmvz-tab.cjs.entry.js +2 -2
- package/cjs/lmvz-tabs.cjs.entry.js +5 -4
- package/cjs/lmvz-toggle.cjs.entry.js +7 -4
- package/cjs/loader.cjs.js +2 -2
- package/collection/assets/icons/calendar.svg +7 -0
- package/collection/collection-manifest.json +1 -0
- package/collection/components/lmvz-checkbox/lmvz-checkbox.css +4 -2
- package/collection/components/lmvz-checkbox/lmvz-checkbox.js +68 -8
- package/collection/components/lmvz-datepicker/lmvz-datepicker.css +161 -0
- package/collection/components/lmvz-datepicker/lmvz-datepicker.js +1002 -0
- package/collection/components/lmvz-datepicker/lmvz-datepicker.utils.js +189 -0
- package/collection/components/lmvz-datepicker/test/lmvz-datepicker.utils.unit.js +300 -0
- package/collection/components/lmvz-header/lmvz-header.js +1 -1
- package/collection/components/lmvz-icon/lmvz-icon.js +1 -1
- package/collection/components/lmvz-input/lmvz-input.css +1 -1
- package/collection/components/lmvz-input/lmvz-input.js +85 -12
- package/collection/components/lmvz-link/lmvz-link.js +1 -1
- package/collection/components/lmvz-menuitem/lmvz-menuitem.js +1 -1
- package/collection/components/lmvz-message/lmvz-message.js +1 -1
- package/collection/components/lmvz-modal/lmvz-modal.js +1 -1
- package/collection/components/lmvz-popover/lmvz-popover.css +1 -1
- package/collection/components/lmvz-popover/lmvz-popover.js +50 -6
- package/collection/components/lmvz-radio/lmvz-radio.js +77 -9
- package/collection/components/lmvz-select/lmvz-select.css +96 -34
- package/collection/components/lmvz-select/lmvz-select.js +412 -21
- package/collection/components/lmvz-snackbar/lmvz-snackbar.js +1 -1
- package/collection/components/lmvz-spinner/lmvz-spinner.js +1 -1
- 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 +21 -1
- package/collection/integration/header-integration/header-integration.js +1 -1
- package/collection/styles/fragments/_focus-within.css +2 -2
- package/collection/utils/aria/aria.constants.js +7 -0
- package/collection/utils/aria/directional-focus-controller.js +3 -1
- package/collection/utils/aria/listbox-controller.js +154 -0
- package/collection/utils/element/element.util.js +5 -0
- package/collection/utils/radio/radio-group-controller.js +17 -0
- package/components/index.d.ts +2 -0
- package/components/index.d.ts.bak +2 -0
- package/components/index.js +1 -1
- package/components/lmvz-action-list.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-datepicker.d.ts +11 -0
- package/components/lmvz-datepicker.d.ts.bak +11 -0
- package/components/lmvz-datepicker.js +1 -0
- package/components/lmvz-header.js +1 -1
- package/components/lmvz-icon.js +1 -1
- package/components/lmvz-input.js +1 -1
- package/components/lmvz-link.js +1 -1
- package/components/lmvz-menuitem.js +1 -1
- package/components/lmvz-message.js +1 -1
- package/components/lmvz-modal.js +1 -1
- package/components/lmvz-popover.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.js +1 -1
- package/components/lmvz-tab.js +1 -1
- package/components/lmvz-tabs.js +1 -1
- package/components/lmvz-toggle.js +1 -1
- package/components/{p-Chj7BuUZ.js → p--FDdvoIg.js} +1 -1
- package/components/{p-CFTmV4XZ.js → p-BAj4FkUt.js} +1 -1
- package/components/p-BApwCp0R.js +1 -0
- package/components/{p-CxLd309t.js → p-BLMXiDE0.js} +1 -1
- package/components/{p-DGg7OzDl.js → p-BPYBmylI.js} +1 -1
- package/components/p-BhALzK62.js +1 -0
- package/components/{p-B_rnXUwq.js → p-Bnri3fEI.js} +1 -1
- package/components/p-C-pRMuMh.js +1 -0
- package/components/p-C5gRiLRR.js +1 -0
- package/components/{p-D5FL8n1q.js → p-CrQCHVKL.js} +1 -1
- package/components/p-DqdrUt_G.js +1 -0
- package/components/{p-CgK6-SEe.js → p-diOze8wI.js} +1 -1
- package/esm/{aria-validation-controller-BvOU1BO8.js → aria-validation-controller-Cp6pofER.js} +1 -1
- package/esm/aria.constants-DIyiticz.js +62 -0
- package/esm/{directional-focus-controller-DgAdCZrG.js → directional-focus-controller-QukTTWBE.js} +3 -1
- package/esm/{element-activation-controller-7PNSl6io.js → element-activation-controller-dxJZKMag.js} +1 -1
- package/esm/{element.util-BFcYfHYq.js → element.util-3ydVsxUW.js} +7 -54
- package/esm/{index-BPeerEwm.js → index-BOXP1Vx0.js} +12 -1
- package/esm/lmvz-action-list.entry.js +5 -4
- package/esm/lmvz-action.entry.js +1 -1
- package/esm/lmvz-button-group.entry.js +3 -2
- package/esm/lmvz-button_2.entry.js +6 -5
- package/esm/lmvz-card.entry.js +1 -1
- package/esm/lmvz-checkbox.entry.js +40 -6
- package/esm/lmvz-chip.entry.js +2 -2
- package/esm/lmvz-components.js +3 -3
- package/esm/lmvz-datepicker.entry.js +2769 -0
- package/esm/lmvz-header_2.entry.js +7 -6
- package/esm/lmvz-input.entry.js +71 -15
- package/esm/lmvz-link.entry.js +2 -2
- package/esm/lmvz-menuitem.entry.js +6 -5
- package/esm/lmvz-message.entry.js +2 -2
- package/esm/lmvz-modal.entry.js +5 -4
- package/esm/lmvz-popover.entry.js +25 -10
- package/esm/lmvz-radio.entry.js +63 -5
- package/esm/lmvz-select.entry.js +425 -18
- package/esm/lmvz-snackbar.entry.js +2 -2
- package/esm/lmvz-spinner.entry.js +2 -2
- package/esm/lmvz-tab.entry.js +2 -2
- package/esm/lmvz-tabs.entry.js +5 -4
- package/esm/lmvz-toggle.entry.js +7 -4
- package/esm/loader.js +3 -3
- package/hydrate/index.js +3474 -75
- package/hydrate/index.mjs +3474 -75
- package/lmvz-components/lmvz-components.esm.js +1 -1
- package/lmvz-components/{p-eb62d4af.entry.js → p-0af0211a.entry.js} +1 -1
- package/lmvz-components/{p-5bbbcfc0.entry.js → p-0f65d001.entry.js} +1 -1
- package/lmvz-components/p-137b1fe1.entry.js +1 -0
- package/lmvz-components/p-26dd9684.entry.js +1 -0
- package/lmvz-components/p-36f44108.entry.js +1 -0
- package/lmvz-components/p-398b5cf4.entry.js +1 -0
- package/lmvz-components/p-3a396fc8.entry.js +1 -0
- package/lmvz-components/{p-0c05f24b.entry.js → p-3d5867df.entry.js} +1 -1
- package/lmvz-components/p-40716828.entry.js +1 -0
- package/lmvz-components/{p-a887018d.entry.js → p-492adf21.entry.js} +1 -1
- package/lmvz-components/{p-24d13be6.entry.js → p-4fa6e72f.entry.js} +1 -1
- package/lmvz-components/p-70f1e31a.entry.js +1 -0
- package/lmvz-components/p-71d06d1d.entry.js +1 -0
- package/lmvz-components/{p-d45164a8.entry.js → p-7a7aa922.entry.js} +1 -1
- package/lmvz-components/p-88661c50.entry.js +1 -0
- package/lmvz-components/p-91eb71bb.entry.js +1 -0
- package/lmvz-components/p-BA3wizqg.js +1 -0
- package/lmvz-components/{p-BPeerEwm.js → p-BOXP1Vx0.js} +2 -2
- package/lmvz-components/{p-D9PQIBzA.js → p-BeY96W7m.js} +1 -1
- package/lmvz-components/p-CHxiS3ja.js +1 -0
- package/lmvz-components/{p-wlMjNjuv.js → p-CPSyM_e-.js} +1 -1
- package/lmvz-components/p-DIyiticz.js +1 -0
- package/lmvz-components/p-a680a7b2.entry.js +1 -0
- package/lmvz-components/{p-c2544495.entry.js → p-a6fe9b61.entry.js} +1 -1
- package/lmvz-components/{p-ecbd9e93.entry.js → p-a99acb02.entry.js} +1 -1
- package/lmvz-components/p-f16a19fc.entry.js +1 -0
- package/lmvz-components/p-f3f0ed49.entry.js +1 -0
- package/lmvz-components/p-f516a949.entry.js +1 -0
- package/manifest.json +1305 -188
- package/package.json +5 -1
- package/types/api/ds.constants.d.ts +0 -1
- package/types/api/ds.types.d.ts +9 -0
- package/types/components/lmvz-action/lmvz-action.d.ts +0 -1
- package/types/components/lmvz-action-list/lmvz-action-list.d.ts +0 -1
- package/types/components/lmvz-button/lmvz-button.d.ts +0 -1
- package/types/components/lmvz-button-group/lmvz-button-group.d.ts +0 -1
- package/types/components/lmvz-card/lmvz-card.d.ts +0 -1
- package/types/components/lmvz-checkbox/lmvz-checkbox.d.ts +9 -2
- package/types/components/lmvz-chip/lmvz-chip.d.ts +0 -1
- package/types/components/lmvz-datepicker/lmvz-datepicker.d.ts +77 -0
- package/types/components/lmvz-datepicker/lmvz-datepicker.utils.d.ts +22 -0
- package/types/components/lmvz-datepicker/test/lmvz-datepicker.utils.unit.d.ts +1 -0
- package/types/components/lmvz-header/lmvz-header.d.ts +0 -1
- package/types/components/lmvz-icon/lmvz-icon.d.ts +0 -1
- package/types/components/lmvz-input/lmvz-input.d.ts +8 -1
- package/types/components/lmvz-link/lmvz-link.d.ts +0 -1
- package/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +0 -1
- package/types/components/lmvz-message/lmvz-message.d.ts +0 -1
- package/types/components/lmvz-message/public.d.ts +0 -1
- package/types/components/lmvz-modal/lmvz-modal.d.ts +0 -1
- package/types/components/lmvz-modal/test/testing.d.ts +0 -1
- package/types/components/lmvz-popover/lmvz-popover.d.ts +2 -1
- package/types/components/lmvz-radio/lmvz-radio.d.ts +12 -3
- package/types/components/lmvz-select/lmvz-select.d.ts +53 -5
- package/types/components/lmvz-snackbar/lmvz-snackbar.d.ts +0 -1
- package/types/components/lmvz-snackbar/public.d.ts +0 -1
- package/types/components/lmvz-snackbar/snackbar-controller.d.ts +0 -1
- package/types/components/lmvz-spinner/lmvz-spinner.d.ts +0 -1
- package/types/components/lmvz-tab/lmvz-tab.d.ts +0 -1
- package/types/components/lmvz-tabs/lmvz-tabs.d.ts +0 -1
- package/types/components/lmvz-toggle/lmvz-toggle.d.ts +1 -1
- package/types/components.d.ts +312 -12
- package/types/index.d.ts +0 -1
- package/types/utils/aria/aria-validation-controller.d.ts +0 -1
- package/types/utils/aria/aria.constants.d.ts +1 -1
- package/types/utils/aria/directional-focus-controller.d.ts +0 -1
- package/types/utils/aria/element-activation-controller.d.ts +0 -1
- package/types/utils/aria/listbox-controller.d.ts +42 -0
- package/types/utils/async/async.util.d.ts +1 -2
- package/types/utils/data/event.util.d.ts +0 -1
- package/types/utils/data/number.util.d.ts +0 -1
- package/types/utils/data/object.util.d.ts +0 -1
- package/types/utils/data/time.util.d.ts +0 -1
- package/types/utils/element/element.util.d.ts +1 -1
- package/types/utils/environment.d.ts +0 -1
- package/types/utils/icons/icons-registry.d.ts +0 -1
- package/types/utils/icons/icons.d.ts +0 -1
- package/types/utils/icons/icons.unit.d.ts +0 -1
- package/types/utils/icons/public.d.ts +0 -1
- package/types/utils/public.d.ts +0 -1
- package/types/utils/radio/radio-group-controller.d.ts +3 -1
- package/types/utils/stencil/assets.d.ts +0 -1
- package/types/utils/stencil/reactive-controller-host.d.ts +0 -1
- package/types/utils/stencil/stencil.util.d.ts +0 -1
- package/components/p-DLUsBYJH.js +0 -1
- package/components/p-zMWemcoB.js +0 -1
- package/lmvz-components/p-194a3af5.entry.js +0 -1
- package/lmvz-components/p-46edf36f.entry.js +0 -1
- package/lmvz-components/p-5ff55ba9.entry.js +0 -1
- package/lmvz-components/p-888e04d7.entry.js +0 -1
- package/lmvz-components/p-9dc420e2.entry.js +0 -1
- package/lmvz-components/p-BFcYfHYq.js +0 -1
- package/lmvz-components/p-BuEA0MWd.js +0 -1
- package/lmvz-components/p-aaa7691c.entry.js +0 -1
- package/lmvz-components/p-b6dd045b.entry.js +0 -1
- package/lmvz-components/p-c3e62aba.entry.js +0 -1
- package/lmvz-components/p-d4154a65.entry.js +0 -1
- package/lmvz-components/p-e4ce63b3.entry.js +0 -1
- package/lmvz-components/p-eb4c5a6f.entry.js +0 -1
- package/lmvz-components/p-f42b16e6.entry.js +0 -1
- package/lmvz-components/p-fbf066d9.entry.js +0 -1
package/types/components.d.ts
CHANGED
|
@@ -173,6 +173,10 @@ export declare namespace Components {
|
|
|
173
173
|
* Form id to associate with (for out-of-form usage).
|
|
174
174
|
*/
|
|
175
175
|
"form"?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Returns the current validation message, if any.
|
|
178
|
+
*/
|
|
179
|
+
"getValidationMessage": () => Promise<string>;
|
|
176
180
|
/**
|
|
177
181
|
* Helper / description text displayed below the label.
|
|
178
182
|
*/
|
|
@@ -215,6 +219,86 @@ export declare namespace Components {
|
|
|
215
219
|
*/
|
|
216
220
|
"type": Chip.Type;
|
|
217
221
|
}
|
|
222
|
+
export interface LmvzDatepicker {
|
|
223
|
+
/**
|
|
224
|
+
* Returns whether the current value satisfies `required`/`min`/`max` and is a parseable date. Unlike a native `<input>`, form-associated custom elements do not forward `ElementInternals`' constraint-validation API to the element automatically — this delegates to it explicitly.
|
|
225
|
+
*/
|
|
226
|
+
"checkValidity": () => Promise<boolean>;
|
|
227
|
+
/**
|
|
228
|
+
* Whether the entire datepicker (input + panel) is disabled.
|
|
229
|
+
* @default false
|
|
230
|
+
*/
|
|
231
|
+
"disabled": boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Custom display-format pattern for the text field, using the tokens `yyyy`, `MM`, `dd` (e.g. `'dd.MM.yyyy'`). Defaults to a pattern derived from `locale`.
|
|
234
|
+
*/
|
|
235
|
+
"displayFormat"?: Datepicker.DisplayFormat;
|
|
236
|
+
/**
|
|
237
|
+
* Error message displayed below the text field when the value is invalid.
|
|
238
|
+
*/
|
|
239
|
+
"errorMessage"?: string;
|
|
240
|
+
/**
|
|
241
|
+
* First day of the week: `0` = Sunday, `1` = Monday. Monday-first is hardcoded for v1; this prop is reserved for future runtime support.
|
|
242
|
+
* @default 1
|
|
243
|
+
*/
|
|
244
|
+
"firstDayOfWeek": 0 | 1;
|
|
245
|
+
/**
|
|
246
|
+
* Helper text displayed below the text field.
|
|
247
|
+
*/
|
|
248
|
+
"helperText"?: string;
|
|
249
|
+
/**
|
|
250
|
+
* Label for the composed text field.
|
|
251
|
+
*/
|
|
252
|
+
"label"?: string;
|
|
253
|
+
/**
|
|
254
|
+
* BCP 47 locale tag used for weekday/month names, ARIA labels, and the default display format.
|
|
255
|
+
* @default 'de-CH'
|
|
256
|
+
*/
|
|
257
|
+
"locale": string;
|
|
258
|
+
/**
|
|
259
|
+
* Maximum selectable date in ISO `YYYY-MM-DD` format. Days after this date are disabled.
|
|
260
|
+
*/
|
|
261
|
+
"max": IsoDateString | undefined;
|
|
262
|
+
/**
|
|
263
|
+
* Minimum selectable date in ISO `YYYY-MM-DD` format. Days before this date are disabled.
|
|
264
|
+
*/
|
|
265
|
+
"min": IsoDateString | undefined;
|
|
266
|
+
/**
|
|
267
|
+
* Name submitted with the form.
|
|
268
|
+
*/
|
|
269
|
+
"name"?: string;
|
|
270
|
+
/**
|
|
271
|
+
* Whether the calendar popover is open. Reflects the actual open state — it is kept in sync with focus/keyboard interactions and with light-dismiss/Escape closing.
|
|
272
|
+
* @default false
|
|
273
|
+
*/
|
|
274
|
+
"open": boolean;
|
|
275
|
+
/**
|
|
276
|
+
* Placeholder for the composed text field. Defaults to the locale-derived display pattern (e.g. `dd.MM.yyyy`).
|
|
277
|
+
*/
|
|
278
|
+
"placeholder"?: string;
|
|
279
|
+
/**
|
|
280
|
+
* Whether the datepicker is readonly. The text field cannot be typed into and the calendar cannot change the value, but the value is still submitted with the form.
|
|
281
|
+
* @default false
|
|
282
|
+
*/
|
|
283
|
+
"readonly": boolean;
|
|
284
|
+
/**
|
|
285
|
+
* Reports validation errors to the user (e.g. shows the browser's native validation bubble) and returns whether the current value is valid.
|
|
286
|
+
*/
|
|
287
|
+
"reportValidity": () => Promise<boolean>;
|
|
288
|
+
/**
|
|
289
|
+
* Whether a value is required for the form to be valid.
|
|
290
|
+
* @default false
|
|
291
|
+
*/
|
|
292
|
+
"required": boolean;
|
|
293
|
+
/**
|
|
294
|
+
* The selected date in ISO `YYYY-MM-DD` format.
|
|
295
|
+
*/
|
|
296
|
+
"value": `${number}-${number}-${number}` | undefined;
|
|
297
|
+
/**
|
|
298
|
+
* ISO year-month string (`YYYY-MM`) whose month is currently displayed. Defaults to the current month when unset.
|
|
299
|
+
*/
|
|
300
|
+
"visibleMonth": IsoYearMonthString | undefined;
|
|
301
|
+
}
|
|
218
302
|
/**
|
|
219
303
|
* An accessible, application-style navigation header component, that renders two connected levels of navigation.
|
|
220
304
|
*/
|
|
@@ -333,6 +417,10 @@ export declare namespace Components {
|
|
|
333
417
|
* Returns the native HTMLInputElement. Promise resolves when the element is ready and the input is available. If the input is not yet rendered, it waits for the component to be ready.
|
|
334
418
|
*/
|
|
335
419
|
"getInputElement": () => Promise<HTMLInputElement | undefined>;
|
|
420
|
+
/**
|
|
421
|
+
* Returns the current validation message, if any.
|
|
422
|
+
*/
|
|
423
|
+
"getValidationMessage": () => Promise<string>;
|
|
336
424
|
/**
|
|
337
425
|
* Helper text displayed below the input
|
|
338
426
|
*/
|
|
@@ -509,10 +597,15 @@ export declare namespace Components {
|
|
|
509
597
|
*/
|
|
510
598
|
"anchor"?: string | HTMLElement;
|
|
511
599
|
/**
|
|
512
|
-
* Whether to move focus to the first focusable element on open.
|
|
600
|
+
* Whether to move focus to the first focusable element on open. Ignored (treated as `false`) when `containerRole` is not `'dialog'`, since non-dialog roles (e.g. `'listbox'` for combobox/activedescendant integrations) must keep focus on the anchor/trigger element.
|
|
513
601
|
* @default true
|
|
514
602
|
*/
|
|
515
603
|
"autoFocus": boolean;
|
|
604
|
+
/**
|
|
605
|
+
* ARIA role applied to the popover container. Use `'dialog'` (default) for focus-moving dialog-style popovers. Use a non-dialog role such as `'listbox'` to integrate with a `role="combobox"` trigger using the activedescendant model, in which case focus is kept on the anchor/trigger element instead of being moved into the popover.
|
|
606
|
+
* @default 'dialog'
|
|
607
|
+
*/
|
|
608
|
+
"containerRole": Popover.ContainerRole;
|
|
516
609
|
/**
|
|
517
610
|
* Closes the popover, firing lmvzCancel first. If cancelled, the popover stays open.
|
|
518
611
|
*/
|
|
@@ -598,6 +691,10 @@ export declare namespace Components {
|
|
|
598
691
|
* Form id to associate with (for out-of-form usage). Reflected to the host attribute so both HTML attribute and programmatic assignment work.
|
|
599
692
|
*/
|
|
600
693
|
"form"?: string;
|
|
694
|
+
/**
|
|
695
|
+
* Returns the current validation message, if any.
|
|
696
|
+
*/
|
|
697
|
+
"getValidationMessage": () => Promise<string>;
|
|
601
698
|
/**
|
|
602
699
|
* Helper / description text displayed below the label.
|
|
603
700
|
*/
|
|
@@ -607,8 +704,8 @@ export declare namespace Components {
|
|
|
607
704
|
*/
|
|
608
705
|
"label": string;
|
|
609
706
|
/**
|
|
610
|
-
* Name attribute for form submission via ElementInternals.
|
|
611
|
-
* @remarks A value of `""` (empty string) is
|
|
707
|
+
* Name attribute for form submission via ElementInternals. The `name` is NOT forwarded to the native `<input type="radio">` — this component renders in `scoped` (light DOM) mode, so a native `name` attribute would make the inner `<input>` an independent, genuinely form-associated element of the outer `<form>`, submitting a duplicate value alongside the host's own `ElementInternals` participation. Instead, `name` is used purely as a JS-level grouping key: the `RadioGroupController` tracks all `lmvz-radio` hosts sharing the same `name` and form scope in an internal registry and enforces mutual exclusion itself (via `RadioGroup.select()`, which sets `checked = false` on every other host in the group). If a radio is outside any form, its scope defaults to the document level — same-name radios outside forms form a document-scoped group. Radios with the same `name` in different forms are independent groups. The `RadioGroupController` also manages roving tabindex (only the checked radio has `tabindex="0"`) and keyboard navigation (Arrow keys, Home, End) within the group.
|
|
708
|
+
* @remarks A value of `""` (empty string) is treated as unnamed by `RadioGroupController` — no group coordination occurs between radios with `name=""`.
|
|
612
709
|
*/
|
|
613
710
|
"name"?: string;
|
|
614
711
|
/**
|
|
@@ -628,7 +725,13 @@ export declare namespace Components {
|
|
|
628
725
|
}
|
|
629
726
|
/**
|
|
630
727
|
* Select component with floating label and pill-shaped trigger.
|
|
631
|
-
*
|
|
728
|
+
* Implements the WAI-ARIA APG "combobox with listbox popup" pattern: a `role="combobox"`
|
|
729
|
+
* trigger drives an `lmvz-popover`-hosted `role="listbox"`/`role="option"` list via the
|
|
730
|
+
* activedescendant model (the trigger keeps real DOM focus; `aria-activedescendant` tracks
|
|
731
|
+
* the highlighted option).
|
|
732
|
+
* Participates in native HTML forms via `ElementInternals` (form-associated custom element):
|
|
733
|
+
* the `name` attribute (set directly on the host element) and the current `value` are submitted,
|
|
734
|
+
* and the value resets to its initial value on form reset.
|
|
632
735
|
* @example ```html
|
|
633
736
|
* <lmvz-select label="Country" name="country">
|
|
634
737
|
* <option value="ch">Switzerland</option>
|
|
@@ -642,17 +745,42 @@ export declare namespace Components {
|
|
|
642
745
|
* ```
|
|
643
746
|
*/
|
|
644
747
|
export interface LmvzSelect {
|
|
748
|
+
/**
|
|
749
|
+
* Removes focus from the combobox trigger.
|
|
750
|
+
*/
|
|
751
|
+
"blurTrigger": () => Promise<void>;
|
|
752
|
+
/**
|
|
753
|
+
* Returns whether the select satisfies its validation constraints.
|
|
754
|
+
*/
|
|
755
|
+
"checkValidity": () => Promise<boolean>;
|
|
645
756
|
/**
|
|
646
757
|
* Whether the select is disabled.
|
|
647
758
|
* @default false
|
|
648
759
|
*/
|
|
649
760
|
"disabled": boolean;
|
|
761
|
+
/**
|
|
762
|
+
* Whether the select is in an error state. When not set manually, this will automatically reflect native HTML5 validation state
|
|
763
|
+
* @default false
|
|
764
|
+
*/
|
|
765
|
+
"error": boolean;
|
|
766
|
+
/**
|
|
767
|
+
* Error message displayed below the select field when error is true.
|
|
768
|
+
*/
|
|
769
|
+
"errorMessage"?: string;
|
|
770
|
+
/**
|
|
771
|
+
* Sets focus on the combobox trigger.
|
|
772
|
+
*/
|
|
773
|
+
"focusTrigger": () => Promise<void>;
|
|
774
|
+
/**
|
|
775
|
+
* Returns the current validation message, if any.
|
|
776
|
+
*/
|
|
777
|
+
"getValidationMessage": () => Promise<string>;
|
|
650
778
|
/**
|
|
651
779
|
* Helper text displayed below the select field.
|
|
652
780
|
*/
|
|
653
781
|
"helperText"?: string;
|
|
654
782
|
/**
|
|
655
|
-
* Whether the select has an active filter or selection that should be visually distinguished (e.g. a filter chip is applied). When `true`: - The host attribute `highlighted` is present (CSS: `:host([highlighted])`). - The host attribute `data-highlighted="true"` is set for assistive-technology consumers that observe data attributes. When `false`, `data-highlighted` is set to `"false"`. Note: `aria-pressed`
|
|
783
|
+
* Whether the select has an active filter or selection that should be visually distinguished (e.g. a filter chip is applied). When `true`: - The host attribute `highlighted` is present (CSS: `:host([highlighted])`). - The host attribute `data-highlighted="true"` is set for assistive-technology consumers that observe data attributes. When `false`, `data-highlighted` is set to `"false"`. Note: `aria-pressed` is intentionally not used here; it is reserved for toggle-button roles. `aria-selected` is reserved for this component's own `role="option"` elements. The `data-highlighted` attribute provides the accessible contract for this state.
|
|
656
784
|
* @default false
|
|
657
785
|
*/
|
|
658
786
|
"highlighted": boolean;
|
|
@@ -661,9 +789,13 @@ export declare namespace Components {
|
|
|
661
789
|
*/
|
|
662
790
|
"label": string;
|
|
663
791
|
/**
|
|
664
|
-
* Name attribute
|
|
792
|
+
* Name attribute for form submission via ElementInternals.
|
|
665
793
|
*/
|
|
666
794
|
"name"?: string;
|
|
795
|
+
/**
|
|
796
|
+
* Reports validation errors to the user.
|
|
797
|
+
*/
|
|
798
|
+
"reportValidity": () => Promise<boolean>;
|
|
667
799
|
/**
|
|
668
800
|
* Whether a value is required.
|
|
669
801
|
* @default false
|
|
@@ -825,6 +957,10 @@ export declare namespace Components {
|
|
|
825
957
|
* Returns the native HTMLInputElement. Promise resolves when the element is ready and the input is available.
|
|
826
958
|
*/
|
|
827
959
|
"getInputElement": () => Promise<HTMLInputElement | undefined>;
|
|
960
|
+
/**
|
|
961
|
+
* Returns the current validation message, if any.
|
|
962
|
+
*/
|
|
963
|
+
"getValidationMessage": () => Promise<string>;
|
|
828
964
|
/**
|
|
829
965
|
* Label text for the toggle
|
|
830
966
|
*/
|
|
@@ -850,6 +986,14 @@ export declare namespace Components {
|
|
|
850
986
|
}
|
|
851
987
|
}
|
|
852
988
|
|
|
989
|
+
export declare namespace Datepicker {
|
|
990
|
+
/**
|
|
991
|
+
* A display-format pattern using the tokens `yyyy`, `MM`, `dd`
|
|
992
|
+
* (any order, arbitrary literal separators), e.g. `'dd.MM.yyyy'`.
|
|
993
|
+
*/
|
|
994
|
+
export type DisplayFormat = string;
|
|
995
|
+
}
|
|
996
|
+
|
|
853
997
|
export declare type FormRef = string | HTMLFormElement | undefined;
|
|
854
998
|
|
|
855
999
|
export declare namespace Icon {
|
|
@@ -880,6 +1024,18 @@ declare const inputSizes: readonly ["sm", "md", "lg"];
|
|
|
880
1024
|
|
|
881
1025
|
declare const inputTypes: readonly ["text", "email", "password", "tel", "url", "search", "number"];
|
|
882
1026
|
|
|
1027
|
+
/**
|
|
1028
|
+
* ISO 8601 date string: YYYY-MM-DD
|
|
1029
|
+
* Compatible with Temporal.PlainDate.toString()
|
|
1030
|
+
*/
|
|
1031
|
+
export declare type IsoDateString = `${number}-${number}-${number}`;
|
|
1032
|
+
|
|
1033
|
+
/**
|
|
1034
|
+
* ISO 8601 year-month string: YYYY-MM
|
|
1035
|
+
* Compatible with Temporal.PlainYearMonth.toString()
|
|
1036
|
+
*/
|
|
1037
|
+
export declare type IsoYearMonthString = `${number}-${number}`;
|
|
1038
|
+
|
|
883
1039
|
export declare namespace JSX {
|
|
884
1040
|
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 };
|
|
885
1041
|
|
|
@@ -1080,6 +1236,98 @@ export declare namespace JSX {
|
|
|
1080
1236
|
*/
|
|
1081
1237
|
"type"?: Chip.Type;
|
|
1082
1238
|
}
|
|
1239
|
+
export interface LmvzDatepicker {
|
|
1240
|
+
/**
|
|
1241
|
+
* Whether the entire datepicker (input + panel) is disabled.
|
|
1242
|
+
* @default false
|
|
1243
|
+
*/
|
|
1244
|
+
"disabled"?: boolean;
|
|
1245
|
+
/**
|
|
1246
|
+
* Custom display-format pattern for the text field, using the tokens `yyyy`, `MM`, `dd` (e.g. `'dd.MM.yyyy'`). Defaults to a pattern derived from `locale`.
|
|
1247
|
+
*/
|
|
1248
|
+
"displayFormat"?: Datepicker.DisplayFormat;
|
|
1249
|
+
/**
|
|
1250
|
+
* Error message displayed below the text field when the value is invalid.
|
|
1251
|
+
*/
|
|
1252
|
+
"errorMessage"?: string;
|
|
1253
|
+
/**
|
|
1254
|
+
* First day of the week: `0` = Sunday, `1` = Monday. Monday-first is hardcoded for v1; this prop is reserved for future runtime support.
|
|
1255
|
+
* @default 1
|
|
1256
|
+
*/
|
|
1257
|
+
"firstDayOfWeek"?: 0 | 1;
|
|
1258
|
+
/**
|
|
1259
|
+
* The `id` of a `<form>` element to associate this element with.
|
|
1260
|
+
*/
|
|
1261
|
+
"form"?: string;
|
|
1262
|
+
/**
|
|
1263
|
+
* Helper text displayed below the text field.
|
|
1264
|
+
*/
|
|
1265
|
+
"helperText"?: string;
|
|
1266
|
+
/**
|
|
1267
|
+
* Label for the composed text field.
|
|
1268
|
+
*/
|
|
1269
|
+
"label"?: string;
|
|
1270
|
+
/**
|
|
1271
|
+
* BCP 47 locale tag used for weekday/month names, ARIA labels, and the default display format.
|
|
1272
|
+
* @default 'de-CH'
|
|
1273
|
+
*/
|
|
1274
|
+
"locale"?: string;
|
|
1275
|
+
/**
|
|
1276
|
+
* Maximum selectable date in ISO `YYYY-MM-DD` format. Days after this date are disabled.
|
|
1277
|
+
*/
|
|
1278
|
+
"max"?: IsoDateString | undefined;
|
|
1279
|
+
/**
|
|
1280
|
+
* Minimum selectable date in ISO `YYYY-MM-DD` format. Days before this date are disabled.
|
|
1281
|
+
*/
|
|
1282
|
+
"min"?: IsoDateString | undefined;
|
|
1283
|
+
/**
|
|
1284
|
+
* Name submitted with the form.
|
|
1285
|
+
*/
|
|
1286
|
+
"name"?: string;
|
|
1287
|
+
/**
|
|
1288
|
+
* Emitted when the user selects a date (via the calendar grid or by typing a complete valid date). The `value` field carries an IsoDateString representing the selected date.
|
|
1289
|
+
*/
|
|
1290
|
+
"onLmvzChange"?: (event: LmvzDatepickerCustomEvent<{ value: IsoDateString | undefined }>) => void;
|
|
1291
|
+
/**
|
|
1292
|
+
* Forwarded from the internal popover: fired after the calendar panel closes.
|
|
1293
|
+
*/
|
|
1294
|
+
"onLmvzClose"?: (event: LmvzDatepickerCustomEvent<void>) => void;
|
|
1295
|
+
/**
|
|
1296
|
+
* Emitted when the displayed month changes via prev/next navigation. The `visibleMonth` field carries an IsoYearMonthString representing the new month.
|
|
1297
|
+
*/
|
|
1298
|
+
"onLmvzMonthChange"?: (event: LmvzDatepickerCustomEvent<{ visibleMonth: IsoYearMonthString }>) => void;
|
|
1299
|
+
/**
|
|
1300
|
+
* Forwarded from the internal popover: fired after the calendar panel opens.
|
|
1301
|
+
*/
|
|
1302
|
+
"onLmvzOpen"?: (event: LmvzDatepickerCustomEvent<void>) => void;
|
|
1303
|
+
/**
|
|
1304
|
+
* Whether the calendar popover is open. Reflects the actual open state — it is kept in sync with focus/keyboard interactions and with light-dismiss/Escape closing.
|
|
1305
|
+
* @default false
|
|
1306
|
+
*/
|
|
1307
|
+
"open"?: boolean;
|
|
1308
|
+
/**
|
|
1309
|
+
* Placeholder for the composed text field. Defaults to the locale-derived display pattern (e.g. `dd.MM.yyyy`).
|
|
1310
|
+
*/
|
|
1311
|
+
"placeholder"?: string;
|
|
1312
|
+
/**
|
|
1313
|
+
* Whether the datepicker is readonly. The text field cannot be typed into and the calendar cannot change the value, but the value is still submitted with the form.
|
|
1314
|
+
* @default false
|
|
1315
|
+
*/
|
|
1316
|
+
"readonly"?: boolean;
|
|
1317
|
+
/**
|
|
1318
|
+
* Whether a value is required for the form to be valid.
|
|
1319
|
+
* @default false
|
|
1320
|
+
*/
|
|
1321
|
+
"required"?: boolean;
|
|
1322
|
+
/**
|
|
1323
|
+
* The selected date in ISO `YYYY-MM-DD` format.
|
|
1324
|
+
*/
|
|
1325
|
+
"value"?: `${number}-${number}-${number}` | undefined;
|
|
1326
|
+
/**
|
|
1327
|
+
* ISO year-month string (`YYYY-MM`) whose month is currently displayed. Defaults to the current month when unset.
|
|
1328
|
+
*/
|
|
1329
|
+
"visibleMonth"?: IsoYearMonthString | undefined;
|
|
1330
|
+
}
|
|
1083
1331
|
/**
|
|
1084
1332
|
* An accessible, application-style navigation header component, that renders two connected levels of navigation.
|
|
1085
1333
|
*/
|
|
@@ -1360,10 +1608,15 @@ export declare namespace JSX {
|
|
|
1360
1608
|
*/
|
|
1361
1609
|
"anchor"?: string | HTMLElement;
|
|
1362
1610
|
/**
|
|
1363
|
-
* Whether to move focus to the first focusable element on open.
|
|
1611
|
+
* Whether to move focus to the first focusable element on open. Ignored (treated as `false`) when `containerRole` is not `'dialog'`, since non-dialog roles (e.g. `'listbox'` for combobox/activedescendant integrations) must keep focus on the anchor/trigger element.
|
|
1364
1612
|
* @default true
|
|
1365
1613
|
*/
|
|
1366
1614
|
"autoFocus"?: boolean;
|
|
1615
|
+
/**
|
|
1616
|
+
* ARIA role applied to the popover container. Use `'dialog'` (default) for focus-moving dialog-style popovers. Use a non-dialog role such as `'listbox'` to integrate with a `role="combobox"` trigger using the activedescendant model, in which case focus is kept on the anchor/trigger element instead of being moved into the popover.
|
|
1617
|
+
* @default 'dialog'
|
|
1618
|
+
*/
|
|
1619
|
+
"containerRole"?: Popover.ContainerRole;
|
|
1367
1620
|
/**
|
|
1368
1621
|
* Accessible label for the popover container.
|
|
1369
1622
|
*/
|
|
@@ -1450,8 +1703,8 @@ export declare namespace JSX {
|
|
|
1450
1703
|
*/
|
|
1451
1704
|
"label": string;
|
|
1452
1705
|
/**
|
|
1453
|
-
* Name attribute for form submission via ElementInternals.
|
|
1454
|
-
* @remarks A value of `""` (empty string) is
|
|
1706
|
+
* Name attribute for form submission via ElementInternals. The `name` is NOT forwarded to the native `<input type="radio">` — this component renders in `scoped` (light DOM) mode, so a native `name` attribute would make the inner `<input>` an independent, genuinely form-associated element of the outer `<form>`, submitting a duplicate value alongside the host's own `ElementInternals` participation. Instead, `name` is used purely as a JS-level grouping key: the `RadioGroupController` tracks all `lmvz-radio` hosts sharing the same `name` and form scope in an internal registry and enforces mutual exclusion itself (via `RadioGroup.select()`, which sets `checked = false` on every other host in the group). If a radio is outside any form, its scope defaults to the document level — same-name radios outside forms form a document-scoped group. Radios with the same `name` in different forms are independent groups. The `RadioGroupController` also manages roving tabindex (only the checked radio has `tabindex="0"`) and keyboard navigation (Arrow keys, Home, End) within the group.
|
|
1707
|
+
* @remarks A value of `""` (empty string) is treated as unnamed by `RadioGroupController` — no group coordination occurs between radios with `name=""`.
|
|
1455
1708
|
*/
|
|
1456
1709
|
"name"?: string;
|
|
1457
1710
|
/**
|
|
@@ -1475,7 +1728,13 @@ export declare namespace JSX {
|
|
|
1475
1728
|
}
|
|
1476
1729
|
/**
|
|
1477
1730
|
* Select component with floating label and pill-shaped trigger.
|
|
1478
|
-
*
|
|
1731
|
+
* Implements the WAI-ARIA APG "combobox with listbox popup" pattern: a `role="combobox"`
|
|
1732
|
+
* trigger drives an `lmvz-popover`-hosted `role="listbox"`/`role="option"` list via the
|
|
1733
|
+
* activedescendant model (the trigger keeps real DOM focus; `aria-activedescendant` tracks
|
|
1734
|
+
* the highlighted option).
|
|
1735
|
+
* Participates in native HTML forms via `ElementInternals` (form-associated custom element):
|
|
1736
|
+
* the `name` attribute (set directly on the host element) and the current `value` are submitted,
|
|
1737
|
+
* and the value resets to its initial value on form reset.
|
|
1479
1738
|
* @example ```html
|
|
1480
1739
|
* <lmvz-select label="Country" name="country">
|
|
1481
1740
|
* <option value="ch">Switzerland</option>
|
|
@@ -1494,12 +1753,25 @@ export declare namespace JSX {
|
|
|
1494
1753
|
* @default false
|
|
1495
1754
|
*/
|
|
1496
1755
|
"disabled"?: boolean;
|
|
1756
|
+
/**
|
|
1757
|
+
* Whether the select is in an error state. When not set manually, this will automatically reflect native HTML5 validation state
|
|
1758
|
+
* @default false
|
|
1759
|
+
*/
|
|
1760
|
+
"error"?: boolean;
|
|
1761
|
+
/**
|
|
1762
|
+
* Error message displayed below the select field when error is true.
|
|
1763
|
+
*/
|
|
1764
|
+
"errorMessage"?: string;
|
|
1765
|
+
/**
|
|
1766
|
+
* The `id` of a `<form>` element to associate this element with.
|
|
1767
|
+
*/
|
|
1768
|
+
"form"?: string;
|
|
1497
1769
|
/**
|
|
1498
1770
|
* Helper text displayed below the select field.
|
|
1499
1771
|
*/
|
|
1500
1772
|
"helperText"?: string;
|
|
1501
1773
|
/**
|
|
1502
|
-
* Whether the select has an active filter or selection that should be visually distinguished (e.g. a filter chip is applied). When `true`: - The host attribute `highlighted` is present (CSS: `:host([highlighted])`). - The host attribute `data-highlighted="true"` is set for assistive-technology consumers that observe data attributes. When `false`, `data-highlighted` is set to `"false"`. Note: `aria-pressed`
|
|
1774
|
+
* Whether the select has an active filter or selection that should be visually distinguished (e.g. a filter chip is applied). When `true`: - The host attribute `highlighted` is present (CSS: `:host([highlighted])`). - The host attribute `data-highlighted="true"` is set for assistive-technology consumers that observe data attributes. When `false`, `data-highlighted` is set to `"false"`. Note: `aria-pressed` is intentionally not used here; it is reserved for toggle-button roles. `aria-selected` is reserved for this component's own `role="option"` elements. The `data-highlighted` attribute provides the accessible contract for this state.
|
|
1503
1775
|
* @default false
|
|
1504
1776
|
*/
|
|
1505
1777
|
"highlighted"?: boolean;
|
|
@@ -1508,7 +1780,7 @@ export declare namespace JSX {
|
|
|
1508
1780
|
*/
|
|
1509
1781
|
"label": string;
|
|
1510
1782
|
/**
|
|
1511
|
-
* Name attribute
|
|
1783
|
+
* Name attribute for form submission via ElementInternals.
|
|
1512
1784
|
*/
|
|
1513
1785
|
"name"?: string;
|
|
1514
1786
|
/**
|
|
@@ -1713,6 +1985,24 @@ export declare namespace JSX {
|
|
|
1713
1985
|
"type": Chip.Type;
|
|
1714
1986
|
"size": Chip.Size;
|
|
1715
1987
|
}
|
|
1988
|
+
export interface LmvzDatepickerAttributes {
|
|
1989
|
+
"value": `${number}-${number}-${number}` | undefined;
|
|
1990
|
+
"visibleMonth": IsoYearMonthString | undefined;
|
|
1991
|
+
"min": IsoDateString | undefined;
|
|
1992
|
+
"max": IsoDateString | undefined;
|
|
1993
|
+
"locale": string;
|
|
1994
|
+
"firstDayOfWeek": 0 | 1;
|
|
1995
|
+
"disabled": boolean;
|
|
1996
|
+
"readonly": boolean;
|
|
1997
|
+
"required": boolean;
|
|
1998
|
+
"name": string;
|
|
1999
|
+
"label": string;
|
|
2000
|
+
"placeholder": string;
|
|
2001
|
+
"helperText": string;
|
|
2002
|
+
"errorMessage": string;
|
|
2003
|
+
"open": boolean;
|
|
2004
|
+
"displayFormat": Datepicker.DisplayFormat;
|
|
2005
|
+
}
|
|
1716
2006
|
export interface LmvzHeaderAttributes {
|
|
1717
2007
|
"role": string;
|
|
1718
2008
|
"lmvzActiveNav": string;
|
|
@@ -1780,6 +2070,7 @@ export declare namespace JSX {
|
|
|
1780
2070
|
"placement": Popover.Placement;
|
|
1781
2071
|
"size": Popover.Size;
|
|
1782
2072
|
"autoFocus": boolean;
|
|
2073
|
+
"containerRole": Popover.ContainerRole;
|
|
1783
2074
|
"label": string;
|
|
1784
2075
|
}
|
|
1785
2076
|
export interface LmvzRadioAttributes {
|
|
@@ -1798,6 +2089,8 @@ export declare namespace JSX {
|
|
|
1798
2089
|
"value": string;
|
|
1799
2090
|
"label": string;
|
|
1800
2091
|
"helperText": string;
|
|
2092
|
+
"error": boolean;
|
|
2093
|
+
"errorMessage": string;
|
|
1801
2094
|
"disabled": boolean;
|
|
1802
2095
|
"required": boolean;
|
|
1803
2096
|
"name": string;
|
|
@@ -1843,6 +2136,7 @@ export declare namespace JSX {
|
|
|
1843
2136
|
"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"]>;
|
|
1844
2137
|
"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"]>;
|
|
1845
2138
|
"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] };
|
|
2139
|
+
"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] };
|
|
1846
2140
|
"lmvz-header": Omit<LmvzHeader, keyof LmvzHeaderAttributes> & { [K in keyof LmvzHeader & keyof LmvzHeaderAttributes]?: LmvzHeader[K] } & { [K in keyof LmvzHeader & keyof LmvzHeaderAttributes as `attr:${K}`]?: LmvzHeaderAttributes[K] } & { [K in keyof LmvzHeader & keyof LmvzHeaderAttributes as `prop:${K}`]?: LmvzHeader[K] };
|
|
1847
2141
|
"lmvz-icon": Omit<LmvzIcon, keyof LmvzIconAttributes> & { [K in keyof LmvzIcon & keyof LmvzIconAttributes]?: LmvzIcon[K] } & { [K in keyof LmvzIcon & keyof LmvzIconAttributes as `attr:${K}`]?: LmvzIconAttributes[K] } & { [K in keyof LmvzIcon & keyof LmvzIconAttributes as `prop:${K}`]?: LmvzIcon[K] } & OneOf<"icon", LmvzIcon["icon"], LmvzIconAttributes["icon"]>;
|
|
1848
2142
|
"lmvz-input": Omit<LmvzInput, keyof LmvzInputAttributes> & { [K in keyof LmvzInput & keyof LmvzInputAttributes]?: LmvzInput[K] } & { [K in keyof LmvzInput & keyof LmvzInputAttributes as `attr:${K}`]?: LmvzInputAttributes[K] } & { [K in keyof LmvzInput & keyof LmvzInputAttributes as `prop:${K}`]?: LmvzInput[K] } & OneOf<"label", LmvzInput["label"], LmvzInputAttributes["label"]>;
|
|
@@ -1887,6 +2181,11 @@ export declare interface LmvzCheckboxCustomEvent<T> extends CustomEvent<T> {
|
|
|
1887
2181
|
target: HTMLLmvzCheckboxElement;
|
|
1888
2182
|
}
|
|
1889
2183
|
|
|
2184
|
+
export declare interface LmvzDatepickerCustomEvent<T> extends CustomEvent<T> {
|
|
2185
|
+
detail: T;
|
|
2186
|
+
target: HTMLLmvzDatepickerElement;
|
|
2187
|
+
}
|
|
2188
|
+
|
|
1890
2189
|
declare namespace LmvzDS {
|
|
1891
2190
|
type Variant = (typeof variants)[number];
|
|
1892
2191
|
type Size = (typeof sizes)[number];
|
|
@@ -1951,6 +2250,7 @@ declare const messageTypes: readonly ["neutral", "warning"];
|
|
|
1951
2250
|
export declare namespace Popover {
|
|
1952
2251
|
export type Placement = (typeof popoverPlacements)[number];
|
|
1953
2252
|
export type Size = (typeof popoverSizes)[number];
|
|
2253
|
+
export type ContainerRole = 'dialog' | 'listbox' | 'menu' | 'tree' | 'grid';
|
|
1954
2254
|
}
|
|
1955
2255
|
|
|
1956
2256
|
declare const popoverPlacements: readonly ["top", "bottom", "start", "end", "top-start", "top-end", "bottom-start", "bottom-end"];
|
package/types/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const ariaAttributes: string[];
|
|
2
|
-
|
|
2
|
+
export declare const ariaHostMirrorAttributes: readonly ["aria-haspopup", "aria-controls", "aria-expanded", "aria-activedescendant", "aria-autocomplete"];
|
|
@@ -47,4 +47,3 @@ export declare class DirectionalFocusController implements ReactiveController {
|
|
|
47
47
|
export type ListKeyboardNavigationHost = DirectionalFocusHost;
|
|
48
48
|
export type ListKeyboardNavigationControllerConfig = DirectionalFocusControllerConfig;
|
|
49
49
|
export { DirectionalFocusController as ListKeyboardNavigationController };
|
|
50
|
-
//# sourceMappingURL=directional-focus-controller.d.ts.map
|
|
@@ -25,4 +25,3 @@ export declare class ElementActivationController implements ReactiveController {
|
|
|
25
25
|
declare function bindHandlers(target: HTMLElement, handler: (event: Event) => unknown, abortSignal: AbortSignal, keys?: string[]): void;
|
|
26
26
|
export declare function addElementActivationListener(...[target, handler, abortSignal, keys]: Parameters<typeof bindHandlers>): void;
|
|
27
27
|
export {};
|
|
28
|
-
//# sourceMappingURL=element-activation-controller.d.ts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ReactiveController } from '../stencil/reactive-controller-host';
|
|
2
|
+
export type ListboxOption = {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type ListboxControllerConfig = {
|
|
8
|
+
wrap?: boolean;
|
|
9
|
+
typeaheadTimeoutMs?: number;
|
|
10
|
+
onActiveChange?: (id: string | undefined) => void;
|
|
11
|
+
onSelect?: (id: string) => void;
|
|
12
|
+
onClose?: () => void;
|
|
13
|
+
};
|
|
14
|
+
export declare class ListboxController implements ReactiveController {
|
|
15
|
+
private options;
|
|
16
|
+
private _activeId;
|
|
17
|
+
private _selectedId;
|
|
18
|
+
private readonly config;
|
|
19
|
+
private typeaheadBuffer;
|
|
20
|
+
private typeaheadTimer;
|
|
21
|
+
constructor(config?: ListboxControllerConfig);
|
|
22
|
+
hostDisconnected(): void;
|
|
23
|
+
get activeId(): string | undefined;
|
|
24
|
+
get activeDescendantId(): string | undefined;
|
|
25
|
+
get selectedId(): string | undefined;
|
|
26
|
+
setOptions(options: ListboxOption[]): void;
|
|
27
|
+
setActiveId(id: string | undefined): void;
|
|
28
|
+
setSelectedId(id: string | undefined): void;
|
|
29
|
+
selectOption(id: string): void;
|
|
30
|
+
selectActive(): void;
|
|
31
|
+
handleKeydown(event: KeyboardEvent): boolean;
|
|
32
|
+
clearTypeahead(): void;
|
|
33
|
+
private moveActive;
|
|
34
|
+
private handleTypeahead;
|
|
35
|
+
private restartTypeaheadTimer;
|
|
36
|
+
private clearTypeaheadTimer;
|
|
37
|
+
private enabledOptions;
|
|
38
|
+
private firstEnabledOption;
|
|
39
|
+
private lastEnabledOption;
|
|
40
|
+
private isEnabledId;
|
|
41
|
+
private findEnabledIndex;
|
|
42
|
+
}
|
|
@@ -8,5 +8,4 @@ export declare const waitFrame: () => Promise<void>;
|
|
|
8
8
|
export declare const raf: (h: FrameRequestCallback) => number;
|
|
9
9
|
export declare const deferEvent: (event: EventEmitter) => EventEmitter;
|
|
10
10
|
export declare const debounceEvent: (event: EventEmitter, wait: number) => EventEmitter;
|
|
11
|
-
export declare const debounce: (func: (...args:
|
|
12
|
-
//# sourceMappingURL=async.util.d.ts.map
|
|
11
|
+
export declare const debounce: <A extends any[]>(func: (...args: A) => void, wait?: number) => (...args: A) => any;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Attributes, Button, FormRef } from '../../api';
|
|
2
|
+
export declare function isInputElement(element: unknown): boolean;
|
|
2
3
|
export declare function isActionButton(element: Element): element is HTMLButtonElement;
|
|
3
4
|
export declare function isLmvzButton(element?: Element): element is HTMLLmvzButtonElement;
|
|
4
5
|
export declare function isDisabledButton(element: HTMLButtonElement): boolean;
|
|
@@ -22,4 +23,3 @@ export declare function findFormByRef(form: FormRef, el: HTMLElement): HTMLFormE
|
|
|
22
23
|
export declare function isInteractiveElement(el: HTMLElement): boolean;
|
|
23
24
|
export declare function isHtmlElement(element: unknown): element is HTMLElement;
|
|
24
25
|
export {};
|
|
25
|
-
//# sourceMappingURL=element.util.d.ts.map
|
|
@@ -10,4 +10,3 @@ export declare function registerIconProvider<I extends KnownIconSetId>(id: I, pr
|
|
|
10
10
|
export declare function getRegisteredIconProvider<I extends KnownIconSetId>(id: I): IconProvider<KnownIconName<I>> | undefined;
|
|
11
11
|
export declare function getRegisteredIconProvider(id?: string | undefined): IconProvider<string> | undefined;
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=icons-registry.d.ts.map
|
|
@@ -4,4 +4,3 @@ export type IconData = SVGString;
|
|
|
4
4
|
export declare function resolveIconSvg<I extends KnownIconSetId>(options: IconPropsForSet<I>): Promise<IconData>;
|
|
5
5
|
export declare function resolveIconSvg(options: IconPropsFallback): Promise<IconData>;
|
|
6
6
|
export declare function typedIconFromSet<S extends string>(iconset: S, icon: IconPropsForSetWithoutFallback<S>['icon']): IconPropsForSetWithoutFallback<S>;
|
|
7
|
-
//# sourceMappingURL=icons.d.ts.map
|