@ids-group-ltd/ids-design-system 0.2.1 → 0.3.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.
@@ -54,12 +54,12 @@
54
54
 
55
55
  /* Scrim — modal/drawer backdrop. Derived from inverted surface
56
56
  so dark-mode override flips automatically. */
57
- --surface-scrim: hsla(var(--shadow-tint-h), var(--shadow-tint-s), var(--shadow-tint-l), .55);
57
+ --surface-scrim: hsl(var(--shadow-tint-h) var(--shadow-tint-s) var(--shadow-tint-l) / 55%);
58
58
 
59
59
  /* Visible-on-coloured-fill divider. The split-button right-hand chevron
60
60
  sits ON the brand fill, so a transparent white hairline reads correctly
61
61
  across any brand hue. Override per theme if the brand is too light. */
62
- --btn-split-divider: hsla(0, 0%, 100%, .25);
62
+ --btn-split-divider: hsl(0deg 0% 100% / 25%);
63
63
 
64
64
  /* Visited link — derives from --primary-muted by default so it sympathetically
65
65
  shifts with the brand hue. Override (e.g. for financial dashboards that
@@ -81,13 +81,15 @@
81
81
  --text-muted: var(--neutral-400);
82
82
  --text-disabled: var(--neutral-400);
83
83
  --text-inverted: var(--neutral-0);
84
+
84
85
  /* Text overlaid on arbitrary imagery (camera feeds, photos) — pairs a
85
86
  guaranteed-light colour with a contrast shadow. */
86
87
  --text-on-media: var(--neutral-0);
87
- --text-on-media-shadow: 0 1px 3px hsla(0, 0%, 0%, .7);
88
+ --text-on-media-shadow: 0 1px 3px hsl(0deg 0% 0% / 70%);
88
89
  --text-link: var(--blue-700);
89
90
  --text-on-primary: var(--neutral-0);
90
91
  --text-on-success: var(--neutral-0);
92
+
91
93
  /* Warning fill is yellow (--yellow-400 #F4D43A) — white text on it is only
92
94
  ~1.5:1 (fails WCAG). On-warning text is the darkest neutral (~10:1). */
93
95
  --text-on-warning: var(--neutral-900);
@@ -103,8 +105,8 @@
103
105
  theme-independent and lives in styles/_tokens.scss). Display + heading
104
106
  default to body sans; a brand can mix a serif/display family here without
105
107
  touching component code. */
106
- --font-sans: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
107
- --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
108
+ --font-sans: "Mulish", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
109
+ --font-mono: "JetBrains Mono", ui-monospace, sfmono-regular, menlo, monospace;
108
110
  --font-display: var(--font-sans);
109
111
  --font-heading: var(--font-sans);
110
112
 
@@ -146,12 +148,12 @@
146
148
  --secondary-s: var(--primary-s);
147
149
  --secondary-l: var(--primary-l);
148
150
 
149
- --secondary: hsl(var(--secondary-h), var(--secondary-s), var(--secondary-l));
151
+ --secondary: hsl(var(--secondary-h) var(--secondary-s) var(--secondary-l));
150
152
  --secondary-hover: color-mix(in srgb, var(--secondary) 88%, black);
151
153
  --secondary-pressed: color-mix(in srgb, var(--secondary) 76%, black);
152
- --secondary-strong: hsl(var(--secondary-h), var(--secondary-s), calc(var(--secondary-l) - 11%));
153
- --secondary-subtitle: hsl(var(--secondary-h), 100%, 97%);
154
- --secondary-muted: hsl(var(--secondary-h), 95%, 94%);
154
+ --secondary-strong: hsl(var(--secondary-h) var(--secondary-s) calc(var(--secondary-l) - 11%));
155
+ --secondary-subtitle: hsl(var(--secondary-h) 100% 97%);
156
+ --secondary-muted: hsl(var(--secondary-h) 95% 94%);
155
157
  --secondary-on: var(--primary-on);
156
158
 
