@flywheel-io/vision 21.0.1 → 21.1.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.
@@ -11,12 +11,12 @@ import * as i3 from '@angular/cdk/overlay';
11
11
  import { OverlayContainer, ComponentType, CdkOverlayOrigin, ConnectedPosition, OverlayConfig, FlexibleConnectedPositionStrategyOrigin, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';
12
12
  import * as i1$1 from '@angular/cdk/menu';
13
13
  import { CdkMenuTrigger } from '@angular/cdk/menu';
14
- import { Subscription, Observable, BehaviorSubject, min } from 'rxjs';
15
14
  import * as i4 from '@angular/cdk/table';
16
15
  import { CdkCell, CdkCellDef, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkHeaderCell, CdkHeaderCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRow, CdkRowDef, CdkTable } from '@angular/cdk/table';
17
16
  export { CdkTableModule } from '@angular/cdk/table';
18
17
  import { BooleanInput } from '@angular/cdk/coercion';
19
- import { E164Number, CountryCode } from 'libphonenumber-js';
18
+ import { CountryCode } from 'libphonenumber-js';
19
+ import { Observable, BehaviorSubject, min } from 'rxjs';
20
20
  import * as i3$1 from '@angular/cdk/text-field';
21
21
  import { CdkTextareaAutosize } from '@angular/cdk/text-field';
22
22
 
@@ -31,9 +31,11 @@ declare class FwAlertComponent {
31
31
  title: _angular_core.InputSignal<string>;
32
32
  variant: _angular_core.InputSignal<"standard" | "outlined" | "filled">;
33
33
  showClose: _angular_core.InputSignal<boolean>;
34
+ closeLabel: _angular_core.InputSignal<string>;
34
35
  close: _angular_core.OutputEmitterRef<void>;
36
+ role: _angular_core.Signal<"alert" | "status">;
35
37
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwAlertComponent, never>;
36
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwAlertComponent, "fw-alert", never, { "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, ["*", "fw-button"], true, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwAlertComponent, "fw-alert", never, { "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, ["*", "fw-button"], true, never>;
37
39
  }
38
40
 
39
41
  type NamedIconSize = 'large' | 'medium' | 'small' | 'extra-small';
@@ -45,12 +47,13 @@ type IconSize = NamedIconSize | number;
45
47
  */
46
48
  declare class FwIconComponent {
47
49
  private sanitizer;
50
+ readonly ariaLabel: _angular_core.InputSignal<string>;
48
51
  readonly size: _angular_core.InputSignalWithTransform<number, IconSize>;
49
52
  readonly color: _angular_core.InputSignal<"primary" | "secondary" | "red" | "orange" | "green" | "slate" | "muted" | "typography">;
50
53
  class: string;
51
54
  get style(): SafeStyle;
52
55
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwIconComponent, never>;
53
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwIconComponent, "fw-icon", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
56
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwIconComponent, "fw-icon", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
54
57
  }
55
58
 
56
59
  /**
@@ -74,8 +77,12 @@ declare class FwIconButtonComponent {
74
77
  disabled: _angular_core.InputSignal<boolean>;
75
78
  selected: _angular_core.InputSignal<boolean>;
76
79
  border: _angular_core.InputSignal<boolean>;
80
+ /** When true, marks this button as the initial focus target when it's the first-rendered child of a `cdkTrapFocus`/CDK Dialog focus trap. */
81
+ focusInitial: _angular_core.InputSignal<boolean>;
82
+ /** Accessible name for this icon-only button; required for screen reader users since the icon itself carries no text. */
83
+ ariaLabel: _angular_core.InputSignal<string>;
77
84
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwIconButtonComponent, never>;
78
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwIconButtonComponent, "fw-icon-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
85
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwIconButtonComponent, "fw-icon-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "focusInitial": { "alias": "focusInitial"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
79
86
  }
80
87
 
81
88
  /**
@@ -268,9 +275,11 @@ declare class FwButtonComponent {
268
275
  readonly fullWidth: _angular_core.InputSignal<boolean>;
269
276
  readonly leftIcon: _angular_core.InputSignal<"filter" | "server" | "3d-sphere-rotate-arrows" | "add-circle" | "add-new-create" | "add-row-above" | "add-row-below" | "add-server" | "add-server-databases-endpoint" | "add-user" | "ai" | "apple" | "apply-copy-duplicate" | "archive-documents-box-big" | "arrange-filter-sort" | "arrow" | "arrow-3d-rotate" | "arrow-annotate" | "arrow-back" | "arrow-back-collapse" | "arrow-down" | "arrow-forward" | "arrow-forward-collapse" | "arrow-redo" | "arrow-rotate" | "arrow-rotate-restore" | "arrow-undo" | "arrow-up" | "arrow-up-high-priority" | "arrow-up-low-priority" | "barcode-serial" | "barcode-stack-scan" | "bell-notification" | "bezier-curve" | "blocks-code-test-checkmark" | "book-lab-flask" | "bookmark" | "bookmark-plus-add" | "brain" | "brightness-photo-edit" | "browser-internet-web-windows" | "brush-edit-create" | "bucket-paint" | "button-form-element" | "calendar-arrow-left-center" | "calendar-schedule" | "camera-photo-capture" | "cash-banknotes" | "certificate" | "chart-square" | "chart-trend-square" | "chat-messages-bubble" | "check-mark-certificate" | "checklist" | "checklist-tasks-chechmark-square" | "chevron-back" | "chevron-down" | "chevron-forward" | "chevron-input-number" | "chevron-up" | "circle" | "circle-ellipses" | "clap-applause-hands" | "clip-attachment" | "clock-history" | "clock-hour-4" | "clock-loading" | "close" | "close-circled" | "closed-freehand-vector-poly" | "cloud-network-add" | "cloud-storage-checkmark" | "cloud-upload" | "code-block-embed" | "code-text" | "color-design-profile" | "color-ven-design-profile-central" | "column-edit" | "computer-chip" | "contract-vertical" | "contrast-photo-edit" | "conversion-exchange" | "copy-item" | "creative-commons" | "crosshair" | "crown-style-circle" | "cursor-click" | "cursor-select" | "curve-object-secet-cursor" | "data-tree" | "delivery-shipment-packages" | "dna-hospital-medical" | "document-file-add-plus-bottom-left" | "document-file-blank" | "document-file-checkmark-bottom-left" | "document-file-deleted-cross-remove-center-cancel" | "document-file-download" | "document-file-list-protocol" | "document-file-tar" | "document-file-upload-bottom-center" | "document-file-zip" | "document-status-done-checkmark" | "document-visible" | "documents-file" | "documents-file-checkmark" | "documents-file-move-arrow-right" | "documents-files" | "done-check" | "done-check-tracked" | "download" | "download-status" | "drag-drop-indicator" | "draw-rectangle" | "earth-globe-fail" | "edit" | "edit-boxed" | "edit-erase" | "email" | "email-mail-checkmark-group" | "embed-circle" | "exchange" | "expand-pathfinder-dot-square-segmentation" | "eye-modern-square-read" | "facebook" | "file-blank-image-load-mask" | "file-blank-search" | "file-download" | "file-text" | "files" | "files-library" | "files-library-content" | "filter-sort-add" | "filter-sort-check-mark" | "filter-sort-delete" | "flag" | "flip-horizontal" | "flip-vertical" | "floppy-save" | "flywheel-mark-logo" | "flywheel-viewer-mark-logo" | "folder-add" | "folder-blank" | "folder-checked" | "folder-copy-expand-arrow-down" | "folder-copy-expand-arrow-up" | "folder-group" | "folder-move" | "folder-open" | "folder-share" | "form-metadata-element" | "free-rights" | "freehand-vector-poly" | "full-screen-zoom" | "git-add-branch" | "git-branch" | "git-merge" | "git-merge-draft" | "git-pull-request-2" | "github-color-login" | "gitlab" | "graduate-hat" | "grid-dot-square" | "grid-layout" | "grid-layout-9-square" | "hammer-legal-square" | "hammer-screwdriver" | "hand-money-currency" | "header-form-element" | "home-modern-door" | "home-modern-option-lines" | "human-artificial-intelligence" | "icon-placeholder" | "image-photo-copy-left-down" | "image-picture-square" | "information-circle" | "invoice" | "invoice-checkmark-paid" | "italic" | "items-group-elements" | "key" | "keyboard" | "keychain" | "label-tag" | "laptop-health-medical-cross" | "layers" | "layout" | "layout-grid" | "line" | "link" | "link-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "maps-protection-target" | "markdown" | "measure-angle" | "measure-ruler-calibration" | "media-library-imports-dowload" | "menu-burger-handle" | "menu-horizontal" | "menu-list-form-square" | "menu-vertical" | "message-chat-add-plus" | "message-chat-info" | "message-chat-question-support" | "message-checkmark-sent" | "message-question-checkmark" | "microphone-mic-rec" | "microphone-mic-rec-circle" | "microphone-mic-recording-circle" | "minus" | "modalities" | "molecule" | "money" | "money-coin" | "money-dollar" | "monitor-computer" | "moon-night-mode" | "mouse-big" | "mouse-scroll" | "move" | "music-play-resume" | "music-stop" | "mute" | "network-storage-alert" | "notebook" | "notebook-add-plus" | "notebook-open" | "notebook-pen-edit" | "notes-pen" | "object-search-zoom-plus" | "open" | "orientation-3d-axial-acquisition" | "orientation-3d-coronal" | "orientation-3d-reformat" | "orientation-3d-sagittal" | "paint-roller" | "pause" | "pen-edit-circle" | "pen-edit-compose-new" | "pencil-edit-create" | "photo-edit-brightness-invert" | "pie-chart" | "pie-graph-chart-sample" | "plus-add-rectangle" | "polygon" | "private-mode-protection-circle" | "protection-target" | "protective-mask" | "question-circle" | "quote" | "radiology-scan" | "radiology-scan-circle" | "reader-studies" | "rotate" | "rotate-arrow-manual" | "rotate-item-left" | "rotate-item-right" | "rotate-refresh" | "ruler" | "ruler-bidirectional" | "scanner" | "search" | "search-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server-checkmark" | "server-database-endpoint" | "server-databases-checkmark-user" | "server-databases-connect" | "server-databases-download" | "server-databases-key-protection" | "server-databases-minimal-download" | "server-databases-sync" | "server-databases-sync-import" | "server-upload" | "servers-database" | "setting-gear" | "settings-adjust" | "settings-gear" | "settings-gear-square" | "settings-select" | "shapes-objects" | "share" | "shield-protect" | "show-visible" | "smiley-emoji-face" | "speed-dashboard" | "square-fill" | "square-fill-outline" | "square-outline" | "star" | "star-ai-artificial-intelligence" | "stars-light-sparkle" | "stomach" | "stop-minus" | "stretch-vertical" | "substract-group" | "switch" | "target" | "target-space-object-select" | "task-list-add-checkmark" | "tasklist-to-do-checkmark" | "technology-cube-3d" | "test-lab-flask" | "text-bold" | "text-cross" | "text-h1" | "text-h2" | "text-input-form" | "text-long" | "text-short-form-element" | "text-underline" | "thumbs-down-dislike" | "thumbs-up-like" | "timer-clock-style" | "trash-bin-warning" | "trash-delete" | "twitter" | "undone-uncheck-untracked" | "unlimited-repeat-subscription-circle" | "upload" | "user" | "user-checked" | "user-delete-cross" | "user-document" | "user-group" | "user-key" | "user-lock" | "user-profile-cards-pool" | "user-profile-group-discovery" | "user-setting-gear" | "video-player-controls" | "visible-eye-hidden" | "volume-full" | "warning" | "warning-circle" | "window-finder-resize-arrow-down" | "window-finder-resize-arrow-up" | "window-resize-left" | "window-resize-right" | "window-zoom-plus-loupe" | "windows" | "workspace-mode" | "youtube" | "zendesk-logo">;
270
277
  readonly rightIcon: _angular_core.InputSignal<"filter" | "server" | "3d-sphere-rotate-arrows" | "add-circle" | "add-new-create" | "add-row-above" | "add-row-below" | "add-server" | "add-server-databases-endpoint" | "add-user" | "ai" | "apple" | "apply-copy-duplicate" | "archive-documents-box-big" | "arrange-filter-sort" | "arrow" | "arrow-3d-rotate" | "arrow-annotate" | "arrow-back" | "arrow-back-collapse" | "arrow-down" | "arrow-forward" | "arrow-forward-collapse" | "arrow-redo" | "arrow-rotate" | "arrow-rotate-restore" | "arrow-undo" | "arrow-up" | "arrow-up-high-priority" | "arrow-up-low-priority" | "barcode-serial" | "barcode-stack-scan" | "bell-notification" | "bezier-curve" | "blocks-code-test-checkmark" | "book-lab-flask" | "bookmark" | "bookmark-plus-add" | "brain" | "brightness-photo-edit" | "browser-internet-web-windows" | "brush-edit-create" | "bucket-paint" | "button-form-element" | "calendar-arrow-left-center" | "calendar-schedule" | "camera-photo-capture" | "cash-banknotes" | "certificate" | "chart-square" | "chart-trend-square" | "chat-messages-bubble" | "check-mark-certificate" | "checklist" | "checklist-tasks-chechmark-square" | "chevron-back" | "chevron-down" | "chevron-forward" | "chevron-input-number" | "chevron-up" | "circle" | "circle-ellipses" | "clap-applause-hands" | "clip-attachment" | "clock-history" | "clock-hour-4" | "clock-loading" | "close" | "close-circled" | "closed-freehand-vector-poly" | "cloud-network-add" | "cloud-storage-checkmark" | "cloud-upload" | "code-block-embed" | "code-text" | "color-design-profile" | "color-ven-design-profile-central" | "column-edit" | "computer-chip" | "contract-vertical" | "contrast-photo-edit" | "conversion-exchange" | "copy-item" | "creative-commons" | "crosshair" | "crown-style-circle" | "cursor-click" | "cursor-select" | "curve-object-secet-cursor" | "data-tree" | "delivery-shipment-packages" | "dna-hospital-medical" | "document-file-add-plus-bottom-left" | "document-file-blank" | "document-file-checkmark-bottom-left" | "document-file-deleted-cross-remove-center-cancel" | "document-file-download" | "document-file-list-protocol" | "document-file-tar" | "document-file-upload-bottom-center" | "document-file-zip" | "document-status-done-checkmark" | "document-visible" | "documents-file" | "documents-file-checkmark" | "documents-file-move-arrow-right" | "documents-files" | "done-check" | "done-check-tracked" | "download" | "download-status" | "drag-drop-indicator" | "draw-rectangle" | "earth-globe-fail" | "edit" | "edit-boxed" | "edit-erase" | "email" | "email-mail-checkmark-group" | "embed-circle" | "exchange" | "expand-pathfinder-dot-square-segmentation" | "eye-modern-square-read" | "facebook" | "file-blank-image-load-mask" | "file-blank-search" | "file-download" | "file-text" | "files" | "files-library" | "files-library-content" | "filter-sort-add" | "filter-sort-check-mark" | "filter-sort-delete" | "flag" | "flip-horizontal" | "flip-vertical" | "floppy-save" | "flywheel-mark-logo" | "flywheel-viewer-mark-logo" | "folder-add" | "folder-blank" | "folder-checked" | "folder-copy-expand-arrow-down" | "folder-copy-expand-arrow-up" | "folder-group" | "folder-move" | "folder-open" | "folder-share" | "form-metadata-element" | "free-rights" | "freehand-vector-poly" | "full-screen-zoom" | "git-add-branch" | "git-branch" | "git-merge" | "git-merge-draft" | "git-pull-request-2" | "github-color-login" | "gitlab" | "graduate-hat" | "grid-dot-square" | "grid-layout" | "grid-layout-9-square" | "hammer-legal-square" | "hammer-screwdriver" | "hand-money-currency" | "header-form-element" | "home-modern-door" | "home-modern-option-lines" | "human-artificial-intelligence" | "icon-placeholder" | "image-photo-copy-left-down" | "image-picture-square" | "information-circle" | "invoice" | "invoice-checkmark-paid" | "italic" | "items-group-elements" | "key" | "keyboard" | "keychain" | "label-tag" | "laptop-health-medical-cross" | "layers" | "layout" | "layout-grid" | "line" | "link" | "link-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "maps-protection-target" | "markdown" | "measure-angle" | "measure-ruler-calibration" | "media-library-imports-dowload" | "menu-burger-handle" | "menu-horizontal" | "menu-list-form-square" | "menu-vertical" | "message-chat-add-plus" | "message-chat-info" | "message-chat-question-support" | "message-checkmark-sent" | "message-question-checkmark" | "microphone-mic-rec" | "microphone-mic-rec-circle" | "microphone-mic-recording-circle" | "minus" | "modalities" | "molecule" | "money" | "money-coin" | "money-dollar" | "monitor-computer" | "moon-night-mode" | "mouse-big" | "mouse-scroll" | "move" | "music-play-resume" | "music-stop" | "mute" | "network-storage-alert" | "notebook" | "notebook-add-plus" | "notebook-open" | "notebook-pen-edit" | "notes-pen" | "object-search-zoom-plus" | "open" | "orientation-3d-axial-acquisition" | "orientation-3d-coronal" | "orientation-3d-reformat" | "orientation-3d-sagittal" | "paint-roller" | "pause" | "pen-edit-circle" | "pen-edit-compose-new" | "pencil-edit-create" | "photo-edit-brightness-invert" | "pie-chart" | "pie-graph-chart-sample" | "plus-add-rectangle" | "polygon" | "private-mode-protection-circle" | "protection-target" | "protective-mask" | "question-circle" | "quote" | "radiology-scan" | "radiology-scan-circle" | "reader-studies" | "rotate" | "rotate-arrow-manual" | "rotate-item-left" | "rotate-item-right" | "rotate-refresh" | "ruler" | "ruler-bidirectional" | "scanner" | "search" | "search-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server-checkmark" | "server-database-endpoint" | "server-databases-checkmark-user" | "server-databases-connect" | "server-databases-download" | "server-databases-key-protection" | "server-databases-minimal-download" | "server-databases-sync" | "server-databases-sync-import" | "server-upload" | "servers-database" | "setting-gear" | "settings-adjust" | "settings-gear" | "settings-gear-square" | "settings-select" | "shapes-objects" | "share" | "shield-protect" | "show-visible" | "smiley-emoji-face" | "speed-dashboard" | "square-fill" | "square-fill-outline" | "square-outline" | "star" | "star-ai-artificial-intelligence" | "stars-light-sparkle" | "stomach" | "stop-minus" | "stretch-vertical" | "substract-group" | "switch" | "target" | "target-space-object-select" | "task-list-add-checkmark" | "tasklist-to-do-checkmark" | "technology-cube-3d" | "test-lab-flask" | "text-bold" | "text-cross" | "text-h1" | "text-h2" | "text-input-form" | "text-long" | "text-short-form-element" | "text-underline" | "thumbs-down-dislike" | "thumbs-up-like" | "timer-clock-style" | "trash-bin-warning" | "trash-delete" | "twitter" | "undone-uncheck-untracked" | "unlimited-repeat-subscription-circle" | "upload" | "user" | "user-checked" | "user-delete-cross" | "user-document" | "user-group" | "user-key" | "user-lock" | "user-profile-cards-pool" | "user-profile-group-discovery" | "user-setting-gear" | "video-player-controls" | "visible-eye-hidden" | "volume-full" | "warning" | "warning-circle" | "window-finder-resize-arrow-down" | "window-finder-resize-arrow-up" | "window-resize-left" | "window-resize-right" | "window-zoom-plus-loupe" | "windows" | "workspace-mode" | "youtube" | "zendesk-logo">;
278
+ /** When true, marks this button as the initial focus target when it's the first-rendered child of a `cdkTrapFocus`/CDK Dialog focus trap. */
279
+ readonly focusInitial: _angular_core.InputSignal<boolean>;
271
280
  getMappedColor(): 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' | undefined;
272
281
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwButtonComponent, never>;
273
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwButtonComponent, "fw-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "leftIcon": { "alias": "leftIcon"; "required": false; "isSignal": true; }; "rightIcon": { "alias": "rightIcon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
282
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwButtonComponent, "fw-button", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "leftIcon": { "alias": "leftIcon"; "required": false; "isSignal": true; }; "rightIcon": { "alias": "rightIcon"; "required": false; "isSignal": true; }; "focusInitial": { "alias": "focusInitial"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
274
283
  }
275
284
 
276
285
  declare class FwButtonDirective {
@@ -587,6 +596,7 @@ declare class FwCardModule {
587
596
  * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-checkbox--docs)
588
597
  */
589
598
  declare class FwCheckboxComponent implements ControlValueAccessor {
599
+ private idGenerator;
590
600
  value: _angular_core.InputSignal<string>;
591
601
  checked: _angular_core.ModelSignal<boolean>;
592
602
  readonly name: _angular_core.InputSignal<string>;
@@ -595,6 +605,9 @@ declare class FwCheckboxComponent implements ControlValueAccessor {
595
605
  readonly color: _angular_core.ModelSignal<"primary" | "secondary">;
596
606
  readonly title: _angular_core.InputSignal<string>;
597
607
  readonly focused: _angular_core.ModelSignal<boolean>;
608
+ /** Accessible name to use when there is no visible title/content to derive one from. */
609
+ readonly ariaLabel: _angular_core.InputSignal<string>;
610
+ readonly labelId: string;
598
611
  get checkboxStyles(): string[];
599
612
  change: EventEmitter<boolean>;
600
613
  onChange: (value: boolean) => void;
@@ -605,7 +618,7 @@ declare class FwCheckboxComponent implements ControlValueAccessor {
605
618
  writeValue(checked: boolean): void;
606
619
  handleClick(): void;
607
620
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwCheckboxComponent, never>;
608
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwCheckboxComponent, "fw-checkbox", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "focused": { "alias": "focused"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "disabled": "disabledChange"; "size": "sizeChange"; "color": "colorChange"; "focused": "focusedChange"; "change": "change"; }, never, ["*"], true, never>;
621
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwCheckboxComponent, "fw-checkbox", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "focused": { "alias": "focused"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "disabled": "disabledChange"; "size": "sizeChange"; "color": "colorChange"; "focused": "focusedChange"; "change": "change"; }, never, ["*"], true, never>;
609
622
  }
610
623
 
611
624
  /**
@@ -659,6 +672,7 @@ declare class FwChipComponent {
659
672
  readonly title: _angular_core.InputSignal<string>;
660
673
  readonly description: _angular_core.InputSignal<string>;
661
674
  readonly showClose: _angular_core.InputSignal<boolean>;
675
+ readonly closeLabel: _angular_core.InputSignal<string>;
662
676
  readonly disabled: _angular_core.InputSignal<boolean>;
663
677
  readonly selected: _angular_core.InputSignal<boolean>;
664
678
  readonly textWrap: _angular_core.InputSignal<boolean>;
@@ -667,7 +681,7 @@ declare class FwChipComponent {
667
681
  select: EventEmitter<object | string>;
668
682
  handleClose(event: MouseEvent): void;
669
683
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwChipComponent, never>;
670
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwChipComponent, "fw-chip", never, { "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "textWrap": { "alias": "textWrap"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; }, { "close": "close"; "select": "select"; }, never, ["fw-avatar", "fw-progress-spinner"], true, never>;
684
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwChipComponent, "fw-chip", never, { "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "textWrap": { "alias": "textWrap"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; }, { "close": "close"; "select": "select"; }, never, ["fw-avatar", "fw-progress-spinner"], true, never>;
671
685
  }
672
686
 
673
687
  /**
@@ -709,6 +723,7 @@ declare class FwContainedInputComponent implements ControlValueAccessor {
709
723
  * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-switch--docs)
710
724
  */
711
725
  declare class FwSwitchComponent implements ControlValueAccessor {
726
+ readonly inputId: string;
712
727
  readonly name: _angular_core.InputSignal<string>;
713
728
  readonly title: _angular_core.InputSignal<string>;
714
729
  readonly titlePosition: _angular_core.InputSignal<"start" | "end">;
@@ -716,6 +731,8 @@ declare class FwSwitchComponent implements ControlValueAccessor {
716
731
  readonly color: _angular_core.InputSignal<"primary" | "secondary" | "default">;
717
732
  readonly disabled: _angular_core.ModelSignal<boolean>;
718
733
  readonly checked: _angular_core.ModelSignal<boolean>;
734
+ /** Accessible name to use when there is no visible title. */
735
+ readonly ariaLabel: _angular_core.InputSignal<string>;
719
736
  change: EventEmitter<boolean>;
720
737
  onChange: (value: boolean) => void;
721
738
  onTouched: () => void;
@@ -723,9 +740,9 @@ declare class FwSwitchComponent implements ControlValueAccessor {
723
740
  registerOnTouched(fn: () => void): void;
724
741
  setDisabledState(isDisabled: boolean): void;
725
742
  writeValue(checked: boolean): void;
726
- handleClick(): void;
743
+ handleChange(event: Event): void;
727
744
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwSwitchComponent, never>;
728
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwSwitchComponent, "fw-switch", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "titlePosition": { "alias": "titlePosition"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "checked": "checkedChange"; "change": "change"; }, never, never, true, never>;
745
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwSwitchComponent, "fw-switch", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "titlePosition": { "alias": "titlePosition"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "checked": "checkedChange"; "change": "change"; }, never, never, true, never>;
729
746
  }
730
747
 
731
748
  /**
@@ -815,14 +832,16 @@ declare enum DialogWidth {
815
832
  * Base dialog component with a configurable width, title, icon, and optional close button
816
833
  * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-dialog--docs)
817
834
  */
818
- declare class FwDialogComponent {
835
+ declare class FwDialogComponent implements OnInit, OnDestroy {
819
836
  protected dialogRef: DialogRef<any, any>;
820
837
  private elementRef;
838
+ readonly headerId: string;
821
839
  readonly width: _angular_core.InputSignal<"large" | "medium" | "small" | "extra-small" | "extra-large" | "responsive">;
822
840
  readonly title: _angular_core.InputSignal<string>;
823
841
  readonly icon: _angular_core.InputSignal<"filter" | "server" | "3d-sphere-rotate-arrows" | "add-circle" | "add-new-create" | "add-row-above" | "add-row-below" | "add-server" | "add-server-databases-endpoint" | "add-user" | "ai" | "apple" | "apply-copy-duplicate" | "archive-documents-box-big" | "arrange-filter-sort" | "arrow" | "arrow-3d-rotate" | "arrow-annotate" | "arrow-back" | "arrow-back-collapse" | "arrow-down" | "arrow-forward" | "arrow-forward-collapse" | "arrow-redo" | "arrow-rotate" | "arrow-rotate-restore" | "arrow-undo" | "arrow-up" | "arrow-up-high-priority" | "arrow-up-low-priority" | "barcode-serial" | "barcode-stack-scan" | "bell-notification" | "bezier-curve" | "blocks-code-test-checkmark" | "book-lab-flask" | "bookmark" | "bookmark-plus-add" | "brain" | "brightness-photo-edit" | "browser-internet-web-windows" | "brush-edit-create" | "bucket-paint" | "button-form-element" | "calendar-arrow-left-center" | "calendar-schedule" | "camera-photo-capture" | "cash-banknotes" | "certificate" | "chart-square" | "chart-trend-square" | "chat-messages-bubble" | "check-mark-certificate" | "checklist" | "checklist-tasks-chechmark-square" | "chevron-back" | "chevron-down" | "chevron-forward" | "chevron-input-number" | "chevron-up" | "circle" | "circle-ellipses" | "clap-applause-hands" | "clip-attachment" | "clock-history" | "clock-hour-4" | "clock-loading" | "close" | "close-circled" | "closed-freehand-vector-poly" | "cloud-network-add" | "cloud-storage-checkmark" | "cloud-upload" | "code-block-embed" | "code-text" | "color-design-profile" | "color-ven-design-profile-central" | "column-edit" | "computer-chip" | "contract-vertical" | "contrast-photo-edit" | "conversion-exchange" | "copy-item" | "creative-commons" | "crosshair" | "crown-style-circle" | "cursor-click" | "cursor-select" | "curve-object-secet-cursor" | "data-tree" | "delivery-shipment-packages" | "dna-hospital-medical" | "document-file-add-plus-bottom-left" | "document-file-blank" | "document-file-checkmark-bottom-left" | "document-file-deleted-cross-remove-center-cancel" | "document-file-download" | "document-file-list-protocol" | "document-file-tar" | "document-file-upload-bottom-center" | "document-file-zip" | "document-status-done-checkmark" | "document-visible" | "documents-file" | "documents-file-checkmark" | "documents-file-move-arrow-right" | "documents-files" | "done-check" | "done-check-tracked" | "download" | "download-status" | "drag-drop-indicator" | "draw-rectangle" | "earth-globe-fail" | "edit" | "edit-boxed" | "edit-erase" | "email" | "email-mail-checkmark-group" | "embed-circle" | "exchange" | "expand-pathfinder-dot-square-segmentation" | "eye-modern-square-read" | "facebook" | "file-blank-image-load-mask" | "file-blank-search" | "file-download" | "file-text" | "files" | "files-library" | "files-library-content" | "filter-sort-add" | "filter-sort-check-mark" | "filter-sort-delete" | "flag" | "flip-horizontal" | "flip-vertical" | "floppy-save" | "flywheel-mark-logo" | "flywheel-viewer-mark-logo" | "folder-add" | "folder-blank" | "folder-checked" | "folder-copy-expand-arrow-down" | "folder-copy-expand-arrow-up" | "folder-group" | "folder-move" | "folder-open" | "folder-share" | "form-metadata-element" | "free-rights" | "freehand-vector-poly" | "full-screen-zoom" | "git-add-branch" | "git-branch" | "git-merge" | "git-merge-draft" | "git-pull-request-2" | "github-color-login" | "gitlab" | "graduate-hat" | "grid-dot-square" | "grid-layout" | "grid-layout-9-square" | "hammer-legal-square" | "hammer-screwdriver" | "hand-money-currency" | "header-form-element" | "home-modern-door" | "home-modern-option-lines" | "human-artificial-intelligence" | "icon-placeholder" | "image-photo-copy-left-down" | "image-picture-square" | "information-circle" | "invoice" | "invoice-checkmark-paid" | "italic" | "items-group-elements" | "key" | "keyboard" | "keychain" | "label-tag" | "laptop-health-medical-cross" | "layers" | "layout" | "layout-grid" | "line" | "link" | "link-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "maps-protection-target" | "markdown" | "measure-angle" | "measure-ruler-calibration" | "media-library-imports-dowload" | "menu-burger-handle" | "menu-horizontal" | "menu-list-form-square" | "menu-vertical" | "message-chat-add-plus" | "message-chat-info" | "message-chat-question-support" | "message-checkmark-sent" | "message-question-checkmark" | "microphone-mic-rec" | "microphone-mic-rec-circle" | "microphone-mic-recording-circle" | "minus" | "modalities" | "molecule" | "money" | "money-coin" | "money-dollar" | "monitor-computer" | "moon-night-mode" | "mouse-big" | "mouse-scroll" | "move" | "music-play-resume" | "music-stop" | "mute" | "network-storage-alert" | "notebook" | "notebook-add-plus" | "notebook-open" | "notebook-pen-edit" | "notes-pen" | "object-search-zoom-plus" | "open" | "orientation-3d-axial-acquisition" | "orientation-3d-coronal" | "orientation-3d-reformat" | "orientation-3d-sagittal" | "paint-roller" | "pause" | "pen-edit-circle" | "pen-edit-compose-new" | "pencil-edit-create" | "photo-edit-brightness-invert" | "pie-chart" | "pie-graph-chart-sample" | "plus-add-rectangle" | "polygon" | "private-mode-protection-circle" | "protection-target" | "protective-mask" | "question-circle" | "quote" | "radiology-scan" | "radiology-scan-circle" | "reader-studies" | "rotate" | "rotate-arrow-manual" | "rotate-item-left" | "rotate-item-right" | "rotate-refresh" | "ruler" | "ruler-bidirectional" | "scanner" | "search" | "search-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server-checkmark" | "server-database-endpoint" | "server-databases-checkmark-user" | "server-databases-connect" | "server-databases-download" | "server-databases-key-protection" | "server-databases-minimal-download" | "server-databases-sync" | "server-databases-sync-import" | "server-upload" | "servers-database" | "setting-gear" | "settings-adjust" | "settings-gear" | "settings-gear-square" | "settings-select" | "shapes-objects" | "share" | "shield-protect" | "show-visible" | "smiley-emoji-face" | "speed-dashboard" | "square-fill" | "square-fill-outline" | "square-outline" | "star" | "star-ai-artificial-intelligence" | "stars-light-sparkle" | "stomach" | "stop-minus" | "stretch-vertical" | "substract-group" | "switch" | "target" | "target-space-object-select" | "task-list-add-checkmark" | "tasklist-to-do-checkmark" | "technology-cube-3d" | "test-lab-flask" | "text-bold" | "text-cross" | "text-h1" | "text-h2" | "text-input-form" | "text-long" | "text-short-form-element" | "text-underline" | "thumbs-down-dislike" | "thumbs-up-like" | "timer-clock-style" | "trash-bin-warning" | "trash-delete" | "twitter" | "undone-uncheck-untracked" | "unlimited-repeat-subscription-circle" | "upload" | "user" | "user-checked" | "user-delete-cross" | "user-document" | "user-group" | "user-key" | "user-lock" | "user-profile-cards-pool" | "user-profile-group-discovery" | "user-setting-gear" | "video-player-controls" | "visible-eye-hidden" | "volume-full" | "warning" | "warning-circle" | "window-finder-resize-arrow-down" | "window-finder-resize-arrow-up" | "window-resize-left" | "window-resize-right" | "window-zoom-plus-loupe" | "windows" | "workspace-mode" | "youtube" | "zendesk-logo">;
824
842
  readonly iconColor: _angular_core.InputSignal<"primary" | "secondary" | "red" | "orange" | "green" | "slate">;
825
843
  readonly showClose: _angular_core.InputSignal<boolean>;
844
+ readonly closeLabel: _angular_core.InputSignal<string>;
826
845
  readonly externalClasses: _angular_core.InputSignal<string | string[] | {
827
846
  [key: string]: boolean;
828
847
  }>;
@@ -832,10 +851,12 @@ declare class FwDialogComponent {
832
851
  get classes(): {
833
852
  [key: string]: boolean;
834
853
  };
854
+ ngOnInit(): void;
855
+ ngOnDestroy(): void;
835
856
  protected handleCloseButton(): void;
836
857
  private closeWithAnimation;
837
858
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwDialogComponent, never>;
838
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwDialogComponent, "fw-dialog", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "externalClasses": { "alias": "class"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, ["fw-dialog-header", "fw-dialog-content", "fw-dialog-actions"], true, never>;
859
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwDialogComponent, "fw-dialog", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "externalClasses": { "alias": "class"; "required": false; "isSignal": true; }; }, { "close": "close"; }, never, ["fw-dialog-header", "fw-dialog-content", "fw-dialog-actions"], true, never>;
839
860
  }
840
861
 
841
862
  interface FwDialogRef<R = unknown, C = unknown> extends DialogRef<R, C> {
@@ -1190,6 +1211,10 @@ type MouseEnterHandler = ($event: MouseEvent, item: FwMenuItemComponent) => void
1190
1211
  */
1191
1212
  declare class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentInit {
1192
1213
  private elementRef;
1214
+ /** Stable id, used for aria-activedescendant targeting (e.g. by fw-select's combobox input). */
1215
+ readonly itemId: string;
1216
+ /** Set by the owning FwMenuComponent to match the surrounding menu/listbox semantics. */
1217
+ readonly itemRole: _angular_core.ModelSignal<"menuitem" | "option" | "menuitemcheckbox" | "menuitemradio">;
1193
1218
  readonly value: _angular_core.InputSignal<string>;
1194
1219
  readonly size: _angular_core.ModelSignal<"default" | "compact">;
1195
1220
  readonly title: _angular_core.InputSignal<string>;
@@ -1212,15 +1237,18 @@ declare class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentI
1212
1237
  subItems: QueryList<FwMenuSubItemComponent>;
1213
1238
  private subscriptions;
1214
1239
  scrollIntoView(options?: ScrollIntoViewOptions): void;
1240
+ focus(): void;
1241
+ isFocused(): boolean;
1215
1242
  ngOnChanges(changes: SimpleChanges): void;
1216
1243
  ngOnDestroy(): void;
1217
1244
  ngAfterContentInit(): void;
1218
1245
  onMouseEnter(event: MouseEvent): void;
1219
1246
  updateLayout(): void;
1220
1247
  toggleSubItemsView(): void;
1248
+ handleKeydown(evt: Event): void;
1221
1249
  handleClick(evt: Event): void;
1222
1250
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwMenuItemComponent, never>;
1223
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwMenuItemComponent, "fw-menu-item", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "checkboxColor": { "alias": "checkboxColor"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "subItemsOpen": { "alias": "subItemsOpen"; "required": false; "isSignal": true; }; "mouseEnterHandler": { "alias": "mouseEnterHandler"; "required": false; "isSignal": true; }; "focused": { "alias": "focused"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; "disabled": "disabledChange"; "showCheckbox": "showCheckboxChange"; "multiSelect": "multiSelectChange"; "hidden": "hiddenChange"; "subItemsOpen": "subItemsOpenChange"; "mouseEnterHandler": "mouseEnterHandlerChange"; "click": "click"; "focused": "focusedChange"; "selected": "selectedChange"; }, ["subItems"], ["fw-avatar", "p", "fw-badge", "fw-icon", "fw-icon-button", "fw-menu-sub-item"], true, never>;
1251
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwMenuItemComponent, "fw-menu-item", never, { "itemRole": { "alias": "itemRole"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "checkboxColor": { "alias": "checkboxColor"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; "subItemsOpen": { "alias": "subItemsOpen"; "required": false; "isSignal": true; }; "mouseEnterHandler": { "alias": "mouseEnterHandler"; "required": false; "isSignal": true; }; "focused": { "alias": "focused"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "itemRole": "itemRoleChange"; "size": "sizeChange"; "disabled": "disabledChange"; "showCheckbox": "showCheckboxChange"; "multiSelect": "multiSelectChange"; "hidden": "hiddenChange"; "subItemsOpen": "subItemsOpenChange"; "mouseEnterHandler": "mouseEnterHandlerChange"; "click": "click"; "focused": "focusedChange"; "selected": "selectedChange"; }, ["subItems"], ["fw-avatar", "p", "fw-badge", "fw-icon", "fw-icon-button", "fw-menu-sub-item"], true, never>;
1224
1252
  }
1225
1253
 
1226
1254
  /**
@@ -1228,11 +1256,16 @@ declare class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentI
1228
1256
  * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1229
1257
  */
1230
1258
  declare class FwMenuComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {
1259
+ private generatedId;
1231
1260
  readonly disabled: _angular_core.ModelSignal<boolean>;
1232
1261
  readonly size: _angular_core.InputSignal<"default" | "compact">;
1233
1262
  readonly multiSelect: _angular_core.InputSignal<boolean>;
1234
1263
  readonly useCheckbox: _angular_core.InputSignal<boolean>;
1235
1264
  readonly value: _angular_core.ModelSignal<string | string[]>;
1265
+ /** Whether this list of items is a true action menu or a listbox of selectable options (e.g. fw-select). */
1266
+ readonly role: _angular_core.InputSignal<"listbox" | "menu">;
1267
+ /** Overridable id, so a combobox wrapper (e.g. fw-select) can point its aria-controls at this menu. */
1268
+ readonly id: _angular_core.InputSignal<string>;
1236
1269
  change: EventEmitter<string | string[]>;
1237
1270
  menuItems: QueryList<FwMenuItemComponent>;
1238
1271
  menuContentWrapper: ElementRef;
@@ -1249,9 +1282,11 @@ declare class FwMenuComponent implements ControlValueAccessor, OnChanges, OnDest
1249
1282
  registerOnTouched(fn: () => void): void;
1250
1283
  setDisabledState?(isDisabled: boolean): void;
1251
1284
  handleSelect(value: string): void;
1285
+ private computeItemRole;
1252
1286
  updateLayout(): void;
1287
+ onKeydown(event: KeyboardEvent): void;
1253
1288
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwMenuComponent, never>;
1254
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwMenuComponent, "fw-menu", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "useCheckbox": { "alias": "useCheckbox"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "value": "valueChange"; "change": "change"; }, ["menuContentWrapper", "menuItems"], ["*"], true, never>;
1289
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwMenuComponent, "fw-menu", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "multiSelect": { "alias": "multiSelect"; "required": false; "isSignal": true; }; "useCheckbox": { "alias": "useCheckbox"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "value": "valueChange"; "change": "change"; }, ["menuContentWrapper", "menuItems"], ["*"], true, never>;
1255
1290
  }
1256
1291
 
1257
1292
  type DelayLength$3 = 'none' | 'short' | 'long';
@@ -1262,6 +1297,7 @@ type SimplePosition = 'above' | 'below' | 'left' | 'right';
1262
1297
  declare class FwTooltipPanelComponent {
1263
1298
  animation: any;
1264
1299
  trigger: _angular_core.InputSignalWithTransform<CdkOverlayOrigin, ElementRef<HTMLElement> | CdkOverlayOrigin>;
1300
+ id: _angular_core.InputSignal<string>;
1265
1301
  title: _angular_core.InputSignal<string>;
1266
1302
  isOpen: _angular_core.InputSignal<boolean>;
1267
1303
  position: _angular_core.InputSignal<SimplePosition>;
@@ -1276,7 +1312,7 @@ declare class FwTooltipPanelComponent {
1276
1312
  mouseLeave: EventEmitter<MouseEvent>;
1277
1313
  hidePopover(e: MouseEvent): void;
1278
1314
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwTooltipPanelComponent, never>;
1279
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTooltipPanelComponent, "fw-tooltip-panel", never, { "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "displayCaret": { "alias": "displayCaret"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "contentClass": { "alias": "contentClass"; "required": false; "isSignal": true; }; }, { "mouseLeave": "mouseLeave"; }, never, ["*"], true, never>;
1315
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTooltipPanelComponent, "fw-tooltip-panel", never, { "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "displayCaret": { "alias": "displayCaret"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "contentClass": { "alias": "contentClass"; "required": false; "isSignal": true; }; }, { "mouseLeave": "mouseLeave"; }, never, ["*"], true, never>;
1280
1316
  }
1281
1317
 
1282
1318
  type DelayLength$2 = 'none' | 'short' | 'long';
@@ -1293,6 +1329,7 @@ declare class FwTooltipDirective implements OnInit, OnDestroy {
1293
1329
  private overlayRef;
1294
1330
  private tooltipRef;
1295
1331
  private tooltipPortal;
1332
+ private readonly tooltipId;
1296
1333
  /***** Inputs *****/
1297
1334
  /**
1298
1335
  * Directive for displaying extra context on hover
@@ -1329,11 +1366,14 @@ declare class FwTooltipDirective implements OnInit, OnDestroy {
1329
1366
  positionStrategy: _angular_core.Signal<i3.FlexibleConnectedPositionStrategy>;
1330
1367
  overlayConfig: _angular_core.Signal<OverlayConfig>;
1331
1368
  /***** Effects and Methods *****/
1369
+ private readonly boundShowTooltip;
1370
+ private readonly boundHideTooltip;
1332
1371
  addMouseEventListeners: _angular_core.EffectRef;
1333
1372
  ngOnInit(): void;
1334
1373
  private openDelayTimer;
1335
1374
  showTooltip(): void;
1336
- positionChangeSub: Subscription | undefined;
1375
+ private addDescribedBy;
1376
+ private removeDescribedBy;
1337
1377
  handlePositionChange: _angular_core.EffectRef;
1338
1378
  hideTooltip(): void;
1339
1379
  ngOnDestroy(): void;
@@ -1346,12 +1386,25 @@ declare class FwTooltipDirective implements OnInit, OnDestroy {
1346
1386
  * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-text-input--docs)
1347
1387
  */
1348
1388
  declare class FwTextInputComponent implements ControlValueAccessor {
1389
+ private idGenerator;
1390
+ readonly helperTextId: string;
1391
+ readonly errorTextId: string;
1349
1392
  readonly disabled: _angular_core.ModelSignal<boolean>;
1350
1393
  readonly useActionableIcons: _angular_core.InputSignal<boolean>;
1351
1394
  readonly leftIcon: _angular_core.InputSignal<"filter" | "server" | "3d-sphere-rotate-arrows" | "add-circle" | "add-new-create" | "add-row-above" | "add-row-below" | "add-server" | "add-server-databases-endpoint" | "add-user" | "ai" | "apple" | "apply-copy-duplicate" | "archive-documents-box-big" | "arrange-filter-sort" | "arrow" | "arrow-3d-rotate" | "arrow-annotate" | "arrow-back" | "arrow-back-collapse" | "arrow-down" | "arrow-forward" | "arrow-forward-collapse" | "arrow-redo" | "arrow-rotate" | "arrow-rotate-restore" | "arrow-undo" | "arrow-up" | "arrow-up-high-priority" | "arrow-up-low-priority" | "barcode-serial" | "barcode-stack-scan" | "bell-notification" | "bezier-curve" | "blocks-code-test-checkmark" | "book-lab-flask" | "bookmark" | "bookmark-plus-add" | "brain" | "brightness-photo-edit" | "browser-internet-web-windows" | "brush-edit-create" | "bucket-paint" | "button-form-element" | "calendar-arrow-left-center" | "calendar-schedule" | "camera-photo-capture" | "cash-banknotes" | "certificate" | "chart-square" | "chart-trend-square" | "chat-messages-bubble" | "check-mark-certificate" | "checklist" | "checklist-tasks-chechmark-square" | "chevron-back" | "chevron-down" | "chevron-forward" | "chevron-input-number" | "chevron-up" | "circle" | "circle-ellipses" | "clap-applause-hands" | "clip-attachment" | "clock-history" | "clock-hour-4" | "clock-loading" | "close" | "close-circled" | "closed-freehand-vector-poly" | "cloud-network-add" | "cloud-storage-checkmark" | "cloud-upload" | "code-block-embed" | "code-text" | "color-design-profile" | "color-ven-design-profile-central" | "column-edit" | "computer-chip" | "contract-vertical" | "contrast-photo-edit" | "conversion-exchange" | "copy-item" | "creative-commons" | "crosshair" | "crown-style-circle" | "cursor-click" | "cursor-select" | "curve-object-secet-cursor" | "data-tree" | "delivery-shipment-packages" | "dna-hospital-medical" | "document-file-add-plus-bottom-left" | "document-file-blank" | "document-file-checkmark-bottom-left" | "document-file-deleted-cross-remove-center-cancel" | "document-file-download" | "document-file-list-protocol" | "document-file-tar" | "document-file-upload-bottom-center" | "document-file-zip" | "document-status-done-checkmark" | "document-visible" | "documents-file" | "documents-file-checkmark" | "documents-file-move-arrow-right" | "documents-files" | "done-check" | "done-check-tracked" | "download" | "download-status" | "drag-drop-indicator" | "draw-rectangle" | "earth-globe-fail" | "edit" | "edit-boxed" | "edit-erase" | "email" | "email-mail-checkmark-group" | "embed-circle" | "exchange" | "expand-pathfinder-dot-square-segmentation" | "eye-modern-square-read" | "facebook" | "file-blank-image-load-mask" | "file-blank-search" | "file-download" | "file-text" | "files" | "files-library" | "files-library-content" | "filter-sort-add" | "filter-sort-check-mark" | "filter-sort-delete" | "flag" | "flip-horizontal" | "flip-vertical" | "floppy-save" | "flywheel-mark-logo" | "flywheel-viewer-mark-logo" | "folder-add" | "folder-blank" | "folder-checked" | "folder-copy-expand-arrow-down" | "folder-copy-expand-arrow-up" | "folder-group" | "folder-move" | "folder-open" | "folder-share" | "form-metadata-element" | "free-rights" | "freehand-vector-poly" | "full-screen-zoom" | "git-add-branch" | "git-branch" | "git-merge" | "git-merge-draft" | "git-pull-request-2" | "github-color-login" | "gitlab" | "graduate-hat" | "grid-dot-square" | "grid-layout" | "grid-layout-9-square" | "hammer-legal-square" | "hammer-screwdriver" | "hand-money-currency" | "header-form-element" | "home-modern-door" | "home-modern-option-lines" | "human-artificial-intelligence" | "icon-placeholder" | "image-photo-copy-left-down" | "image-picture-square" | "information-circle" | "invoice" | "invoice-checkmark-paid" | "italic" | "items-group-elements" | "key" | "keyboard" | "keychain" | "label-tag" | "laptop-health-medical-cross" | "layers" | "layout" | "layout-grid" | "line" | "link" | "link-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "maps-protection-target" | "markdown" | "measure-angle" | "measure-ruler-calibration" | "media-library-imports-dowload" | "menu-burger-handle" | "menu-horizontal" | "menu-list-form-square" | "menu-vertical" | "message-chat-add-plus" | "message-chat-info" | "message-chat-question-support" | "message-checkmark-sent" | "message-question-checkmark" | "microphone-mic-rec" | "microphone-mic-rec-circle" | "microphone-mic-recording-circle" | "minus" | "modalities" | "molecule" | "money" | "money-coin" | "money-dollar" | "monitor-computer" | "moon-night-mode" | "mouse-big" | "mouse-scroll" | "move" | "music-play-resume" | "music-stop" | "mute" | "network-storage-alert" | "notebook" | "notebook-add-plus" | "notebook-open" | "notebook-pen-edit" | "notes-pen" | "object-search-zoom-plus" | "open" | "orientation-3d-axial-acquisition" | "orientation-3d-coronal" | "orientation-3d-reformat" | "orientation-3d-sagittal" | "paint-roller" | "pause" | "pen-edit-circle" | "pen-edit-compose-new" | "pencil-edit-create" | "photo-edit-brightness-invert" | "pie-chart" | "pie-graph-chart-sample" | "plus-add-rectangle" | "polygon" | "private-mode-protection-circle" | "protection-target" | "protective-mask" | "question-circle" | "quote" | "radiology-scan" | "radiology-scan-circle" | "reader-studies" | "rotate" | "rotate-arrow-manual" | "rotate-item-left" | "rotate-item-right" | "rotate-refresh" | "ruler" | "ruler-bidirectional" | "scanner" | "search" | "search-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server-checkmark" | "server-database-endpoint" | "server-databases-checkmark-user" | "server-databases-connect" | "server-databases-download" | "server-databases-key-protection" | "server-databases-minimal-download" | "server-databases-sync" | "server-databases-sync-import" | "server-upload" | "servers-database" | "setting-gear" | "settings-adjust" | "settings-gear" | "settings-gear-square" | "settings-select" | "shapes-objects" | "share" | "shield-protect" | "show-visible" | "smiley-emoji-face" | "speed-dashboard" | "square-fill" | "square-fill-outline" | "square-outline" | "star" | "star-ai-artificial-intelligence" | "stars-light-sparkle" | "stomach" | "stop-minus" | "stretch-vertical" | "substract-group" | "switch" | "target" | "target-space-object-select" | "task-list-add-checkmark" | "tasklist-to-do-checkmark" | "technology-cube-3d" | "test-lab-flask" | "text-bold" | "text-cross" | "text-h1" | "text-h2" | "text-input-form" | "text-long" | "text-short-form-element" | "text-underline" | "thumbs-down-dislike" | "thumbs-up-like" | "timer-clock-style" | "trash-bin-warning" | "trash-delete" | "twitter" | "undone-uncheck-untracked" | "unlimited-repeat-subscription-circle" | "upload" | "user" | "user-checked" | "user-delete-cross" | "user-document" | "user-group" | "user-key" | "user-lock" | "user-profile-cards-pool" | "user-profile-group-discovery" | "user-setting-gear" | "video-player-controls" | "visible-eye-hidden" | "volume-full" | "warning" | "warning-circle" | "window-finder-resize-arrow-down" | "window-finder-resize-arrow-up" | "window-resize-left" | "window-resize-right" | "window-zoom-plus-loupe" | "windows" | "workspace-mode" | "youtube" | "zendesk-logo">;
1352
1395
  readonly rightIcon: _angular_core.InputSignal<string>;
1396
+ readonly leftIconLabel: _angular_core.InputSignal<string>;
1397
+ readonly rightIconLabel: _angular_core.InputSignal<string>;
1353
1398
  readonly prefix: _angular_core.InputSignal<string>;
1354
1399
  readonly context: _angular_core.InputSignal<string>;
1400
+ readonly ariaLabel: _angular_core.InputSignal<string>;
1401
+ readonly required: _angular_core.InputSignal<boolean>;
1402
+ /** Passthrough ARIA attributes for the native input, used by combobox-style wrappers (fw-select, typeahead). */
1403
+ readonly role: _angular_core.InputSignal<string>;
1404
+ readonly ariaExpanded: _angular_core.InputSignal<boolean>;
1405
+ readonly ariaControls: _angular_core.InputSignal<string>;
1406
+ readonly ariaAutocomplete: _angular_core.InputSignal<"inline" | "none" | "both" | "list">;
1407
+ readonly ariaActiveDescendant: _angular_core.InputSignal<string>;
1355
1408
  /**
1356
1409
  * @deprecated please use fw-wrapped-input instead
1357
1410
  */
@@ -1387,11 +1440,12 @@ declare class FwTextInputComponent implements ControlValueAccessor {
1387
1440
  setDisabledState(isDisabled: boolean): void;
1388
1441
  changeHandler(event: Event): void;
1389
1442
  blurHandler(): void;
1443
+ readonly computedDescribedBy: _angular_core.Signal<string>;
1390
1444
  onLeftIconClick(): void;
1391
1445
  onRightIconClick(): void;
1392
1446
  focus(): void;
1393
1447
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwTextInputComponent, never>;
1394
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTextInputComponent, "fw-text-input", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "useActionableIcons": { "alias": "useActionableIcons"; "required": false; "isSignal": true; }; "leftIcon": { "alias": "leftIcon"; "required": false; "isSignal": true; }; "rightIcon": { "alias": "rightIcon"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "errorInIconTooltip": { "alias": "errorInIconTooltip"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "leftIconAction": "leftIconAction"; "rightIconAction": "rightIconAction"; }, ["contentChildInputElement"], ["input", "*"], true, never>;
1448
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTextInputComponent, "fw-text-input", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "useActionableIcons": { "alias": "useActionableIcons"; "required": false; "isSignal": true; }; "leftIcon": { "alias": "leftIcon"; "required": false; "isSignal": true; }; "rightIcon": { "alias": "rightIcon"; "required": false; "isSignal": true; }; "leftIconLabel": { "alias": "leftIconLabel"; "required": false; "isSignal": true; }; "rightIconLabel": { "alias": "rightIconLabel"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "ariaExpanded": { "alias": "ariaExpanded"; "required": false; "isSignal": true; }; "ariaControls": { "alias": "ariaControls"; "required": false; "isSignal": true; }; "ariaAutocomplete": { "alias": "ariaAutocomplete"; "required": false; "isSignal": true; }; "ariaActiveDescendant": { "alias": "ariaActiveDescendant"; "required": false; "isSignal": true; }; "helperText": { "alias": "helperText"; "required": false; "isSignal": true; }; "errorText": { "alias": "errorText"; "required": false; "isSignal": true; }; "errorInIconTooltip": { "alias": "errorInIconTooltip"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "leftIconAction": "leftIconAction"; "rightIconAction": "rightIconAction"; }, ["contentChildInputElement"], ["input", "*"], true, never>;
1395
1449
  }
1396
1450
 
1397
1451
  /**
@@ -1866,6 +1920,7 @@ declare class MenuRegisterDirective implements OnInit, OnDestroy {
1866
1920
  */
1867
1921
  declare class FwMultiSelectMenuComponent implements ControlValueAccessor, AfterContentInit, OnDestroy {
1868
1922
  private elementRef;
1923
+ readonly listboxId: string;
1869
1924
  outsideClick(event: MouseEvent): void;
1870
1925
  readonly options: _angular_core.InputSignal<object[]>;
1871
1926
  readonly valueProperty: _angular_core.InputSignal<string>;
@@ -1945,6 +2000,7 @@ type DisplayFn = (menuItem: FwMenuItemComponent) => string;
1945
2000
  */
1946
2001
  declare class FwSelectMenuComponent implements OnInit, OnDestroy, ControlValueAccessor {
1947
2002
  private ngControl;
2003
+ readonly listboxId: string;
1948
2004
  outsideClick(evt: any): void;
1949
2005
  get disabledClass(): boolean;
1950
2006
  options: _angular_core.InputSignal<Object[]>;
@@ -2018,6 +2074,11 @@ declare class FwSelectMenuComponent implements OnInit, OnDestroy, ControlValueAc
2018
2074
  setDisabledState(isDisabled: boolean): void;
2019
2075
  writeValue(value: any): void;
2020
2076
  handleClick(e: string): void;
2077
+ isMenuOpen(): boolean;
2078
+ /**
2079
+ * The DOM id of the currently active/highlighted option, for aria-activedescendant on the combobox input.
2080
+ */
2081
+ getActiveDescendantId(): string | undefined;
2021
2082
  /**
2022
2083
  * Get all available items for navigation, either from options or menuItems
2023
2084
  */
@@ -2130,7 +2191,7 @@ declare class FwPhoneInputComponent implements OnInit, OnChanges, ControlValueAc
2130
2191
  readonly placeholder: _angular_core.InputSignal<string>;
2131
2192
  readonly readOnly: _angular_core.InputSignal<boolean>;
2132
2193
  readonly error: _angular_core.InputSignal<boolean>;
2133
- readonly value: _angular_core.ModelSignal<string | E164Number>;
2194
+ readonly value: _angular_core.ModelSignal<string>;
2134
2195
  get disabled(): boolean;
2135
2196
  set disabled(value: boolean);
2136
2197
  get format(): PhoneNumberFormat;
@@ -2187,10 +2248,11 @@ declare class FwPhoneInputModule {
2187
2248
  declare class FwBackButtonComponent {
2188
2249
  location: Location;
2189
2250
  readonly backFunction: _angular_core.InputSignal<() => {}>;
2251
+ readonly ariaLabel: _angular_core.InputSignal<string>;
2190
2252
  class: string;
2191
2253
  handleClick(): void;
2192
2254
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwBackButtonComponent, never>;
2193
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwBackButtonComponent, "fw-back-button", never, { "backFunction": { "alias": "backFunction"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2255
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwBackButtonComponent, "fw-back-button", never, { "backFunction": { "alias": "backFunction"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2194
2256
  }
2195
2257
 
2196
2258
  /**
@@ -2274,6 +2336,7 @@ declare class FwSnackbarComponent implements AfterViewInit {
2274
2336
  private timerService;
2275
2337
  message: _angular_core.InputSignal<FwSnackbarMessage>;
2276
2338
  messageDuration: _angular_core.InputSignal<number>;
2339
+ dismissLabel: _angular_core.InputSignal<string>;
2277
2340
  ready: _angular_core.OutputEmitterRef<FwSnackbarComponent>;
2278
2341
  dismiss: _angular_core.OutputEmitterRef<string>;
2279
2342
  action: _angular_core.OutputEmitterRef<string>;
@@ -2290,7 +2353,7 @@ declare class FwSnackbarComponent implements AfterViewInit {
2290
2353
  handleDismiss(): void;
2291
2354
  handleAction(): void;
2292
2355
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwSnackbarComponent, never>;
2293
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwSnackbarComponent, "fw-snackbar", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "messageDuration": { "alias": "messageDuration"; "required": false; "isSignal": true; }; }, { "ready": "ready"; "dismiss": "dismiss"; "action": "action"; }, never, never, true, never>;
2356
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwSnackbarComponent, "fw-snackbar", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "messageDuration": { "alias": "messageDuration"; "required": false; "isSignal": true; }; "dismissLabel": { "alias": "dismissLabel"; "required": false; "isSignal": true; }; }, { "ready": "ready"; "dismiss": "dismiss"; "action": "action"; }, never, never, true, never>;
2294
2357
  }
2295
2358
 
2296
2359
  /**
@@ -2299,11 +2362,14 @@ declare class FwSnackbarComponent implements AfterViewInit {
2299
2362
  declare class FwSnackbarContainerComponent implements OnDestroy {
2300
2363
  private cdr;
2301
2364
  private snackbarService;
2365
+ private liveAnnouncer;
2302
2366
  get classes(): string;
2303
2367
  limit: number;
2304
2368
  messages: FwSnackbarMessage[];
2305
2369
  private subscriptions;
2370
+ private announcedIds;
2306
2371
  constructor();
2372
+ private announceNewMessages;
2307
2373
  ngOnDestroy(): void;
2308
2374
  onReady(snackbar: FwSnackbarComponent): void;
2309
2375
  onDismiss(messageId: string): void;
@@ -2441,13 +2507,19 @@ declare class FwHeaderCell extends CdkHeaderCell {
2441
2507
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwHeaderCell, never>;
2442
2508
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FwHeaderCell, "fw-header-cell, th[fw-header-cell]", never, {}, {}, never, never, true, never>;
2443
2509
  }
2444
- /** Footer cell template container that adds the right classes and role. */
2510
+ /**
2511
+ * Footer cell template container that adds the right classes and role.
2512
+ * `CdkFooterCell` sets its own `role` attribute (`gridcell` vs `cell`) based on the table's role.
2513
+ */
2445
2514
  declare class FwFooterCell extends CdkFooterCell {
2446
2515
  class: string;
2447
2516
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwFooterCell, never>;
2448
2517
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FwFooterCell, "fw-footer-cell, td[fw-footer-cell]", never, {}, {}, never, never, true, never>;
2449
2518
  }
2450
- /** Cell template container that adds the right classes and role. */
2519
+ /**
2520
+ * Cell template container that adds the right classes and role.
2521
+ * `CdkCell` sets its own `role` attribute (`gridcell` vs `cell`) based on the table's role.
2522
+ */
2451
2523
  declare class FwCell extends CdkCell {
2452
2524
  class: string;
2453
2525
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwCell, never>;
@@ -2520,6 +2592,7 @@ declare class FwTableComponent<T> extends CdkTable<T> {
2520
2592
  protected stickyCssClass: string;
2521
2593
  /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */
2522
2594
  protected needsPositionStickyOnElement: boolean;
2595
+ constructor();
2523
2596
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwTableComponent<any>, never>;
2524
2597
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTableComponent<any>, "fw-table, table[fw-table]", ["fwTable"], {}, {}, never, never, true, never>;
2525
2598
  }
@@ -2534,6 +2607,7 @@ declare class FwTableDenseComponent<T> extends CdkTable<T> {
2534
2607
  protected stickyCssClass: string;
2535
2608
  /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */
2536
2609
  protected needsPositionStickyOnElement: boolean;
2610
+ constructor();
2537
2611
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwTableDenseComponent<any>, never>;
2538
2612
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTableDenseComponent<any>, "fw-table-dense, table[fw-table-dense]", ["fwTableDense"], {}, {}, never, never, true, never>;
2539
2613
  }
@@ -2552,6 +2626,7 @@ declare class FwTableModule {
2552
2626
  * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tabs--docs)
2553
2627
  */
2554
2628
  declare class FwTabPanelComponent {
2629
+ readonly id: string;
2555
2630
  active: _angular_core.ModelSignal<boolean>;
2556
2631
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwTabPanelComponent, never>;
2557
2632
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTabPanelComponent, "fw-tab-panel", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, never, ["*"], true, never>;
@@ -2562,17 +2637,21 @@ declare class FwTabPanelComponent {
2562
2637
  * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tabs--docs)
2563
2638
  */
2564
2639
  declare class FwTabComponent {
2640
+ private elementRef;
2565
2641
  readonly title: _angular_core.InputSignal<string>;
2566
2642
  readonly panel: _angular_core.InputSignal<FwTabPanelComponent>;
2567
2643
  readonly color: _angular_core.InputSignal<"primary" | "secondary">;
2568
2644
  readonly icon: _angular_core.InputSignal<"filter" | "server" | "3d-sphere-rotate-arrows" | "add-circle" | "add-new-create" | "add-row-above" | "add-row-below" | "add-server" | "add-server-databases-endpoint" | "add-user" | "ai" | "apple" | "apply-copy-duplicate" | "archive-documents-box-big" | "arrange-filter-sort" | "arrow" | "arrow-3d-rotate" | "arrow-annotate" | "arrow-back" | "arrow-back-collapse" | "arrow-down" | "arrow-forward" | "arrow-forward-collapse" | "arrow-redo" | "arrow-rotate" | "arrow-rotate-restore" | "arrow-undo" | "arrow-up" | "arrow-up-high-priority" | "arrow-up-low-priority" | "barcode-serial" | "barcode-stack-scan" | "bell-notification" | "bezier-curve" | "blocks-code-test-checkmark" | "book-lab-flask" | "bookmark" | "bookmark-plus-add" | "brain" | "brightness-photo-edit" | "browser-internet-web-windows" | "brush-edit-create" | "bucket-paint" | "button-form-element" | "calendar-arrow-left-center" | "calendar-schedule" | "camera-photo-capture" | "cash-banknotes" | "certificate" | "chart-square" | "chart-trend-square" | "chat-messages-bubble" | "check-mark-certificate" | "checklist" | "checklist-tasks-chechmark-square" | "chevron-back" | "chevron-down" | "chevron-forward" | "chevron-input-number" | "chevron-up" | "circle" | "circle-ellipses" | "clap-applause-hands" | "clip-attachment" | "clock-history" | "clock-hour-4" | "clock-loading" | "close" | "close-circled" | "closed-freehand-vector-poly" | "cloud-network-add" | "cloud-storage-checkmark" | "cloud-upload" | "code-block-embed" | "code-text" | "color-design-profile" | "color-ven-design-profile-central" | "column-edit" | "computer-chip" | "contract-vertical" | "contrast-photo-edit" | "conversion-exchange" | "copy-item" | "creative-commons" | "crosshair" | "crown-style-circle" | "cursor-click" | "cursor-select" | "curve-object-secet-cursor" | "data-tree" | "delivery-shipment-packages" | "dna-hospital-medical" | "document-file-add-plus-bottom-left" | "document-file-blank" | "document-file-checkmark-bottom-left" | "document-file-deleted-cross-remove-center-cancel" | "document-file-download" | "document-file-list-protocol" | "document-file-tar" | "document-file-upload-bottom-center" | "document-file-zip" | "document-status-done-checkmark" | "document-visible" | "documents-file" | "documents-file-checkmark" | "documents-file-move-arrow-right" | "documents-files" | "done-check" | "done-check-tracked" | "download" | "download-status" | "drag-drop-indicator" | "draw-rectangle" | "earth-globe-fail" | "edit" | "edit-boxed" | "edit-erase" | "email" | "email-mail-checkmark-group" | "embed-circle" | "exchange" | "expand-pathfinder-dot-square-segmentation" | "eye-modern-square-read" | "facebook" | "file-blank-image-load-mask" | "file-blank-search" | "file-download" | "file-text" | "files" | "files-library" | "files-library-content" | "filter-sort-add" | "filter-sort-check-mark" | "filter-sort-delete" | "flag" | "flip-horizontal" | "flip-vertical" | "floppy-save" | "flywheel-mark-logo" | "flywheel-viewer-mark-logo" | "folder-add" | "folder-blank" | "folder-checked" | "folder-copy-expand-arrow-down" | "folder-copy-expand-arrow-up" | "folder-group" | "folder-move" | "folder-open" | "folder-share" | "form-metadata-element" | "free-rights" | "freehand-vector-poly" | "full-screen-zoom" | "git-add-branch" | "git-branch" | "git-merge" | "git-merge-draft" | "git-pull-request-2" | "github-color-login" | "gitlab" | "graduate-hat" | "grid-dot-square" | "grid-layout" | "grid-layout-9-square" | "hammer-legal-square" | "hammer-screwdriver" | "hand-money-currency" | "header-form-element" | "home-modern-door" | "home-modern-option-lines" | "human-artificial-intelligence" | "icon-placeholder" | "image-photo-copy-left-down" | "image-picture-square" | "information-circle" | "invoice" | "invoice-checkmark-paid" | "italic" | "items-group-elements" | "key" | "keyboard" | "keychain" | "label-tag" | "laptop-health-medical-cross" | "layers" | "layout" | "layout-grid" | "line" | "link" | "link-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "maps-protection-target" | "markdown" | "measure-angle" | "measure-ruler-calibration" | "media-library-imports-dowload" | "menu-burger-handle" | "menu-horizontal" | "menu-list-form-square" | "menu-vertical" | "message-chat-add-plus" | "message-chat-info" | "message-chat-question-support" | "message-checkmark-sent" | "message-question-checkmark" | "microphone-mic-rec" | "microphone-mic-rec-circle" | "microphone-mic-recording-circle" | "minus" | "modalities" | "molecule" | "money" | "money-coin" | "money-dollar" | "monitor-computer" | "moon-night-mode" | "mouse-big" | "mouse-scroll" | "move" | "music-play-resume" | "music-stop" | "mute" | "network-storage-alert" | "notebook" | "notebook-add-plus" | "notebook-open" | "notebook-pen-edit" | "notes-pen" | "object-search-zoom-plus" | "open" | "orientation-3d-axial-acquisition" | "orientation-3d-coronal" | "orientation-3d-reformat" | "orientation-3d-sagittal" | "paint-roller" | "pause" | "pen-edit-circle" | "pen-edit-compose-new" | "pencil-edit-create" | "photo-edit-brightness-invert" | "pie-chart" | "pie-graph-chart-sample" | "plus-add-rectangle" | "polygon" | "private-mode-protection-circle" | "protection-target" | "protective-mask" | "question-circle" | "quote" | "radiology-scan" | "radiology-scan-circle" | "reader-studies" | "rotate" | "rotate-arrow-manual" | "rotate-item-left" | "rotate-item-right" | "rotate-refresh" | "ruler" | "ruler-bidirectional" | "scanner" | "search" | "search-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server-checkmark" | "server-database-endpoint" | "server-databases-checkmark-user" | "server-databases-connect" | "server-databases-download" | "server-databases-key-protection" | "server-databases-minimal-download" | "server-databases-sync" | "server-databases-sync-import" | "server-upload" | "servers-database" | "setting-gear" | "settings-adjust" | "settings-gear" | "settings-gear-square" | "settings-select" | "shapes-objects" | "share" | "shield-protect" | "show-visible" | "smiley-emoji-face" | "speed-dashboard" | "square-fill" | "square-fill-outline" | "square-outline" | "star" | "star-ai-artificial-intelligence" | "stars-light-sparkle" | "stomach" | "stop-minus" | "stretch-vertical" | "substract-group" | "switch" | "target" | "target-space-object-select" | "task-list-add-checkmark" | "tasklist-to-do-checkmark" | "technology-cube-3d" | "test-lab-flask" | "text-bold" | "text-cross" | "text-h1" | "text-h2" | "text-input-form" | "text-long" | "text-short-form-element" | "text-underline" | "thumbs-down-dislike" | "thumbs-up-like" | "timer-clock-style" | "trash-bin-warning" | "trash-delete" | "twitter" | "undone-uncheck-untracked" | "unlimited-repeat-subscription-circle" | "upload" | "user" | "user-checked" | "user-delete-cross" | "user-document" | "user-group" | "user-key" | "user-lock" | "user-profile-cards-pool" | "user-profile-group-discovery" | "user-setting-gear" | "video-player-controls" | "visible-eye-hidden" | "volume-full" | "warning" | "warning-circle" | "window-finder-resize-arrow-down" | "window-finder-resize-arrow-up" | "window-resize-left" | "window-resize-right" | "window-zoom-plus-loupe" | "windows" | "workspace-mode" | "youtube" | "zendesk-logo">;
2569
- select: EventEmitter<FwTabComponent>;
2645
+ readonly select: _angular_core.OutputEmitterRef<FwTabComponent>;
2570
2646
  readonly active: _angular_core.ModelSignal<boolean>;
2571
2647
  readonly disabled: _angular_core.InputSignal<boolean>;
2572
2648
  readonly tabindex: _angular_core.InputSignal<string>;
2573
- get cssClass(): string;
2649
+ readonly cssClass: _angular_core.Signal<string>;
2650
+ readonly computedTabindex: _angular_core.Signal<string>;
2651
+ focus(): void;
2574
2652
  onClick(): void;
2575
- keyEvent(event: KeyboardEvent): void;
2653
+ onKeydownEnter(): void;
2654
+ onKeydownSpace(event: Event): void;
2576
2655
  handleSelect(): void;
2577
2656
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FwTabComponent, never>;
2578
2657
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FwTabComponent, "fw-tab", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "panel": { "alias": "panel"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; }, { "select": "select"; "active": "activeChange"; }, never, ["fw-badge"], true, never>;
@@ -2586,10 +2665,11 @@ declare class FwTabsComponent implements AfterContentInit, OnDestroy {
2586
2665
  readonly activeTabIndex: _angular_core.ModelSignal<number>;
2587
2666
  readonly activeTab: _angular_core.ModelSignal<FwTabComponent>;
2588
2667
  readonly bordered: _angular_core.InputSignal<boolean>;
2589
- select: EventEmitter<FwTabComponent>;
2668
+ readonly select: _angular_core.OutputEmitterRef<FwTabComponent>;
2590
2669
  tabs: QueryList<FwTabComponent>;
2591
- get cssClass(): string;
2670
+ readonly cssClass: _angular_core.Signal<string>;
2592
2671
  private subscriptions;
2672
+ onKeydown(event: KeyboardEvent): void;
2593
2673
  ngOnDestroy(): void;
2594
2674
  ngAfterContentInit(): void;
2595
2675
  handleTabChange(tab: FwTabComponent): void;
@@ -2728,6 +2808,7 @@ declare class FwTypeaheadComponent implements ControlValueAccessor {
2728
2808
  outsideClick(): void;
2729
2809
  trigger: _angular_core.Signal<CdkMenuTrigger>;
2730
2810
  changeDetector: ChangeDetectorRef;
2811
+ readonly listboxId: string;
2731
2812
  loading: _angular_core.ModelSignal<boolean>;
2732
2813
  disabled: _angular_core.ModelSignal<boolean>;
2733
2814
  touched: _angular_core.WritableSignal<boolean>;
@@ -2774,6 +2855,8 @@ declare class FwTypeaheadComponent implements ControlValueAccessor {
2774
2855
  focusedIndex: _angular_core.WritableSignal<number>;
2775
2856
  focusedOption: _angular_core.Signal<string>;
2776
2857
  inputRef: _angular_core.Signal<ElementRef<HTMLInputElement>>;
2858
+ isMenuOpen(): boolean;
2859
+ getActiveDescendantId(): string | undefined;
2777
2860
  focusInput(): void;
2778
2861
  onFocusLoss(_: Event): void;
2779
2862
  keyHandlerMap: {