157
159
  /* Tertiary — third brand hue. Used by the tertiary button variant and
@@ -165,12 +167,12 @@
165
167
  --tertiary-s: var(--primary-s);
166
168
  --tertiary-l: var(--primary-l);
167
169
 
168
- --tertiary: hsl(var(--tertiary-h), var(--tertiary-s), var(--tertiary-l));
170
+ --tertiary: hsl(var(--tertiary-h) var(--tertiary-s) var(--tertiary-l));
169
171
  --tertiary-hover: color-mix(in srgb, var(--tertiary) 88%, black);
170
172
  --tertiary-pressed: color-mix(in srgb, var(--tertiary) 76%, black);
171
- --tertiary-strong: hsl(var(--tertiary-h), var(--tertiary-s), calc(var(--tertiary-l) - 11%));
172
- --tertiary-subtitle: hsl(var(--tertiary-h), 100%, 97%);
173
- --tertiary-muted: hsl(var(--tertiary-h), 95%, 94%);
173
+ --tertiary-strong: hsl(var(--tertiary-h) var(--tertiary-s) calc(var(--tertiary-l) - 11%));
174
+ --tertiary-subtitle: hsl(var(--tertiary-h) 100% 97%);
175
+ --tertiary-muted: hsl(var(--tertiary-h) 95% 94%);
174
176
  --tertiary-on: var(--primary-on);
175
177
 
176
178
  /* Status roles.
@@ -212,17 +214,18 @@
212
214
  brand re-skin moves Confirmed with it. The other lifecycle
213
215
  stages are deliberately neutral/green/dark to keep semantic
214
216
  distance from brand. */
217
+
215
218
  /* Status pills — canonical (single system).
216
219
  Legacy classes `.badge--active` (single) and ad-hoc semantic
217
220
  pills are unified in the Badge component to consume these tokens. */
218
- --status-planning-bg: var(--neutral-150);
219
- --status-planning-fg: var(--neutral-700);
220
- --status-confirmed-bg: var(--primary-subtitle);
221
- --status-confirmed-fg: var(--primary-strong);
222
- --status-active-bg: var(--green-50);
223
- --status-active-fg: var(--green-700);
224
- --status-completed-bg: var(--neutral-900);
225
- --status-completed-fg: var(--neutral-0);
221
+ --status-planning-bg-color: var(--neutral-150);
222
+ --status-planning-text-color: var(--neutral-700);
223
+ --status-confirmed-bg-color: var(--primary-subtitle);
224
+ --status-confirmed-text-color: var(--primary-strong);
225
+ --status-active-bg-color: var(--green-50);
226
+ --status-active-text-color: var(--green-700);
227
+ --status-completed-bg-color: var(--neutral-900);
228
+ --status-completed-text-color: var(--neutral-0);
226
229
 
227
230
  /* Focus rings.
228
231
  Outer halos use hsla() composed from brand/danger HSL channels
@@ -237,22 +240,22 @@
237
240
 
238
241
  --focus-ring:
239
242
  0 0 0 2px var(--focus-ring-inner),
240
- 0 0 0 4px hsla(var(--focus-ring-outer-h), var(--focus-ring-outer-s), var(--focus-ring-outer-l), var(--focus-ring-outer-alpha));
243
+ 0 0 0 4px hsl(var(--focus-ring-outer-h) var(--focus-ring-outer-s) var(--focus-ring-outer-l) / var(--focus-ring-outer-alpha));
241
244
  --focus-ring-inverted:
242
245
  0 0 0 2px var(--neutral-900),
243
246
  0 0 0 4px var(--blue-300);
244
247
  --focus-ring-error:
245
248
  0 0 0 2px var(--focus-ring-inner),
246
- 0 0 0 4px hsla(var(--error-h), var(--error-s), var(--error-l), 1);
249
+ 0 0 0 4px hsl(var(--error-h) var(--error-s) var(--error-l) / 100%);
247
250
 
248
251
  /* Field focus — coloured halo only (no double-ring). Derived from
249
252
  brand HSL so it tracks rebrand. Alpha is a token so dark themes
250
253
  can boost it for legibility. */
251
254
  --focus-field-alpha: .22;
252
255
  --focus-field:
253
- 0 0 0 3px hsla(var(--primary-h), var(--primary-s), var(--primary-l), var(--focus-field-alpha));
256
+ 0 0 0 3px hsl(var(--primary-h) var(--primary-s) var(--primary-l) / var(--focus-field-alpha));
254
257
  --focus-field-error:
255
- 0 0 0 3px hsla(var(--error-h), var(--error-s), var(--error-l), var(--focus-field-alpha));
258
+ 0 0 0 3px hsl(var(--error-h) var(--error-s) var(--error-l) / var(--focus-field-alpha));
256
259
  }
257
260
 
258
261
  /* Brand-derived neutrals — opt-in family switch (ds-docs tweaks panel sets
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { InjectionToken, Provider, TemplateRef, ElementRef, OnDestroy } from '@angular/core';
2
+ import { InjectionToken, Provider, TemplateRef, ModelSignal, ElementRef, OnDestroy } from '@angular/core';
3
3
  import { SafeHtml } from '@angular/platform-browser';
4
+ import { ControlValueAccessor } from '@angular/forms';
4
5
 
5
6
  declare const ICONS: {
6
7
  readonly search: "<circle cx=\"11\" cy=\"11\" r=\"7\" /><path d=\"m20 20-3.5-3.5\" />";
@@ -335,10 +336,40 @@ declare class TabsComponent {
335
336
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "ds-tabs", never, { "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "selectedIndex": "selectedIndexChange"; }, ["tabs"], never, true, never>;
336
337
  }
337
338
 
339
+ /**
340
+ * Shared `ControlValueAccessor` for DS form controls whose value is a signal
341
+ * `model()`. Bridges that model with Angular forms (reactive `formControl` /
342
+ * `formControlName` and template `ngModel`) in both directions, WITHOUT
343
+ * touching the existing `[(value)]` signal API — both keep working.
344
+ *
345
+ * A subclass must expose the `value` model and OR `formDisabled()` into its
346
+ * effective disabled state so `FormControl.disable()` actually reaches the
347
+ * control; it should also call `markTouched()` from a blur handler.
348
+ */
349
+ declare abstract class DsControlValueAccessor<T> implements ControlValueAccessor {
350
+ /** The component's two-way value model. */
351
+ abstract readonly value: ModelSignal<T>;
352
+ /** Driven by the forms API via `setDisabledState`. */
353
+ protected readonly formDisabled: _angular_core.WritableSignal<boolean>;
354
+ private onChange;
355
+ private onTouched;
356
+ private synced;
357
+ private hasSynced;
358
+ constructor();
359
+ /** Call from a blur handler so the control reports `ng-touched`. */
360
+ protected markTouched(): void;
361
+ writeValue(value: T): void;
362
+ registerOnChange(fn: (value: T) => void): void;
363
+ registerOnTouched(fn: () => void): void;
364
+ setDisabledState(isDisabled: boolean): void;
365
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsControlValueAccessor<any>, never>;
366
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DsControlValueAccessor<any>, never, never, {}, {}, never, never, true, never>;
367
+ }
368
+
338
369
  type InputSize = 'sm' | 'md' | 'lg';
339
370
  type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search';
340
371
 
341
- declare class InputComponent {
372
+ declare class InputComponent extends DsControlValueAccessor<string> {
342
373
  readonly value: _angular_core.ModelSignal<string>;
343
374
  readonly type: _angular_core.InputSignal<InputType>;
344
375
  readonly size: _angular_core.InputSignal<InputSize>;
@@ -383,6 +414,8 @@ declare class InputComponent {
383
414
  protected readonly hintId: _angular_core.Signal<string | null>;
384
415
  /** Only name via aria-label when there's no visible `<label for>`. */
385
416
  protected readonly resolvedAriaLabel: _angular_core.Signal<string | null>;
417
+ /** Effective disabled — own `disabled` input OR the reactive-forms state. */
418
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
386
419
  protected readonly showPasswordToggle: _angular_core.Signal<boolean>;
387
420
  protected readonly effectiveType: _angular_core.Signal<InputType>;
388
421
  protected togglePassword(): void;
@@ -414,7 +447,7 @@ declare class NumberStepperComponent {
414
447
  type TextareaSize = 'sm' | 'md' | 'lg';
415
448
  type TextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';
416
449
 
417
- declare class TextareaComponent {
450
+ declare class TextareaComponent extends DsControlValueAccessor<string> {
418
451
  readonly value: _angular_core.ModelSignal<string>;
419
452
  readonly size: _angular_core.InputSignal<TextareaSize>;
420
453
  readonly label: _angular_core.InputSignal<string>;
@@ -435,6 +468,8 @@ declare class TextareaComponent {
435
468
  protected readonly uid: string;
436
469
  protected readonly hintId: _angular_core.Signal<string | null>;
437
470
  protected readonly resolvedAriaLabel: _angular_core.Signal<string | null>;
471
+ /** Effective disabled — own `disabled` input OR the reactive-forms state. */
472
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
438
473
  protected readonly wrapperClasses: _angular_core.Signal<string>;
439
474
  protected readonly autosizeMinHeight: _angular_core.Signal<string | null>;
440
475
  protected readonly autosizeMaxHeight: _angular_core.Signal<string | null>;
@@ -483,7 +518,7 @@ interface SelectOptionGroup {
483
518
  type SelectItem = SelectOption | SelectOptionGroup;
484
519
  declare function isSelectOptionGroup(item: SelectItem): item is SelectOptionGroup;
485
520
 
486
- declare class SelectComponent {
521
+ declare class SelectComponent extends DsControlValueAccessor<string> {
487
522
  private readonly overlay;
488
523
  private readonly vcr;
489
524
  protected readonly preview: DsStaticPreview;
@@ -502,10 +537,12 @@ declare class SelectComponent {
502
537
  protected readonly uid: string;
503
538
  protected readonly labelId: string;
504
539
  protected readonly listboxId: string;
505
- protected optionId(flatIdx: number): string;
540
+ protected optionId(flatIndex: number): string;
506
541
  /** Active option for `aria-activedescendant` (combobox keeps DOM focus). */
507
542
  protected readonly activeDescendant: _angular_core.Signal<string | null>;
508
543
  protected readonly resolvedAriaLabel: _angular_core.Signal<string | null>;
544
+ /** Effective disabled — own `disabled` input OR the reactive-forms state. */
545
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
509
546
  protected readonly trigger: _angular_core.Signal<ElementRef<HTMLButtonElement>>;
510
547
  protected readonly panelTpl: _angular_core.Signal<TemplateRef<unknown>>;
511
548
  protected readonly panelContentTpl: _angular_core.Signal<TemplateRef<unknown>>;
@@ -1059,14 +1096,18 @@ declare class AccordionItemComponent {
1059
1096
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccordionItemComponent, "ds-accordion-item", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, ["[badge]", "*"], true, never>;
1060
1097
  }
1061
1098
 
1099
+ /** Where the step caption sits relative to its node: stacked beneath it
1100
+ * (`bottom`, full-width wizard) or beside it (`inline`, compact header row). */
1101
+ type StepperLabelPosition = 'bottom' | 'inline';
1062
1102
  declare class StepperComponent {
1063
1103
  readonly steps: _angular_core.InputSignal<readonly string[]>;
1064
1104
  readonly current: _angular_core.InputSignal<number>;
1105
+ readonly labelPosition: _angular_core.InputSignal<StepperLabelPosition>;
1065
1106
  protected stepState(i: number): 'completed' | 'current' | 'upcoming';
1066
1107
  protected nodeClass(i: number): string;
1067
- protected barClass(i: number): string;
1108
+ protected connectorClass(i: number): string;
1068
1109
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StepperComponent, never>;
1069
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StepperComponent, "ds-stepper", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1110
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StepperComponent, "ds-stepper", never, { "steps": { "alias": "steps"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1070
1111
  }
1071
1112
 
1072
1113
  type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
@@ -1217,6 +1258,7 @@ declare class DrawerComponent {
1217
1258
  protected readonly classes: _angular_core.Signal<"drawer lg" | "drawer">;
1218
1259
  constructor();
1219
1260
  protected onClose(): void;
1261
+ protected onEscape(): void;
1220
1262
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerComponent, never>;
1221
1263
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerComponent, "ds-drawer", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "closed": "closed"; }, never, ["[drawer-body]", "[drawer-footer]"], true, never>;
1222
1264
  }
@@ -1285,6 +1327,7 @@ declare class PageFooterComponent {
1285
1327
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PageFooterComponent, "ds-page-footer", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[brand]", "[nav]", "[actions]", "*"], true, never>;
1286
1328
  }
1287
1329
 
1330
+ type ComboboxSize = 'sm' | 'md' | 'lg';
1288
1331
  interface ComboboxOption<T = unknown> {
1289
1332
  readonly value: T;
1290
1333
  readonly label: string;
@@ -1296,6 +1339,7 @@ declare class ComboboxComponent<T = unknown> {
1296
1339
  readonly options: _angular_core.InputSignal<readonly ComboboxOption<T>[]>;
1297
1340
  readonly value: _angular_core.ModelSignal<T | readonly T[] | null>;
1298
1341
  readonly multiple: _angular_core.InputSignal<boolean>;
1342
+ readonly size: _angular_core.InputSignal<ComboboxSize>;
1299
1343
  readonly placeholder: _angular_core.InputSignal<string>;
1300
1344
  /** Accessible name for the combobox input. */
1301
1345
  readonly ariaLabel: _angular_core.InputSignal<string | null>;
@@ -1325,7 +1369,7 @@ declare class ComboboxComponent<T = unknown> {
1325
1369
  protected onPick(option: ComboboxOption<T>): void;
1326
1370
  protected remove(target: T): void;
1327
1371
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxComponent<any>, never>;
1328
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComboboxComponent<any>, "ds-combobox", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1372
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComboboxComponent<any>, "ds-combobox", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1329
1373
  }
1330
1374
 
1331
1375
  type DividerVariant = 'default' | 'strong' | 'vertical' | 'label';
@@ -1395,4 +1439,4 @@ declare class SwitchComponent {
1395
1439
  }
1396
1440
 
1397
1441
  export { AccordionComponent, AccordionItemComponent, AvatarComponent, AvatarGroupComponent, BadgeComponent, BannerComponent, BottomSheetComponent, BreadcrumbsComponent, BreadcrumbsService, ButtonComponent, CardComponent, CellTemplateDirective, CheckboxComponent, ComboboxComponent, DS_CONFIG, DS_ICON_REGISTRY, DS_TOAST_POSITION, DS_TOAST_POSITION_DEFAULT, DatePickerComponent, DividerComponent, DrawerComponent, DropdownComponent, DropzoneComponent, DsOverlayCloseRef, DsStaticPreview, EmptyStateComponent, ICONS, IconButtonComponent, IconComponent, InputComponent, MenuComponent, MenuItemComponent, ModalCardComponent, ModalComponent, NumberStepperComponent, PageFooterComponent, PageHeaderComponent, PaginationComponent, PopoverComponent, ProgressComponent, RadioComponent, SearchComponent, SelectComponent, SidenavComponent, SidenavGroupComponent, SidenavItemComponent, SkeletonComponent, SpinnerComponent, StatComponent, StatusDotComponent, StepperComponent, SwitchComponent, TabComponent, TableComponent, TabsComponent, TagComponent, TextareaComponent, ToastComponent, ToastRegionComponent, ToastService, TooltipDirective, TooltipPanelComponent, TopBarComponent, W3wComponent, isSelectOptionGroup, provideDsConfig, provideDsIcons };
1398
- export type { AvatarSize, BadgeLifecycle, BadgeSemantic, BadgeVariant, BannerVariant, BreadcrumbItem, ButtonSize, ButtonType, ButtonVariant, CardElevation, CardPadding, ComboboxOption, DatePickerMode, DatePickerValue, DateValue, DividerVariant, DrawerSize, DropdownOption, DropdownSize, DropzoneFile, DropzoneFileState, DsConfig, DsIconRegistry, DsToastHorizontalPosition, DsToastPosition, DsToastVerticalPosition, EmptyStateVariant, IconButtonSize, IconButtonType, IconButtonVariant, IconName, InputSize, InputType, ModalSize, NumberStepperSize, PageFooterVariant, ProgressVariant, RangeValue, SelectItem, SelectOption, SelectOptionGroup, SelectSize, SidenavItemModel, SortChangeEvent, SortDir, SpinnerSize, StatusValue, TableColumn, TabsVariant, TagVariant, TextareaResize, TextareaSize, ToastAction, ToastEntry, ToastOptions, ToastRef, ToastVariant, TooltipPlacement };
1442
+ export type { AvatarSize, BadgeLifecycle, BadgeSemantic, BadgeVariant, BannerVariant, BreadcrumbItem, ButtonSize, ButtonType, ButtonVariant, CardElevation, CardPadding, ComboboxOption, ComboboxSize, DatePickerMode, DatePickerValue, DateValue, DividerVariant, DrawerSize, DropdownOption, DropdownSize, DropzoneFile, DropzoneFileState, DsConfig, DsIconRegistry, DsToastHorizontalPosition, DsToastPosition, DsToastVerticalPosition, EmptyStateVariant, IconButtonSize, IconButtonType, IconButtonVariant, IconName, InputSize, InputType, ModalSize, NumberStepperSize, PageFooterVariant, ProgressVariant, RangeValue, SelectItem, SelectOption, SelectOptionGroup, SelectSize, SidenavItemModel, SortChangeEvent, SortDir, SpinnerSize, StatusValue, StepperLabelPosition, TableColumn, TabsVariant, TagVariant, TextareaResize, TextareaSize, ToastAction, ToastEntry, ToastOptions, ToastRef, ToastVariant, TooltipPlacement };