@flywheel-io/vision 19.7.0 → 20.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/fesm2022/flywheel-io-vision.mjs +832 -805
  2. package/fesm2022/flywheel-io-vision.mjs.map +1 -1
  3. package/flywheel-io-vision-20.0.0-beta.0.tgz +0 -0
  4. package/index.d.ts +2820 -3
  5. package/package.json +5 -5
  6. package/color.utils.d.ts +0 -2
  7. package/components/alert/alert.component.d.ts +0 -16
  8. package/components/alert/alert.module.d.ts +0 -13
  9. package/components/app-icon/app-icon.component.d.ts +0 -23
  10. package/components/app-icon/app-icon.module.d.ts +0 -12
  11. package/components/avatar/avatar.component.d.ts +0 -30
  12. package/components/avatar/avatar.module.d.ts +0 -12
  13. package/components/avatar-list/avatar-list.component.d.ts +0 -24
  14. package/components/badge/badge.component.d.ts +0 -16
  15. package/components/badge/badge.module.d.ts +0 -11
  16. package/components/breadcrumbs/breadcrumbs.component.d.ts +0 -13
  17. package/components/breadcrumbs/breadcrumbs.module.d.ts +0 -13
  18. package/components/breadcrumbs/crumb.component.d.ts +0 -16
  19. package/components/button/button.component.d.ts +0 -20
  20. package/components/button/button.directives.d.ts +0 -37
  21. package/components/button/button.module.d.ts +0 -14
  22. package/components/button-group/button-group.component.d.ts +0 -36
  23. package/components/button-group/button-group.module.d.ts +0 -13
  24. package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +0 -26
  25. package/components/button-toggle/button-toggle.component.d.ts +0 -39
  26. package/components/button-toggle/button-toggle.module.d.ts +0 -13
  27. package/components/card/card-attribute/card-attribute.component.d.ts +0 -12
  28. package/components/card/card-author/card-author.component.d.ts +0 -11
  29. package/components/card/card-content/card-content.component.d.ts +0 -9
  30. package/components/card/card-footer/card-footer.component.d.ts +0 -13
  31. package/components/card/card-header/card-header.component.d.ts +0 -14
  32. package/components/card/card.component.d.ts +0 -16
  33. package/components/card/card.module.d.ts +0 -18
  34. package/components/checkbox/checkbox.component.d.ts +0 -27
  35. package/components/checkbox/checkbox.module.d.ts +0 -12
  36. package/components/chip/chip.component.d.ts +0 -26
  37. package/components/chip/chip.module.d.ts +0 -13
  38. package/components/chip-list/chip-list.component.d.ts +0 -21
  39. package/components/contained-input/contained-input.component.d.ts +0 -27
  40. package/components/contained-input/contained-input.module.d.ts +0 -15
  41. package/components/date-input/date-input.component.d.ts +0 -51
  42. package/components/date-input/date-input.module.d.ts +0 -13
  43. package/components/dialog/dialog-actions.component.d.ts +0 -13
  44. package/components/dialog/dialog-confirm.component.d.ts +0 -42
  45. package/components/dialog/dialog-content.component.d.ts +0 -14
  46. package/components/dialog/dialog-header.component.d.ts +0 -13
  47. package/components/dialog/dialog-simple.component.d.ts +0 -39
  48. package/components/dialog/dialog.component.d.ts +0 -39
  49. package/components/dialog/dialog.service.d.ts +0 -22
  50. package/components/dialog/dialogs.module.d.ts +0 -20
  51. package/components/form-heading/form-heading.component.d.ts +0 -16
  52. package/components/form-heading/form-heading.module.d.ts +0 -14
  53. package/components/forms/validators.d.ts +0 -29
  54. package/components/icon/icon.component.d.ts +0 -22
  55. package/components/icon/icon.module.d.ts +0 -11
  56. package/components/icon/icon.types.d.ts +0 -2
  57. package/components/icon-button/icon-button.component.d.ts +0 -17
  58. package/components/icon-button/icon-button.module.d.ts +0 -12
  59. package/components/layouts/context/context.component.d.ts +0 -23
  60. package/components/layouts/grid/grid.component.d.ts +0 -23
  61. package/components/layouts/layout-group.component.d.ts +0 -13
  62. package/components/layouts/layouts.module.d.ts +0 -17
  63. package/components/layouts/panel/panel.component.d.ts +0 -15
  64. package/components/layouts/sidebar/sidebar.component.d.ts +0 -13
  65. package/components/layouts/toolbar/toolbar.component.d.ts +0 -11
  66. package/components/menu/menu-close-triggers.directive.d.ts +0 -11
  67. package/components/menu/menu-container/menu-container.component.d.ts +0 -62
  68. package/components/menu/menu-header/menu-header.component.d.ts +0 -9
  69. package/components/menu/menu-item/menu-item.component.d.ts +0 -50
  70. package/components/menu/menu-item-group/menu-item-group.component.d.ts +0 -20
  71. package/components/menu/menu-separator/menu-separator.component.d.ts +0 -10
  72. package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +0 -25
  73. package/components/menu/menu.component.d.ts +0 -34
  74. package/components/menu/menu.module.d.ts +0 -27
  75. package/components/navbar/navbar-header/navbar-header.component.d.ts +0 -9
  76. package/components/navbar/navbar-item/navbar-item.component.d.ts +0 -32
  77. package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +0 -22
  78. package/components/navbar/navbar.component.d.ts +0 -18
  79. package/components/navbar/navbar.module.d.ts +0 -21
  80. package/components/number-input/number-input.component.d.ts +0 -46
  81. package/components/number-input/number-input.module.d.ts +0 -13
  82. package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +0 -36
  83. package/components/paginator/paginator.component.d.ts +0 -47
  84. package/components/paginator/paginator.model.d.ts +0 -8
  85. package/components/paginator/paginator.module.d.ts +0 -17
  86. package/components/phone-input/country-code.data.d.ts +0 -2
  87. package/components/phone-input/phone-input.component.d.ts +0 -70
  88. package/components/phone-input/phone-input.model.d.ts +0 -10
  89. package/components/phone-input/phone-input.module.d.ts +0 -16
  90. package/components/popover/popover-panel/popover-panel.component.d.ts +0 -14
  91. package/components/popover/popover.component.d.ts +0 -36
  92. package/components/popover/popover.module.d.ts +0 -14
  93. package/components/progress/bar/bar.component.d.ts +0 -35
  94. package/components/progress/progress.module.d.ts +0 -12
  95. package/components/progress/spinner/spinner.component.d.ts +0 -40
  96. package/components/radio/radio-group.component.d.ts +0 -34
  97. package/components/radio/radio.component.d.ts +0 -21
  98. package/components/radio/radio.module.d.ts +0 -13
  99. package/components/section-heading/back-button/back-button.component.d.ts +0 -15
  100. package/components/section-heading/section-heading.component.d.ts +0 -17
  101. package/components/section-heading/section-heading.module.d.ts +0 -15
  102. package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +0 -13
  103. package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +0 -81
  104. package/components/select-menu/select-menu.component.d.ts +0 -117
  105. package/components/select-menu/select-menu.module.d.ts +0 -20
  106. package/components/shared/services/menu-manager.service.d.ts +0 -10
  107. package/components/shared/translation.service.d.ts +0 -14
  108. package/components/snackbar/snackbar/snackbar.component.d.ts +0 -32
  109. package/components/snackbar/snackbar-container/snackbar-container.component.d.ts +0 -23
  110. package/components/snackbar/snackbar-message.model.d.ts +0 -14
  111. package/components/snackbar/snackbar-timer.service.d.ts +0 -10
  112. package/components/snackbar/snackbar.module.d.ts +0 -15
  113. package/components/snackbar/snackbar.service.d.ts +0 -13
  114. package/components/stepper/step.component.d.ts +0 -31
  115. package/components/stepper/stepper.component.d.ts +0 -27
  116. package/components/stepper/stepper.module.d.ts +0 -14
  117. package/components/switch/switch.component.d.ts +0 -26
  118. package/components/switch/switch.module.d.ts +0 -11
  119. package/components/table/cell.d.ts +0 -63
  120. package/components/table/row.d.ts +0 -60
  121. package/components/table/table-dense.component.d.ts +0 -15
  122. package/components/table/table.component.d.ts +0 -15
  123. package/components/table/table.module.d.ts +0 -15
  124. package/components/tabs/tab/tab.component.d.ts +0 -25
  125. package/components/tabs/tab-panel/tab-panel.component.d.ts +0 -10
  126. package/components/tabs/tabs.component.d.ts +0 -21
  127. package/components/tabs/tabs.module.d.ts +0 -14
  128. package/components/tag/tag.component.d.ts +0 -13
  129. package/components/tag/tag.module.d.ts +0 -12
  130. package/components/text/text.component.d.ts +0 -16
  131. package/components/text-input/text-input.component.d.ts +0 -53
  132. package/components/text-input/text-input.module.d.ts +0 -14
  133. package/components/textarea-input/textarea-input.component.d.ts +0 -40
  134. package/components/textarea-input/textarea-input.module.d.ts +0 -14
  135. package/components/timezone-select/time-zone-select.component.d.ts +0 -38
  136. package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +0 -27
  137. package/components/tooltip/tooltip.component.d.ts +0 -28
  138. package/components/tooltip/tooltip.directive.d.ts +0 -67
  139. package/components/tooltip/tooltip.module.d.ts +0 -16
  140. package/components/typeahead/typeahead.component.d.ts +0 -72
  141. package/components/wrapped-input/wrapped-input.component.d.ts +0 -18
  142. package/components/wrapped-input/wrapped-input.module.d.ts +0 -12
  143. package/directives/NoopValueAccessor.directive.d.ts +0 -15
  144. package/directives/menu-register.directive.d.ts +0 -14
  145. package/public-api.d.ts +0 -136
package/index.d.ts CHANGED
@@ -1,5 +1,2822 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, OnDestroy, ElementRef, ChangeDetectorRef, EventEmitter, AfterContentInit, QueryList, OnChanges, SimpleChanges, AfterViewInit, NgZone, TrackByFunction, WritableSignal, TemplateRef } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { Location } from '@angular/common';
5
+ import { SafeStyle, DomSanitizer } from '@angular/platform-browser';
6
+ import * as i2 from '@angular/forms';
7
+ import { ControlValueAccessor, FormControl, ValidatorFn, AbstractControl, NgControl } from '@angular/forms';
8
+ import * as i2$1 from '@angular/cdk/dialog';
9
+ import { DialogRef, Dialog, DialogConfig } from '@angular/cdk/dialog';
10
+ import * as i3 from '@angular/cdk/overlay';
11
+ import { OverlayContainer, ComponentType, CdkOverlayOrigin, ConnectedPosition, OverlayConfig, FlexibleConnectedPositionStrategyOrigin, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';
12
+ import * as i1$2 from '@angular/cdk/menu';
13
+ import { CdkMenuTrigger } from '@angular/cdk/menu';
14
+ import { Subscription, Observable, BehaviorSubject, min } from 'rxjs';
15
+ import * as i4 from '@angular/cdk/table';
16
+ import { CdkCell, CdkCellDef, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkHeaderCell, CdkHeaderCellDef, CdkFooterRow, CdkFooterRowDef, CdkHeaderRow, CdkHeaderRowDef, CdkNoDataRow, CdkRow, CdkRowDef, CdkTable } from '@angular/cdk/table';
17
+ export { CdkTableModule } from '@angular/cdk/table';
18
+ import * as i1$1 from '@angular/cdk/coercion';
19
+ import { BooleanInput } from '@angular/cdk/coercion';
20
+ import { E164Number, CountryCode } from 'libphonenumber-js';
21
+ import * as i3$1 from '@angular/cdk/text-field';
22
+ import { CdkTextareaAutosize } from '@angular/cdk/text-field';
23
+
1
24
  /**
2
- * Generated bundle index. Do not edit.
25
+ * Component for displaying a warning or context to a user, typically at the top of a page
26
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-alert--docs)
3
27
  */
4
- /// <amd-module name="@flywheel-io/vision" />
5
- export * from './public-api';
28
+ declare class FwAlertComponent {
29
+ description: i0.InputSignal<string>;
30
+ icon: i0.InputSignal<"search" | "link" | "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-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" | "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-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "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" | "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-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server" | "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">;
31
+ severity: i0.InputSignal<"warning" | "error" | "success" | "info">;
32
+ title: i0.InputSignal<string>;
33
+ variant: i0.InputSignal<"standard" | "outlined" | "filled">;
34
+ showClose: i0.InputSignal<boolean>;
35
+ close: i0.OutputEmitterRef<void>;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwAlertComponent, never>;
37
+ static ɵcmp: i0.ɵɵ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
+ }
39
+
40
+ type NamedIconSize = 'large' | 'medium' | 'small' | 'extra-small';
41
+ type IconSize = NamedIconSize | number;
42
+ /**
43
+ * Component for rendering a Vision icon ligature with configurable size and color
44
+ * @see [All Icons List](https://cdn.flywheel.io/docs/vision/master/?path=/docs/reference-icons--docs)
45
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-icons--docs)
46
+ */
47
+ declare class FwIconComponent {
48
+ private sanitizer;
49
+ size: number;
50
+ color?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'muted' | 'typography';
51
+ class: string;
52
+ role: string;
53
+ get style(): SafeStyle;
54
+ constructor(sanitizer: DomSanitizer);
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwIconComponent, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwIconComponent, "fw-icon", never, { "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, ["*"], true, never>;
57
+ static ngAcceptInputType_size: IconSize;
58
+ }
59
+
60
+ /**
61
+ * @deprecated import component directly, intent to remove in v20
62
+ */
63
+ declare class FwIconModule {
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwIconModule, never>;
65
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwIconModule, never, [typeof i1.CommonModule, typeof FwIconComponent], [typeof FwIconComponent]>;
66
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwIconModule>;
67
+ }
68
+
69
+ type ColorOption = 'primary' | 'secondary' | 'red' | 'error' | 'warning' | 'orange' | 'success' | 'green' | 'light-slate' | 'slate' | 'overlay' | 'info';
70
+ /**
71
+ * Component for a clickable icon-only button with configurable color, size, and selected state
72
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-icon-button--docs)
73
+ */
74
+ declare class FwIconButtonComponent {
75
+ color: i0.InputSignal<ColorOption>;
76
+ icon: i0.InputSignal<"search" | "link" | "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-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" | "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-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "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" | "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-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server" | "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">;
77
+ size: i0.InputSignal<"small" | "large" | "medium">;
78
+ disabled: i0.InputSignal<boolean>;
79
+ selected: i0.InputSignal<boolean>;
80
+ border: i0.InputSignal<boolean>;
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwIconButtonComponent, never>;
82
+ static ɵcmp: i0.ɵɵ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>;
83
+ }
84
+
85
+ /**
86
+ * @deprecated import component directly, intent to remove in v20
87
+ */
88
+ declare class FwIconButtonModule {
89
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwIconButtonModule, never>;
90
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwIconButtonModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwIconButtonComponent], [typeof FwIconButtonComponent]>;
91
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwIconButtonModule>;
92
+ }
93
+
94
+ /**
95
+ * @deprecated import component directly, intent to remove in v20
96
+ */
97
+ declare class FwAlertModule {
98
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwAlertModule, never>;
99
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwAlertModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwIconButtonModule, typeof FwAlertComponent], [typeof FwAlertComponent]>;
100
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwAlertModule>;
101
+ }
102
+
103
+ type IconType = typeof allIcons[number];
104
+ declare const allIcons: readonly ["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-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", "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", "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", "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", "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"];
105
+
106
+ /**
107
+ * Component for displaying an application icon with configurable color, size, variant, and optional badge
108
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-app-icon--docs)
109
+ */
110
+ declare class FwAppIconComponent {
111
+ title?: string;
112
+ icon?: IconType;
113
+ imageUrl?: string;
114
+ color?: 'primary' | 'dark' | 'light' | 'gradient' | 'transparent';
115
+ fontColor?: 'contrast' | 'base';
116
+ size?: 'small' | 'medium' | 'large' | 'extra-large';
117
+ variant?: 'interactive' | 'hover' | 'focused' | 'static';
118
+ badge?: string;
119
+ tabindex: string;
120
+ locked?: boolean;
121
+ animated?: boolean;
122
+ role: string;
123
+ get cssClass(): string;
124
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwAppIconComponent, never>;
125
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwAppIconComponent, "fw-app-icon", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "color": { "alias": "color"; "required": false; }; "fontColor": { "alias": "fontColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "animated": { "alias": "animated"; "required": false; }; }, {}, never, never, true, never>;
126
+ }
127
+
128
+ /**
129
+ * @deprecated import component directly, intent to remove in v20
130
+ */
131
+ declare class FwAppIconModule {
132
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwAppIconModule, never>;
133
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwAppIconModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwAppIconComponent], [typeof FwAppIconComponent]>;
134
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwAppIconModule>;
135
+ }
136
+
137
+ type AvatarColorOption = 'primary' | 'secondary' | 'red' | 'light-slate' | 'slate' | 'warning' | 'success';
138
+ /**
139
+ * Component for displaying a person or other entity, such as companies
140
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-avatar--docs)
141
+ */
142
+ declare class FwAvatarComponent {
143
+ bordered: i0.InputSignal<boolean>;
144
+ color: i0.InputSignal<AvatarColorOption>;
145
+ colorSeed: i0.ModelSignal<string>;
146
+ content: i0.InputSignal<"image" | "icon" | "initial">;
147
+ icon: i0.InputSignal<"search" | "link" | "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-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" | "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-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "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" | "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-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server" | "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">;
148
+ imageAltText: i0.InputSignal<string>;
149
+ imageUrl: i0.InputSignal<string>;
150
+ initial: i0.InputSignal<string>;
151
+ selectable: i0.InputSignal<boolean>;
152
+ selected: i0.ModelSignal<boolean>;
153
+ size: i0.InputSignal<"small" | "large" | "medium" | "x-large">;
154
+ variant: i0.InputSignal<"circular" | "rounded" | "square">;
155
+ hostClasses: i0.Signal<string>;
156
+ onClick(): void;
157
+ hasedColor: i0.Signal<string>;
158
+ colorToDisplay: i0.Signal<string>;
159
+ isImageBroken: i0.WritableSignal<boolean>;
160
+ loadImage(): void;
161
+ errorImage(): void;
162
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwAvatarComponent, never>;
163
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwAvatarComponent, "fw-avatar", never, { "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "colorSeed": { "alias": "colorSeed"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "imageAltText": { "alias": "imageAltText"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; "initial": { "alias": "initial"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "colorSeed": "colorSeedChange"; "selected": "selectedChange"; }, never, never, true, never>;
164
+ }
165
+
166
+ /**
167
+ * @deprecated import component directly, intent to remove in v20
168
+ */
169
+ declare class FwAvatarModule {
170
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwAvatarModule, never>;
171
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwAvatarModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwAvatarComponent], [typeof FwAvatarComponent]>;
172
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwAvatarModule>;
173
+ }
174
+
175
+ /**
176
+ * Component for displaying and managing the overflow of a list of `fw-avatar`s
177
+ * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-avatar-list--docs)
178
+ */
179
+ declare class FwAvatarListComponent implements OnInit, OnDestroy {
180
+ private subscriptions;
181
+ hostElement: ElementRef<any>;
182
+ avatars: i0.Signal<readonly FwAvatarComponent[]>;
183
+ avatarElementRefs: i0.Signal<readonly ElementRef<any>[]>;
184
+ moreText: i0.Signal<ElementRef<HTMLParagraphElement>>;
185
+ changeDetector: ChangeDetectorRef;
186
+ resizeDebounceMs: i0.InputSignal<number>;
187
+ ngOnInit(): void;
188
+ applyBorderToChildAvatars: i0.EffectRef;
189
+ childrenChanged: i0.EffectRef;
190
+ hiddenAvatars: i0.WritableSignal<any[]>;
191
+ calcOverflow(): void;
192
+ ngOnDestroy(): void;
193
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwAvatarListComponent, never>;
194
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwAvatarListComponent, "fw-avatar-list", never, { "resizeDebounceMs": { "alias": "resizeDebounceMs"; "required": false; "isSignal": true; }; }, {}, ["avatars", "avatarElementRefs"], ["fw-avatar"], true, never>;
195
+ }
196
+
197
+ /**
198
+ * Component for displaying a small numeric or dot badge overlay, typically used to indicate counts or status
199
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-badge--docs)
200
+ */
201
+ declare class FwBadgeComponent {
202
+ color?: 'default' | 'primary' | 'secondary' | 'error' | 'warning' | 'success';
203
+ variant?: 'standard' | 'dot' | 'static';
204
+ value?: string;
205
+ hideZero?: boolean;
206
+ hideEmpty?: boolean;
207
+ get cssClass(): string;
208
+ showBadge(): boolean;
209
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwBadgeComponent, never>;
210
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwBadgeComponent, "fw-badge", never, { "color": { "alias": "color"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "value": { "alias": "value"; "required": false; }; "hideZero": { "alias": "hideZero"; "required": false; }; "hideEmpty": { "alias": "hideEmpty"; "required": false; }; }, {}, never, ["*"], true, never>;
211
+ }
212
+
213
+ /**
214
+ * @deprecated import component directly, intent to remove in v20
215
+ */
216
+ declare class FwBadgeModule {
217
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwBadgeModule, never>;
218
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwBadgeModule, never, [typeof i1.CommonModule, typeof FwBadgeComponent], [typeof FwBadgeComponent]>;
219
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwBadgeModule>;
220
+ }
221
+
222
+ /**
223
+ * Individual breadcrumb item with a title, optional href navigation, and a separator that is hidden on the last crumb
224
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-breadcrumbs--docs)
225
+ */
226
+ declare class FwCrumbComponent {
227
+ title: string;
228
+ description?: string;
229
+ href?: string;
230
+ last?: boolean;
231
+ click: EventEmitter<Event>;
232
+ handleClick(evt: Event): void;
233
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCrumbComponent, never>;
234
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCrumbComponent, "fw-crumb", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "href": { "alias": "href"; "required": false; }; "last": { "alias": "last"; "required": false; }; }, { "click": "click"; }, never, never, true, never>;
235
+ }
236
+
237
+ /**
238
+ * Component for rendering a horizontal trail of navigation crumbs, automatically marking the last crumb as current
239
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-breadcrumbs--docs)
240
+ */
241
+ declare class FwBreadcrumbsComponent implements AfterContentInit {
242
+ crumbs: QueryList<FwCrumbComponent>;
243
+ ngAfterContentInit(): void;
244
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwBreadcrumbsComponent, never>;
245
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwBreadcrumbsComponent, "fw-breadcrumbs", never, {}, {}, ["crumbs"], ["fw-crumb"], true, never>;
246
+ }
247
+
248
+ /**
249
+ * @deprecated import component directly, intent to remove in v20
250
+ */
251
+ declare class FwBreadcrumbsModule {
252
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwBreadcrumbsModule, never>;
253
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwBreadcrumbsModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwBreadcrumbsComponent, typeof FwCrumbComponent], [typeof FwBreadcrumbsComponent, typeof FwCrumbComponent]>;
254
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwBreadcrumbsModule>;
255
+ }
256
+
257
+ /**
258
+ * Component for a styled action button with configurable color, size, variant, and optional icons
259
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-button--docs)
260
+ */
261
+ declare class FwButtonComponent {
262
+ get classes(): string;
263
+ color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';
264
+ size?: 'small' | 'medium' | 'large';
265
+ variant?: 'ghost' | 'solid' | 'outline' | 'progress';
266
+ type?: 'button' | 'submit' | 'reset';
267
+ disabled?: boolean;
268
+ fullWidth?: boolean;
269
+ leftIcon?: IconType;
270
+ rightIcon?: IconType;
271
+ getMappedColor(): 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green' | undefined;
272
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonComponent, never>;
273
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwButtonComponent, "fw-button", never, { "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; }, {}, never, ["*"], true, never>;
274
+ }
275
+
276
+ declare class FwButtonDirective {
277
+ private sanitizer;
278
+ get style(): SafeStyle;
279
+ constructor(sanitizer: DomSanitizer);
280
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonDirective, never>;
281
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwButtonDirective, "[fwButton]", never, {}, {}, never, never, true, never>;
282
+ }
283
+ declare class FwButtonPrimaryDirective {
284
+ private sanitizer;
285
+ get style(): SafeStyle;
286
+ constructor(sanitizer: DomSanitizer);
287
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonPrimaryDirective, never>;
288
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwButtonPrimaryDirective, "[fwButtonPrimary]", never, {}, {}, never, never, true, never>;
289
+ }
290
+ declare class FwButtonSecondaryDirective {
291
+ private sanitizer;
292
+ get style(): SafeStyle;
293
+ constructor(sanitizer: DomSanitizer);
294
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonSecondaryDirective, never>;
295
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwButtonSecondaryDirective, "[fwButtonSecondary]", never, {}, {}, never, never, true, never>;
296
+ }
297
+ declare class FwButtonDangerDirective {
298
+ private sanitizer;
299
+ get style(): SafeStyle;
300
+ constructor(sanitizer: DomSanitizer);
301
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonDangerDirective, never>;
302
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwButtonDangerDirective, "[fwButtonDanger]", never, {}, {}, never, never, true, never>;
303
+ }
304
+ declare class FwButtonSuccessDirective {
305
+ private sanitizer;
306
+ get style(): SafeStyle;
307
+ constructor(sanitizer: DomSanitizer);
308
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonSuccessDirective, never>;
309
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwButtonSuccessDirective, "[fwButtonSuccess]", never, {}, {}, never, never, true, never>;
310
+ }
311
+
312
+ /**
313
+ * Component for a horizontal progress bar supporting determinate, indeterminate, and buffer modes
314
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-progress-bar--docs)
315
+ */
316
+ declare class FwProgressBarComponent {
317
+ readonly _elementRef: ElementRef<HTMLElement>;
318
+ private _changeDetectorRef;
319
+ /** The element of the determinate spinner. */
320
+ _determinateCircle: ElementRef<HTMLElement>;
321
+ constructor(_elementRef: ElementRef<HTMLElement>, _changeDetectorRef: ChangeDetectorRef);
322
+ /** Mode of the progress bar. **/
323
+ mode: 'determinate' | 'indeterminate' | 'buffer';
324
+ /** Color of the progress bar. **/
325
+ color: 'primary' | 'secondary' | 'orange' | 'red' | 'green';
326
+ /** Whether to show the value percentage label on the progress bar. **/
327
+ showValue: boolean;
328
+ /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. **/
329
+ get value(): number;
330
+ set value(v: number);
331
+ private _value;
332
+ /** Buffer value of the progress bar. Defaults to zero. */
333
+ get bufferValue(): number;
334
+ set bufferValue(v: number);
335
+ private _bufferValue;
336
+ /** Gets the transform style that should be applied to the primary bar. */
337
+ _getPrimaryBarTransform(): string;
338
+ /** Gets the `flex-basis` value that should be applied to the buffer bar. */
339
+ _getBufferBarFlexBasis(): string;
340
+ /** Returns whether the progress bar is indeterminate. */
341
+ _isIndeterminate(): boolean;
342
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwProgressBarComponent, never>;
343
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwProgressBarComponent, "fw-progress-bar", never, { "mode": { "alias": "mode"; "required": false; }; "color": { "alias": "color"; "required": false; }; "showValue": { "alias": "showValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "bufferValue": { "alias": "bufferValue"; "required": false; }; }, {}, never, never, true, never>;
344
+ }
345
+
346
+ /**
347
+ * Component for a circular progress spinner supporting determinate and indeterminate modes
348
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-progress-spinner--docs)
349
+ */
350
+ declare class FwProgressSpinnerComponent {
351
+ readonly _elementRef: ElementRef<HTMLElement>;
352
+ /** The element of the determinate spinner. */
353
+ _determinateCircle: ElementRef<HTMLElement>;
354
+ constructor(_elementRef: ElementRef<HTMLElement>);
355
+ /** Mode of the progress spinner. **/
356
+ mode: 'determinate' | 'indeterminate';
357
+ /** Size of the progress spinner. **/
358
+ size: 'small' | 'medium';
359
+ /** Color of the progress spinner. **/
360
+ color?: 'primary' | 'secondary' | 'red' | 'slate' | 'orange' | 'green';
361
+ /** Whether to show the value percentage label on the progress spinner. **/
362
+ showValue: boolean;
363
+ /** Value of the progress spinner. Defaults to zero. Mirrored to aria-valuenow. **/
364
+ get value(): number;
365
+ set value(v: number);
366
+ private _value;
367
+ private _diameter;
368
+ private _strokeWidth;
369
+ /** The diameter of the progress spinner (will set width and height of svg). */
370
+ get diameter(): number;
371
+ /** The radius of the spinner, adjusted for stroke width. */
372
+ _circleRadius(): number;
373
+ /** The view box of the spinner's svg element. */
374
+ _viewBox(): string;
375
+ /** The stroke circumference of the svg circle. */
376
+ _strokeCircumference(): number;
377
+ /** The dash offset of the svg circle. */
378
+ _strokeDashOffset(): number;
379
+ /** Stroke width of the circle in percent. */
380
+ _circleStrokeWidth(): number;
381
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwProgressSpinnerComponent, never>;
382
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwProgressSpinnerComponent, "fw-progress-spinner", never, { "mode": { "alias": "mode"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "showValue": { "alias": "showValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, true, never>;
383
+ }
384
+
385
+ /**
386
+ * @deprecated import component directly, intent to remove in v20
387
+ */
388
+ declare class FwProgressModule {
389
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwProgressModule, never>;
390
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwProgressModule, never, [typeof i1.CommonModule, typeof FwProgressBarComponent, typeof FwProgressSpinnerComponent], [typeof FwProgressBarComponent, typeof FwProgressSpinnerComponent]>;
391
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwProgressModule>;
392
+ }
393
+
394
+ /**
395
+ * @deprecated import component directly, intent to remove in v20
396
+ */
397
+ declare class FwButtonModule {
398
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonModule, never>;
399
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwButtonModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwProgressModule, typeof FwButtonComponent, typeof FwButtonDirective, typeof FwButtonDangerDirective, typeof FwButtonPrimaryDirective, typeof FwButtonSecondaryDirective, typeof FwButtonSuccessDirective], [typeof FwButtonComponent, typeof FwButtonDirective, typeof FwButtonDangerDirective, typeof FwButtonPrimaryDirective, typeof FwButtonSecondaryDirective, typeof FwButtonSuccessDirective]>;
400
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwButtonModule>;
401
+ }
402
+
403
+ /**
404
+ * Individual toggle button item used inside a button-toggle or button-group, with icon, title, and selected state
405
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-button-toggle--docs)
406
+ */
407
+ declare class FwButtonToggleItemComponent {
408
+ title?: string;
409
+ icon?: IconType;
410
+ selectedIcon?: IconType;
411
+ value?: string;
412
+ selected: boolean;
413
+ disabled: boolean;
414
+ size?: 'small' | 'medium' | 'large';
415
+ color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';
416
+ selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';
417
+ selectedStyle?: 'background' | 'foreground';
418
+ fullWidth: i0.ModelSignal<boolean>;
419
+ click: EventEmitter<string>;
420
+ get classes(): string;
421
+ constructor();
422
+ handleClick(): void;
423
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonToggleItemComponent, never>;
424
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwButtonToggleItemComponent, "fw-button-toggle-item", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "selectedIcon": { "alias": "selectedIcon"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "selectedColor": { "alias": "selectedColor"; "required": false; }; "selectedStyle": { "alias": "selectedStyle"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, { "fullWidth": "fullWidthChange"; "click": "click"; }, never, never, true, never>;
425
+ }
426
+
427
+ /**
428
+ * Component for a multi-select group of toggle buttons that supports Angular forms and emits selected values as an array
429
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-button-group--docs)
430
+ */
431
+ declare class FwButtonGroupComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {
432
+ layout?: 'basic' | 'compact';
433
+ size?: 'small' | 'medium' | 'large';
434
+ disabled?: boolean;
435
+ color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';
436
+ selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';
437
+ fullWidth: boolean;
438
+ get classes(): string;
439
+ toggleButtons: QueryList<FwButtonToggleItemComponent>;
440
+ private subscriptions;
441
+ change: EventEmitter<string[]>;
442
+ private _value;
443
+ get value(): string[];
444
+ set value(newValue: string[]);
445
+ onChange: (value: string[]) => void;
446
+ onTouched: () => void;
447
+ registerOnChange(fn: (value: string[]) => void): void;
448
+ registerOnTouched(fn: () => void): void;
449
+ setDisabledState?(isDisabled: boolean): void;
450
+ writeValue(value: string[]): void;
451
+ ngOnChanges(changes: SimpleChanges): void;
452
+ ngOnDestroy(): void;
453
+ ngAfterContentInit(): void;
454
+ updateValue(value: string[]): void;
455
+ formatToggles(): void;
456
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonGroupComponent, never>;
457
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwButtonGroupComponent, "fw-button-group", never, { "layout": { "alias": "layout"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "selectedColor": { "alias": "selectedColor"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "change": "change"; }, ["toggleButtons"], ["fw-button-toggle-item,fw-tooltip"], true, never>;
458
+ }
459
+
460
+ /**
461
+ * Component for a single-select group of toggle buttons that supports Angular forms and emits the selected value
462
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-button-toggle--docs)
463
+ */
464
+ declare class FwButtonToggleComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {
465
+ private cdref;
466
+ layout?: 'basic' | 'compact';
467
+ size?: 'small' | 'medium' | 'large';
468
+ disabled?: boolean;
469
+ color?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';
470
+ selectedColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'skeleton' | 'warning' | 'success';
471
+ fullWidth: boolean;
472
+ get classes(): string;
473
+ toggleButtons: QueryList<FwButtonToggleItemComponent>;
474
+ private subscriptions;
475
+ change: EventEmitter<string>;
476
+ private _value;
477
+ get value(): string;
478
+ set value(newValue: string);
479
+ constructor(cdref: ChangeDetectorRef);
480
+ onChange: (value: string) => void;
481
+ onTouched: () => void;
482
+ registerOnChange(fn: (value: string) => void): void;
483
+ registerOnTouched(fn: () => void): void;
484
+ setDisabledState?(isDisabled: boolean): void;
485
+ writeValue(value: string): void;
486
+ ngOnChanges(changes: SimpleChanges): void;
487
+ ngOnDestroy(): void;
488
+ ngAfterContentInit(): void;
489
+ valueChange(value: string): void;
490
+ updateValue(value: string): void;
491
+ formatToggles(): void;
492
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonToggleComponent, never>;
493
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwButtonToggleComponent, "fw-button-toggle", never, { "layout": { "alias": "layout"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "selectedColor": { "alias": "selectedColor"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "change": "change"; }, ["toggleButtons"], ["fw-button-toggle-item,fw-tooltip"], true, never>;
494
+ }
495
+
496
+ /**
497
+ * @deprecated import component directly, intent to remove in v20
498
+ */
499
+ declare class FwButtonToggleModule {
500
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonToggleModule, never>;
501
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwButtonToggleModule, never, [typeof FwButtonModule, typeof FwIconModule, typeof FwButtonToggleComponent, typeof FwButtonToggleItemComponent], [typeof FwButtonToggleComponent, typeof FwButtonToggleItemComponent]>;
502
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwButtonToggleModule>;
503
+ }
504
+
505
+ /**
506
+ * @deprecated import component directly, intent to remove in v20
507
+ */
508
+ declare class FwButtonGroupModule {
509
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwButtonGroupModule, never>;
510
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwButtonGroupModule, never, [typeof FwButtonModule, typeof FwIconModule, typeof FwButtonToggleModule, typeof FwButtonGroupComponent], [typeof FwButtonGroupComponent]>;
511
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwButtonGroupModule>;
512
+ }
513
+
514
+ /**
515
+ * Component for grouping related content and actions into a contained, selectable card surface
516
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-card--docs)
517
+ */
518
+ declare class FwCardComponent {
519
+ value?: object | string;
520
+ disabled?: boolean;
521
+ focused?: boolean;
522
+ constrained?: boolean;
523
+ selectable?: boolean;
524
+ select: EventEmitter<object | string>;
525
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCardComponent, never>;
526
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCardComponent, "fw-card", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "constrained": { "alias": "constrained"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; }, { "select": "select"; }, never, ["fw-card-header", "fw-card-author", "fw-card-content", "fw-card-footer"], true, never>;
527
+ }
528
+
529
+ /**
530
+ * Sub-component for rendering a card's header row with an optional icon, title, and description
531
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-card--docs)
532
+ */
533
+ declare class FwCardHeaderComponent {
534
+ title?: string;
535
+ description?: string;
536
+ leftIcon?: IconType;
537
+ iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'muted' | 'typography';
538
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCardHeaderComponent, never>;
539
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCardHeaderComponent, "fw-card-header", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; }, {}, never, ["fw-app-icon", "*"], true, never>;
540
+ }
541
+
542
+ /**
543
+ * Sub-component for displaying an author's name and detail text inside a card
544
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-card--docs)
545
+ */
546
+ declare class FwCardAuthorComponent {
547
+ name: string;
548
+ details: string;
549
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCardAuthorComponent, never>;
550
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCardAuthorComponent, "fw-card-author", never, { "name": { "alias": "name"; "required": false; }; "details": { "alias": "details"; "required": false; }; }, {}, never, ["fw-avatar"], true, never>;
551
+ }
552
+
553
+ /**
554
+ * Sub-component for wrapping the main content area of a card
555
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-card--docs)
556
+ */
557
+ declare class FwCardContentComponent {
558
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCardContentComponent, never>;
559
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCardContentComponent, "fw-card-content", never, {}, {}, never, ["*"], true, never>;
560
+ }
561
+
562
+ /**
563
+ * Sub-component for displaying a single icon+label attribute row inside a card
564
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-card--docs)
565
+ */
566
+ declare class FwCardAttributeComponent {
567
+ icon: IconType;
568
+ title: string;
569
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCardAttributeComponent, never>;
570
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCardAttributeComponent, "fw-card-attr", never, { "icon": { "alias": "icon"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
571
+ }
572
+
573
+ /**
574
+ * Sub-component for rendering the footer row of a card, laid out with flex and space-between alignment
575
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-card--docs)
576
+ */
577
+ declare class FwCardFooterComponent {
578
+ private sanitizer;
579
+ get style(): SafeStyle;
580
+ constructor(sanitizer: DomSanitizer);
581
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCardFooterComponent, never>;
582
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCardFooterComponent, "fw-card-footer", never, {}, {}, never, ["*"], true, never>;
583
+ }
584
+
585
+ /**
586
+ * @deprecated import component directly, intent to remove in v20
587
+ */
588
+ declare class FwCardModule {
589
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCardModule, never>;
590
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwCardModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwAvatarModule, typeof FwCardHeaderComponent, typeof FwCardAuthorComponent, typeof FwCardContentComponent, typeof FwCardAttributeComponent, typeof FwCardFooterComponent, typeof FwCardComponent], [typeof FwCardHeaderComponent, typeof FwCardAuthorComponent, typeof FwCardContentComponent, typeof FwCardAttributeComponent, typeof FwCardFooterComponent, typeof FwCardComponent]>;
591
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwCardModule>;
592
+ }
593
+
594
+ /**
595
+ * Form control component for a boolean checkbox input, supporting indeterminate state and Angular forms integration
596
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-checkbox--docs)
597
+ */
598
+ declare class FwCheckboxComponent implements ControlValueAccessor {
599
+ name?: string;
600
+ disabled: boolean;
601
+ size: 'medium' | 'compact';
602
+ color: 'primary' | 'secondary';
603
+ title: string;
604
+ focused: boolean;
605
+ get checkboxStyles(): string[];
606
+ checked?: boolean;
607
+ change: EventEmitter<boolean>;
608
+ onChange: (value: boolean) => void;
609
+ onTouched: () => void;
610
+ registerOnChange(fn: (value: boolean) => void): void;
611
+ registerOnTouched(fn: () => void): void;
612
+ setDisabledState(isDisabled: boolean): void;
613
+ writeValue(checked: boolean): void;
614
+ handleClick(): void;
615
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCheckboxComponent, never>;
616
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwCheckboxComponent, "fw-checkbox", never, { "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "title": { "alias": "title"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "change": "change"; }, never, ["*"], true, never>;
617
+ }
618
+
619
+ /**
620
+ * @deprecated import component directly, intent to remove in v20
621
+ */
622
+ declare class FwCheckboxModule {
623
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCheckboxModule, never>;
624
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwCheckboxModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i2.FormsModule, typeof FwCheckboxComponent], [typeof FwCheckboxComponent]>;
625
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwCheckboxModule>;
626
+ }
627
+
628
+ /**
629
+ * Component for a compact, selectable label element that can display an icon, title, description, and an optional close button
630
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-chip--docs)
631
+ */
632
+ declare class FwChipComponent {
633
+ readonly maxWidth: i0.InputSignal<number>;
634
+ value?: object | string;
635
+ variant?: 'enabled' | 'hovered' | 'focused' | 'disabled';
636
+ color?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange';
637
+ icon?: IconType;
638
+ title?: string;
639
+ description?: string;
640
+ showClose?: boolean;
641
+ disabled?: boolean;
642
+ selected?: boolean;
643
+ textWrap?: boolean;
644
+ selectable?: boolean;
645
+ close: EventEmitter<void>;
646
+ select: EventEmitter<object | string>;
647
+ handleClose(event: MouseEvent): void;
648
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwChipComponent, never>;
649
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwChipComponent, "fw-chip", never, { "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "color": { "alias": "color"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "showClose": { "alias": "showClose"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "textWrap": { "alias": "textWrap"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; }, { "close": "close"; "select": "select"; }, never, ["fw-avatar", "fw-progress-spinner"], true, never>;
650
+ }
651
+
652
+ /**
653
+ * @deprecated import component directly, intent to remove in v20
654
+ */
655
+ declare class FwChipModule {
656
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwChipModule, never>;
657
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwChipModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwIconButtonModule, typeof FwChipComponent], [typeof FwChipComponent]>;
658
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwChipModule>;
659
+ }
660
+
661
+ /**
662
+ * Form control component for a labeled row containing a switch or checkbox, toggled by clicking anywhere on the row
663
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-contained-input--docs)
664
+ */
665
+ declare class FwContainedInputComponent implements ControlValueAccessor {
666
+ title: string;
667
+ description?: string;
668
+ status?: string;
669
+ inputPosition?: 'start' | 'end';
670
+ inputVariant?: 'none' | 'switch' | 'checkbox';
671
+ checked?: boolean;
672
+ disabled?: boolean;
673
+ change: EventEmitter<boolean>;
674
+ clicked(): void;
675
+ get classes(): string;
676
+ onTouch: () => void;
677
+ onChange: (value: boolean) => void;
678
+ writeValue(checked: boolean): void;
679
+ registerOnChange(fn: any): void;
680
+ registerOnTouched(fn: any): void;
681
+ setDisabledState(isDisabled: boolean): void;
682
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwContainedInputComponent, never>;
683
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwContainedInputComponent, "fw-contained-input", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "status": { "alias": "status"; "required": false; }; "inputPosition": { "alias": "inputPosition"; "required": false; }; "inputVariant": { "alias": "inputVariant"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "change": "change"; }, never, ["fw-avatar", "fw-icon"], true, never>;
684
+ }
685
+
686
+ /**
687
+ * Form control component for a toggle switch input with configurable size, color, and optional label
688
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-switch--docs)
689
+ */
690
+ declare class FwSwitchComponent implements ControlValueAccessor {
691
+ name?: string;
692
+ title?: string;
693
+ titlePosition?: 'start' | 'end';
694
+ size?: 'small' | 'medium';
695
+ color?: 'default' | 'primary' | 'secondary';
696
+ disabled?: boolean;
697
+ checked: boolean;
698
+ change: EventEmitter<boolean>;
699
+ onChange: (value: boolean) => void;
700
+ onTouched: () => void;
701
+ registerOnChange(fn: (value: boolean) => void): void;
702
+ registerOnTouched(fn: () => void): void;
703
+ setDisabledState(isDisabled: boolean): void;
704
+ writeValue(checked: boolean): void;
705
+ handleClick(): void;
706
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSwitchComponent, never>;
707
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwSwitchComponent, "fw-switch", never, { "name": { "alias": "name"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titlePosition": { "alias": "titlePosition"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
708
+ }
709
+
710
+ /**
711
+ * @deprecated import component directly, intent to remove in v20
712
+ */
713
+ declare class FwSwitchModule {
714
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSwitchModule, never>;
715
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwSwitchModule, never, [typeof i1.CommonModule, typeof FwSwitchComponent], [typeof FwSwitchComponent]>;
716
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwSwitchModule>;
717
+ }
718
+
719
+ /**
720
+ * @deprecated import component directly, intent to remove in v20
721
+ */
722
+ declare class FwContainedInputModule {
723
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwContainedInputModule, never>;
724
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwContainedInputModule, never, [typeof i1.CommonModule, typeof FwButtonModule, typeof FwIconModule, typeof FwSwitchModule, typeof FwCheckboxModule, typeof FwContainedInputComponent], [typeof FwContainedInputComponent]>;
725
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwContainedInputModule>;
726
+ }
727
+
728
+ /**
729
+ * Form control component for date, time, or datetime-local input with optional icon and Angular forms integration
730
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-date-input--docs)
731
+ */
732
+ declare class FwDateInputComponent implements ControlValueAccessor {
733
+ disabled?: boolean;
734
+ useActionableIcons?: boolean;
735
+ leftIcon?: IconType;
736
+ leftIconAction?: EventEmitter<void>;
737
+ prefix?: string;
738
+ /**
739
+ * @deprecated please use fw-wrapped-input instead
740
+ */
741
+ helperText?: string;
742
+ /**
743
+ * @deprecated please use fw-wrapped-input instead
744
+ */
745
+ errorText?: string;
746
+ placeholder?: string;
747
+ readOnly?: boolean;
748
+ size?: 'small' | 'medium' | 'large';
749
+ type?: 'date' | 'time' | 'datetime-local';
750
+ max?: string;
751
+ min?: string;
752
+ step?: number;
753
+ autofocus?: string;
754
+ autocomplete?: string;
755
+ error?: boolean;
756
+ private _value;
757
+ get value(): string;
758
+ set value(newValue: string);
759
+ externalControl: FormControl;
760
+ onTouch: () => void;
761
+ onChange: (value: string) => void;
762
+ setDate(value: Date): void;
763
+ setDateString(isoValue: string): void;
764
+ isIsoDate(str: any): boolean;
765
+ writeValue(obj: string): void;
766
+ registerOnChange(fn: any): void;
767
+ registerOnTouched(fn: any): void;
768
+ setDisabledState(isDisabled: boolean): void;
769
+ changeHandler(event: Event): void;
770
+ blurHandler(): void;
771
+ onLeftIconClick(): void;
772
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDateInputComponent, never>;
773
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwDateInputComponent, "fw-date-input", never, { "disabled": { "alias": "disabled"; "required": false; }; "useActionableIcons": { "alias": "useActionableIcons"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "step": { "alias": "step"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "error": { "alias": "error"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "leftIconAction": "leftIconAction"; }, never, never, true, never>;
774
+ }
775
+
776
+ /**
777
+ * @deprecated import component directly, intent to remove in v20
778
+ */
779
+ declare class FwDateInputModule {
780
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDateInputModule, never>;
781
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwDateInputModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof i2.ReactiveFormsModule, typeof FwDateInputComponent], [typeof FwDateInputComponent]>;
782
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwDateInputModule>;
783
+ }
784
+
785
+ declare enum DialogWidth {
786
+ ExtraSmall = "extra-small",
787
+ Small = "small",
788
+ Medium = "medium",
789
+ Large = "large",
790
+ ExtraLarge = "extra-large",
791
+ Responsive = "responsive"
792
+ }
793
+ /**
794
+ * Base dialog component with a configurable width, title, icon, and optional close button
795
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-dialog--docs)
796
+ */
797
+ declare class FwDialogComponent {
798
+ protected dialogRef: DialogRef;
799
+ private elementRef;
800
+ width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive';
801
+ title?: string;
802
+ icon?: IconType;
803
+ iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate';
804
+ showClose?: boolean;
805
+ externalClasses?: string | string[] | {
806
+ [key: string]: boolean;
807
+ };
808
+ close: EventEmitter<void>;
809
+ private isClosing;
810
+ constructor(dialogRef: DialogRef, elementRef: ElementRef);
811
+ get hostTitle(): null;
812
+ get classes(): {
813
+ [key: string]: boolean;
814
+ };
815
+ protected handleCloseButton(): void;
816
+ private closeWithAnimation;
817
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogComponent, [{ optional: true; }, null]>;
818
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwDialogComponent, "fw-dialog", never, { "width": { "alias": "width"; "required": false; }; "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "showClose": { "alias": "showClose"; "required": false; }; "externalClasses": { "alias": "class"; "required": false; }; }, { "close": "close"; }, never, ["fw-dialog-header", "fw-dialog-content", "fw-dialog-actions"], true, never>;
819
+ }
820
+
821
+ interface FwDialogRef<R = unknown, C = unknown> extends DialogRef<R, C> {
822
+ }
823
+ declare class FwDialogService extends Dialog {
824
+ private overlay;
825
+ _overlayContainerRef: OverlayContainer;
826
+ dialogRef: FwDialogRef | undefined;
827
+ constructor();
828
+ /**
829
+ * Open a custom component in an overlay and positioned near the top
830
+ */
831
+ openDialog<T>(component: ComponentType<T>, config?: DialogConfig & {
832
+ canCloseCheck?: () => boolean;
833
+ responsive?: boolean;
834
+ }, topOffset?: string): FwDialogRef<unknown, any>;
835
+ openModalDialog<T>(component: ComponentType<T>, config?: DialogConfig, topOffset?: string): FwDialogRef<unknown, any>;
836
+ closeWithAnimation(dialogRef: FwDialogRef<any>): void;
837
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogService, never>;
838
+ static ɵprov: i0.ɵɵInjectableDeclaration<FwDialogService>;
839
+ }
840
+
841
+ /**
842
+ * Sub-component for rendering the action button row of a dialog, laid out with flex and end-alignment
843
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-dialog--docs)
844
+ */
845
+ declare class FwDialogActionsComponent {
846
+ private sanitizer;
847
+ get style(): SafeStyle;
848
+ constructor(sanitizer: DomSanitizer);
849
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogActionsComponent, never>;
850
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwDialogActionsComponent, "fw-dialog-actions", never, {}, {}, never, ["*"], true, never>;
851
+ }
852
+
853
+ /**
854
+ * Pre-built confirmation dialog with configurable title, icon, content text, and confirm/cancel buttons
855
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-dialog--docs)
856
+ */
857
+ declare class FwDialogConfirmComponent {
858
+ dialogRef: DialogRef;
859
+ private elementRef;
860
+ title?: string;
861
+ icon?: IconType;
862
+ iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate';
863
+ confirmColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success';
864
+ cancelColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success';
865
+ confirmButtonText?: string;
866
+ confirmButtonIcon?: IconType;
867
+ cancelButtonText?: string;
868
+ contentIcon?: string;
869
+ contentTitle?: string;
870
+ contentText?: string;
871
+ showConfirmButtonIcon: boolean;
872
+ showClose: boolean;
873
+ width: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive';
874
+ externalClasses?: string | string[] | {
875
+ [key: string]: boolean;
876
+ };
877
+ close: EventEmitter<void>;
878
+ confirm: EventEmitter<void>;
879
+ private isClosing;
880
+ constructor(dialogRef: DialogRef, elementRef: ElementRef);
881
+ get classes(): {
882
+ [key: string]: boolean;
883
+ };
884
+ get dialogClasses(): string;
885
+ handleCloseButton(): void;
886
+ protected handleConfirm(): void;
887
+ private closeWithAnimation;
888
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogConfirmComponent, [{ optional: true; }, null]>;
889
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwDialogConfirmComponent, "fw-dialog-confirm", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "confirmColor": { "alias": "confirmColor"; "required": false; }; "cancelColor": { "alias": "cancelColor"; "required": false; }; "confirmButtonText": { "alias": "confirmButtonText"; "required": false; }; "confirmButtonIcon": { "alias": "confirmButtonIcon"; "required": false; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; }; "contentIcon": { "alias": "contentIcon"; "required": false; }; "contentTitle": { "alias": "contentTitle"; "required": false; }; "contentText": { "alias": "contentText"; "required": false; }; "showConfirmButtonIcon": { "alias": "showConfirmButtonIcon"; "required": false; }; "showClose": { "alias": "showClose"; "required": false; }; "width": { "alias": "width"; "required": false; }; "externalClasses": { "alias": "class"; "required": false; }; }, { "close": "close"; "confirm": "confirm"; }, never, never, true, never>;
890
+ }
891
+
892
+ /**
893
+ * Sub-component for rendering the scrollable content area of a dialog, with optional padding
894
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-dialog--docs)
895
+ */
896
+ declare class FwDialogContentComponent {
897
+ private sanitizer;
898
+ padded?: boolean;
899
+ get style(): SafeStyle;
900
+ constructor(sanitizer: DomSanitizer);
901
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogContentComponent, never>;
902
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwDialogContentComponent, "fw-dialog-content", never, { "padded": { "alias": "padded"; "required": false; }; }, {}, never, ["*"], true, never>;
903
+ }
904
+
905
+ /**
906
+ * Sub-component for rendering the header row of a dialog, with consistent padding and border styling
907
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-dialog--docs)
908
+ */
909
+ declare class FwDialogHeaderComponent {
910
+ private sanitizer;
911
+ get style(): SafeStyle;
912
+ constructor(sanitizer: DomSanitizer);
913
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogHeaderComponent, never>;
914
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwDialogHeaderComponent, "fw-dialog-header", never, {}, {}, never, ["*"], true, never>;
915
+ }
916
+
917
+ /**
918
+ * Pre-built simple dialog with a title, optional icon, content area, and configurable action and cancel buttons
919
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-dialog--docs)
920
+ */
921
+ declare class FwDialogSimpleComponent {
922
+ dialogRef: DialogRef;
923
+ private elementRef;
924
+ width?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'responsive';
925
+ title?: string;
926
+ icon?: IconType;
927
+ iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate';
928
+ showClose?: boolean;
929
+ actionButtonText?: string;
930
+ actionButtonIcon?: string;
931
+ cancelButtonText?: string;
932
+ alternateButtonText?: string;
933
+ alternateButtonIcon?: IconType;
934
+ contentText?: string;
935
+ externalClasses?: string | string[] | {
936
+ [key: string]: boolean;
937
+ };
938
+ close: EventEmitter<void>;
939
+ action: EventEmitter<void>;
940
+ alternateAction: EventEmitter<void>;
941
+ private isClosing;
942
+ constructor(dialogRef: DialogRef, elementRef: ElementRef);
943
+ get classes(): {
944
+ [key: string]: boolean;
945
+ };
946
+ get dialogClasses(): string;
947
+ handleCloseButton(): void;
948
+ private closeWithAnimation;
949
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogSimpleComponent, [{ optional: true; }, null]>;
950
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwDialogSimpleComponent, "fw-dialog-simple", never, { "width": { "alias": "width"; "required": false; }; "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "showClose": { "alias": "showClose"; "required": false; }; "actionButtonText": { "alias": "actionButtonText"; "required": false; }; "actionButtonIcon": { "alias": "actionButtonIcon"; "required": false; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; }; "alternateButtonText": { "alias": "alternateButtonText"; "required": false; }; "alternateButtonIcon": { "alias": "alternateButtonIcon"; "required": false; }; "contentText": { "alias": "contentText"; "required": false; }; "externalClasses": { "alias": "class"; "required": false; }; }, { "close": "close"; "action": "action"; "alternateAction": "alternateAction"; }, never, ["fw-dialog-content"], true, never>;
951
+ }
952
+
953
+ /**
954
+ * @deprecated import component directly, intent to remove in v20
955
+ */
956
+ declare class FwDialogsModule {
957
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwDialogsModule, never>;
958
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwDialogsModule, never, [typeof i1.CommonModule, typeof i2$1.DialogModule, typeof FwButtonModule, typeof FwIconButtonModule, typeof FwIconModule, typeof FwDialogActionsComponent, typeof FwDialogComponent, typeof FwDialogConfirmComponent, typeof FwDialogContentComponent, typeof FwDialogHeaderComponent, typeof FwDialogSimpleComponent], [typeof FwDialogActionsComponent, typeof FwDialogComponent, typeof FwDialogConfirmComponent, typeof FwDialogContentComponent, typeof FwDialogHeaderComponent, typeof FwDialogSimpleComponent]>;
959
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwDialogsModule>;
960
+ }
961
+
962
+ /**
963
+ * Component for a form field heading that displays a title, optional description, required indicator, and status tag
964
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-form-heading--docs)
965
+ */
966
+ declare class FwFormHeadingComponent {
967
+ class: string;
968
+ title: i0.InputSignal<string>;
969
+ description: i0.InputSignal<string>;
970
+ required: i0.InputSignal<boolean>;
971
+ status: i0.InputSignal<string>;
972
+ statusColor: i0.InputSignal<"primary" | "secondary" | "red" | "orange" | "green" | "slate">;
973
+ constructor();
974
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFormHeadingComponent, never>;
975
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwFormHeadingComponent, "fw-form-heading", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusColor": { "alias": "statusColor"; "required": false; "isSignal": true; }; }, {}, never, ["fw-tooltip", "fw-icon", "fw-chip", "p", "*"], true, never>;
976
+ }
977
+
978
+ /**
979
+ * Component for a small colored label tag with an optional icon, used to categorize or annotate content
980
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tag--docs)
981
+ */
982
+ declare class FwTagComponent {
983
+ size: i0.InputSignal<"small" | "large">;
984
+ color: i0.InputSignal<"primary" | "secondary" | "red" | "orange" | "green" | "slate">;
985
+ icon: i0.InputSignal<"search" | "link" | "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-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" | "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-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "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" | "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-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server" | "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">;
986
+ title: i0.InputSignal<string>;
987
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTagComponent, never>;
988
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTagComponent, "fw-tag", never, { "size": { "alias": "size"; "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; }; }, {}, never, never, true, never>;
989
+ }
990
+
991
+ /**
992
+ * @deprecated import component directly, intent to remove in v20
993
+ */
994
+ declare class FwTagModule {
995
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTagModule, never>;
996
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwTagModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwTagComponent], [typeof FwTagComponent]>;
997
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwTagModule>;
998
+ }
999
+
1000
+ /**
1001
+ * @deprecated import component directly, intent to remove in v20
1002
+ */
1003
+ declare class FwFormHeadingModule {
1004
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFormHeadingModule, never>;
1005
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwFormHeadingModule, never, [typeof i1.CommonModule, typeof FwButtonModule, typeof FwIconModule, typeof FwTagModule, typeof FwFormHeadingComponent], [typeof FwFormHeadingComponent]>;
1006
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwFormHeadingModule>;
1007
+ }
1008
+
1009
+ declare class FwValidators {
1010
+ static phone: ValidatorFn;
1011
+ static email: ValidatorFn;
1012
+ static url: ValidatorFn;
1013
+ }
1014
+ /**
1015
+ * @description Checks that passed form control's value is after passed date
1016
+ * @param earliestDateArg Date object or another form control
1017
+ *
1018
+ * @usageNotes
1019
+ * Assumes form control emits an ISO timestamp string
1020
+ *
1021
+ * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed
1022
+ * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}
1023
+ * @returns
1024
+ */
1025
+ declare const notBeforeDate: (earliestDateArg: AbstractControl | Date) => ValidatorFn;
1026
+ /**
1027
+ * @description Checks that the date emitted by the attached form control is not in the future
1028
+ *
1029
+ * @usageNotes
1030
+ * Assumes form control emits an ISO timestamp string
1031
+ *
1032
+ * Does not error on empty so use a {@link https://angular.dev/api/forms/Validators#required | required validator} if needed
1033
+ * @see {@link https://angular.dev/guide/forms/reactive-forms#validating-form-input | Angular Form Validation Docs}
1034
+ * @returns Validation error or null
1035
+ */
1036
+ declare const notFutureDate: () => ValidatorFn;
1037
+
1038
+ declare enum LayoutWidth {
1039
+ Small = "small",
1040
+ Medium = "medium",
1041
+ Large = "large",
1042
+ ExtraLarge = "extra-large"
1043
+ }
1044
+ /**
1045
+ * Layout component for an empty-state or contextual message panel with an icon, title, and description
1046
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/layout-context--docs)
1047
+ */
1048
+ declare class FwLayoutContextComponent {
1049
+ width?: 'small' | 'medium' | 'large' | 'extra-large';
1050
+ icon?: IconType;
1051
+ iconColor?: 'primary' | 'secondary' | 'danger' | 'slate' | 'warning' | 'success';
1052
+ title?: string;
1053
+ description?: string;
1054
+ get hostTitle(): null;
1055
+ get classes(): string;
1056
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwLayoutContextComponent, never>;
1057
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwLayoutContextComponent, "fw-layout-context", never, { "width": { "alias": "width"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; }, {}, never, ["[slot='description']", "fw-button"], true, never>;
1058
+ }
1059
+
1060
+ /**
1061
+ * Layout component for a 12-column responsive grid container
1062
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/layout-grid--docs)
1063
+ */
1064
+ declare class FwGridComponent {
1065
+ get cssClass(): string;
1066
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwGridComponent, never>;
1067
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwGridComponent, "fw-grid", never, {}, {}, never, ["fw-grid-item"], true, never>;
1068
+ }
1069
+ declare class FwGridItemComponent {
1070
+ cols: number;
1071
+ sm?: number;
1072
+ md?: number;
1073
+ lg?: number;
1074
+ xl?: number;
1075
+ padded?: boolean;
1076
+ rounded?: boolean;
1077
+ variant?: 'page-light' | 'page-shaded' | 'card-header' | 'card-background';
1078
+ get cssClass(): string;
1079
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwGridItemComponent, never>;
1080
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwGridItemComponent, "fw-grid-item", never, { "cols": { "alias": "cols"; "required": false; }; "sm": { "alias": "sm"; "required": false; }; "md": { "alias": "md"; "required": false; }; "lg": { "alias": "lg"; "required": false; }; "xl": { "alias": "xl"; "required": false; }; "padded": { "alias": "padded"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*"], true, never>;
1081
+ }
1082
+
1083
+ /**
1084
+ * Layout component for arranging child elements in a horizontal group with configurable justification and padding
1085
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/layout-group--docs)
1086
+ */
1087
+ declare class FwLayoutGroupComponent {
1088
+ stackable: boolean;
1089
+ padded: boolean;
1090
+ justify: 'space-between' | 'space-around' | 'space-evenly' | 'flex-end' | 'flex-start';
1091
+ get classes(): string;
1092
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwLayoutGroupComponent, never>;
1093
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwLayoutGroupComponent, "fw-layout-group", never, { "stackable": { "alias": "stackable"; "required": false; }; "padded": { "alias": "padded"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; }, {}, never, ["*"], true, never>;
1094
+ }
1095
+
1096
+ /**
1097
+ * Layout component for a horizontal toolbar strip, with an optional dense variant for compact UIs
1098
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/layout-toolbar--docs)
1099
+ */
1100
+ declare class FwLayoutToolbarComponent {
1101
+ dense?: boolean;
1102
+ get classes(): string;
1103
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwLayoutToolbarComponent, never>;
1104
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwLayoutToolbarComponent, "fw-layout-toolbar", never, { "dense": { "alias": "dense"; "required": false; }; }, {}, never, ["*"], true, never>;
1105
+ }
1106
+
1107
+ /**
1108
+ * Layout component for a bordered, optionally padded panel container with configurable height and rounding
1109
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/layout-panel--docs)
1110
+ */
1111
+ declare class FwLayoutPanelComponent {
1112
+ height?: string;
1113
+ fitted?: boolean;
1114
+ border?: 'all' | 'left' | 'right' | 'none';
1115
+ rounded?: boolean;
1116
+ margin?: boolean;
1117
+ padded?: boolean;
1118
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwLayoutPanelComponent, never>;
1119
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwLayoutPanelComponent, "fw-layout-panel", never, { "height": { "alias": "height"; "required": false; }; "fitted": { "alias": "fitted"; "required": false; }; "border": { "alias": "border"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "padded": { "alias": "padded"; "required": false; }; }, {}, never, ["header", "*", "footer"], true, never>;
1120
+ }
1121
+
1122
+ /**
1123
+ * Layout component for a two-pane sidebar layout with a configurable width, border, and direction
1124
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/layout-sidebar--docs)
1125
+ */
1126
+ declare class FwLayoutSidebarComponent {
1127
+ outlined: boolean;
1128
+ rounded: boolean;
1129
+ width?: string;
1130
+ direction?: 'row' | 'row-reverse';
1131
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwLayoutSidebarComponent, never>;
1132
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwLayoutSidebarComponent, "fw-layout-sidebar", never, { "outlined": { "alias": "outlined"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "width": { "alias": "width"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, {}, never, ["*", "aside"], true, never>;
1133
+ }
1134
+
1135
+ /**
1136
+ * @deprecated import component directly, intent to remove in v20
1137
+ */
1138
+ declare class FwLayoutsModule {
1139
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwLayoutsModule, never>;
1140
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwLayoutsModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwLayoutContextComponent, typeof FwLayoutToolbarComponent, typeof FwLayoutGroupComponent, typeof FwLayoutPanelComponent, typeof FwLayoutSidebarComponent, typeof FwGridComponent, typeof FwGridItemComponent], [typeof FwLayoutContextComponent, typeof FwLayoutToolbarComponent, typeof FwLayoutGroupComponent, typeof FwLayoutPanelComponent, typeof FwLayoutSidebarComponent, typeof FwGridComponent, typeof FwGridItemComponent]>;
1141
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwLayoutsModule>;
1142
+ }
1143
+
1144
+ /**
1145
+ * Nested sub-item used inside a menu item, supporting animated expand/collapse and optional href navigation
1146
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1147
+ */
1148
+ declare class FwMenuSubItemComponent {
1149
+ value?: string;
1150
+ size?: 'default' | 'compact';
1151
+ title: string;
1152
+ description?: string;
1153
+ icon?: IconType;
1154
+ disabled?: boolean;
1155
+ hidden?: boolean;
1156
+ href?: string;
1157
+ target?: string;
1158
+ collapsed?: boolean;
1159
+ click: EventEmitter<string>;
1160
+ focused?: boolean;
1161
+ selected?: boolean;
1162
+ handleClick(evt?: Event): void;
1163
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuSubItemComponent, never>;
1164
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuSubItemComponent, "fw-menu-sub-item", never, { "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "href": { "alias": "href"; "required": false; }; "target": { "alias": "target"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "click": "click"; }, never, ["p", "fw-badge", "fw-icon", "fw-icon-button"], true, never>;
1165
+ }
1166
+
1167
+ type MouseEnterHandler = ($event: PointerEvent, item: FwMenuItemComponent) => void;
1168
+ /**
1169
+ * Individual menu item with optional icon, checkbox, sub-items, and href navigation support
1170
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1171
+ */
1172
+ declare class FwMenuItemComponent implements OnChanges, OnDestroy, AfterContentInit {
1173
+ private elementRef;
1174
+ value?: string;
1175
+ size?: 'default' | 'compact';
1176
+ title: string;
1177
+ description?: string;
1178
+ icon?: IconType;
1179
+ iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography';
1180
+ disabled?: boolean;
1181
+ showCheckbox?: boolean;
1182
+ checkboxColor?: 'primary' | 'secondary';
1183
+ multiSelect?: boolean;
1184
+ hidden?: boolean;
1185
+ collapsed?: boolean;
1186
+ href?: string;
1187
+ target?: string;
1188
+ subItemsOpen: boolean;
1189
+ mouseEnterHandler: i0.ModelSignal<MouseEnterHandler>;
1190
+ click: EventEmitter<string>;
1191
+ focused: i0.ModelSignal<boolean>;
1192
+ selected?: boolean;
1193
+ subItems: QueryList<FwMenuSubItemComponent>;
1194
+ private subscriptions;
1195
+ constructor(elementRef: ElementRef<HTMLElement>);
1196
+ scrollIntoView(options?: ScrollIntoViewOptions): void;
1197
+ ngOnChanges(changes: SimpleChanges): void;
1198
+ ngOnDestroy(): void;
1199
+ ngAfterContentInit(): void;
1200
+ onMouseEnter(event: PointerEvent): void;
1201
+ updateLayout(): void;
1202
+ toggleSubItemsView(): void;
1203
+ handleClick(evt: Event): void;
1204
+ /**
1205
+ * stops the browser built-in tooltip from showing up
1206
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title
1207
+ */
1208
+ get attrTitle(): string;
1209
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuItemComponent, never>;
1210
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuItemComponent, "fw-menu-item", never, { "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; }; "checkboxColor": { "alias": "checkboxColor"; "required": false; }; "multiSelect": { "alias": "multiSelect"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "href": { "alias": "href"; "required": false; }; "target": { "alias": "target"; "required": false; }; "subItemsOpen": { "alias": "subItemsOpen"; "required": false; }; "mouseEnterHandler": { "alias": "mouseEnterHandler"; "required": false; "isSignal": true; }; "focused": { "alias": "focused"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; }; }, { "mouseEnterHandler": "mouseEnterHandlerChange"; "click": "click"; "focused": "focusedChange"; }, ["subItems"], ["fw-avatar", "p", "fw-badge", "fw-icon", "fw-icon-button", "fw-menu-sub-item"], true, never>;
1211
+ }
1212
+
1213
+ /**
1214
+ * Component for a list of selectable menu items
1215
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1216
+ */
1217
+ declare class FwMenuComponent implements ControlValueAccessor, OnChanges, OnDestroy, AfterContentInit {
1218
+ disabled: boolean;
1219
+ size?: 'default' | 'compact';
1220
+ multiSelect?: boolean;
1221
+ useCheckbox?: boolean;
1222
+ value?: string | string[];
1223
+ change: EventEmitter<string | string[]>;
1224
+ menuItems: QueryList<FwMenuItemComponent>;
1225
+ menuContentWrapper: ElementRef;
1226
+ onChange: (value: string | string[]) => void;
1227
+ onTouched: () => void;
1228
+ private subscriptions;
1229
+ private menuItemSubscriptions;
1230
+ ngOnChanges(): void;
1231
+ ngOnDestroy(): void;
1232
+ private subscribeToMenuItems;
1233
+ ngAfterContentInit(): void;
1234
+ writeValue(value: string | string[]): void;
1235
+ registerOnChange(fn: (value: string | string[]) => void): void;
1236
+ registerOnTouched(fn: () => void): void;
1237
+ setDisabledState?(isDisabled: boolean): void;
1238
+ handleSelect(value: string): void;
1239
+ updateLayout(): void;
1240
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuComponent, never>;
1241
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuComponent, "fw-menu", never, { "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "multiSelect": { "alias": "multiSelect"; "required": false; }; "useCheckbox": { "alias": "useCheckbox"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "change": "change"; }, ["menuContentWrapper", "menuItems"], ["*"], true, never>;
1242
+ }
1243
+
1244
+ type DelayLength$3 = 'none' | 'short' | 'long';
1245
+ type SimplePosition = 'above' | 'below' | 'left' | 'right';
1246
+ /**
1247
+ * Internal floating panel that renders tooltip content with position, color, and fade animation, used by the tooltip directive
1248
+ */
1249
+ declare class FwTooltipPanelComponent {
1250
+ animation: any;
1251
+ trigger: i0.InputSignalWithTransform<CdkOverlayOrigin, CdkOverlayOrigin | ElementRef<HTMLElement>>;
1252
+ title: i0.InputSignal<string>;
1253
+ isOpen: i0.InputSignal<boolean>;
1254
+ position: i0.InputSignal<SimplePosition>;
1255
+ connectedPosition: i0.Signal<ConnectedPosition[]>;
1256
+ positionClass: i0.Signal<string>;
1257
+ color: i0.InputSignal<"dark" | "light">;
1258
+ maxWidth: i0.InputSignal<number>;
1259
+ displayCaret: i0.InputSignal<boolean>;
1260
+ delay: i0.InputSignal<DelayLength$3>;
1261
+ delayMs: i0.Signal<number>;
1262
+ contentClass: i0.InputSignal<string>;
1263
+ mouseLeave: EventEmitter<MouseEvent>;
1264
+ hidePopover(e: MouseEvent): void;
1265
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTooltipPanelComponent, never>;
1266
+ static ɵcmp: i0.ɵɵ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>;
1267
+ }
1268
+
1269
+ type DelayLength$2 = 'none' | 'short' | 'long';
1270
+ /**
1271
+ * Directive for displaying extra context on hover
1272
+ * @see [Vision Storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)
1273
+ */
1274
+ declare class FwTooltipDirective implements OnInit, OnDestroy {
1275
+ /***** External Context *****/
1276
+ private elementRef;
1277
+ private viewContainerRef;
1278
+ private overlayService;
1279
+ /***** Internal Refs *****/
1280
+ private overlayRef;
1281
+ private tooltipRef;
1282
+ private tooltipPortal;
1283
+ /***** Inputs *****/
1284
+ /**
1285
+ * Directive for displaying extra context on hover
1286
+ * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs)
1287
+ */
1288
+ title: i0.ModelSignal<string>;
1289
+ /**
1290
+ * direction relative to the parent component that the tooltip will attempt to position itself to
1291
+ */
1292
+ position: i0.ModelSignal<SimplePosition>;
1293
+ /**
1294
+ * maximum width of the tooltip in pixels
1295
+ */
1296
+ maxWidth: i0.ModelSignal<number>;
1297
+ /**
1298
+ * Custom class to apply to the content of the tooltip
1299
+ */
1300
+ contentClass: i0.ModelSignal<string>;
1301
+ /**
1302
+ * amount of delay before the tooltip displays
1303
+ *
1304
+ * none (0ms),
1305
+ * short (400ms),
1306
+ * long (700ms)
1307
+ */
1308
+ delayMs: i0.InputSignalWithTransform<number, DelayLength$2>;
1309
+ /**
1310
+ * whether or not the tooltip should have a caret
1311
+ */
1312
+ displayCaret: i0.InputSignal<boolean>;
1313
+ enabled: i0.ModelSignal<boolean>;
1314
+ /***** Derived State *****/
1315
+ connectedPositions: i0.Signal<ConnectedPosition[]>;
1316
+ positionStrategy: i0.Signal<i3.FlexibleConnectedPositionStrategy>;
1317
+ overlayConfig: i0.Signal<OverlayConfig>;
1318
+ /***** Effects and Methods *****/
1319
+ addMouseEventListeners: i0.EffectRef;
1320
+ ngOnInit(): void;
1321
+ private openDelayTimer;
1322
+ showTooltip(): void;
1323
+ positionChangeSub: Subscription | undefined;
1324
+ handlePositionChange: i0.EffectRef;
1325
+ hideTooltip(): void;
1326
+ ngOnDestroy(): void;
1327
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTooltipDirective, never>;
1328
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwTooltipDirective, "[fwTooltip]", never, { "title": { "alias": "fwTooltip"; "required": false; "isSignal": true; }; "position": { "alias": "fwTooltipPosition"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "fwTooltipMaxWidthPx"; "required": false; "isSignal": true; }; "contentClass": { "alias": "fwTooltipClass"; "required": false; "isSignal": true; }; "delayMs": { "alias": "fwTooltipDelay"; "required": false; "isSignal": true; }; "displayCaret": { "alias": "fwTooltipCaret"; "required": false; "isSignal": true; }; "enabled": { "alias": "fwTooltipEnabled"; "required": false; "isSignal": true; }; }, { "title": "fwTooltipChange"; "position": "fwTooltipPositionChange"; "maxWidth": "fwTooltipMaxWidthPxChange"; "contentClass": "fwTooltipClassChange"; "enabled": "fwTooltipEnabledChange"; }, never, never, true, never>;
1329
+ }
1330
+
1331
+ /**
1332
+ * Form control component for a single-line text input with optional left/right icons, prefix, and Angular forms integration
1333
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-text-input--docs)
1334
+ */
1335
+ declare class FwTextInputComponent implements ControlValueAccessor {
1336
+ disabled?: boolean;
1337
+ useActionableIcons?: boolean;
1338
+ leftIcon?: IconType;
1339
+ rightIcon?: string;
1340
+ prefix?: string;
1341
+ context?: string;
1342
+ /**
1343
+ * @deprecated please use fw-wrapped-input instead
1344
+ */
1345
+ helperText?: string;
1346
+ /**
1347
+ * @deprecated please use fw-wrapped-input instead
1348
+ */
1349
+ errorText?: string;
1350
+ errorInIconTooltip?: boolean;
1351
+ placeholder?: string;
1352
+ readOnly?: boolean;
1353
+ size?: 'small' | 'medium' | 'large';
1354
+ type?: string;
1355
+ maxLength?: number;
1356
+ autofocus?: boolean;
1357
+ autocomplete?: string;
1358
+ private _value;
1359
+ get value(): string;
1360
+ set value(v: string);
1361
+ set inputRef(el: ElementRef<HTMLInputElement>);
1362
+ private _inputRef?;
1363
+ error?: boolean;
1364
+ leftIconAction: EventEmitter<void>;
1365
+ rightIconAction: EventEmitter<void>;
1366
+ textInput: any;
1367
+ width: string;
1368
+ externalControl: FormControl;
1369
+ onTouch: () => void;
1370
+ onChange: (value: string) => void;
1371
+ writeValue(obj: string): void;
1372
+ registerOnChange(fn: any): void;
1373
+ registerOnTouched(fn: any): void;
1374
+ setDisabledState(isDisabled: boolean): void;
1375
+ changeHandler(event: Event): void;
1376
+ blurHandler(): void;
1377
+ onLeftIconClick(): void;
1378
+ onRightIconClick(): void;
1379
+ focus(): void;
1380
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTextInputComponent, never>;
1381
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTextInputComponent, "fw-text-input", never, { "disabled": { "alias": "disabled"; "required": false; }; "useActionableIcons": { "alias": "useActionableIcons"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "context": { "alias": "context"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "errorInIconTooltip": { "alias": "errorInIconTooltip"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "value": { "alias": "value"; "required": false; }; "error": { "alias": "error"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "leftIconAction": "leftIconAction"; "rightIconAction": "rightIconAction"; }, ["textInput"], ["input", "*"], true, never>;
1382
+ }
1383
+
1384
+ /**
1385
+ * @deprecated import component directly, intent to remove in v20
1386
+ */
1387
+ declare class FwTextInputModule {
1388
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTextInputModule, never>;
1389
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwTextInputModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwTooltipDirective, typeof i2.ReactiveFormsModule, typeof FwTextInputComponent], [typeof FwTextInputComponent]>;
1390
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwTextInputModule>;
1391
+ }
1392
+
1393
+ /**
1394
+ * Internal floating panel that renders popover content with a positional caret, used by the popover component
1395
+ */
1396
+ declare class FwPopoverPanelComponent {
1397
+ position: 'above' | 'above-left' | 'above-right' | 'below' | 'below-left' | 'below-right' | 'left' | 'left-above' | 'left-below' | 'right' | 'right-above' | 'right-below';
1398
+ mouseLeave: EventEmitter<MouseEvent>;
1399
+ showCaret: i0.InputSignal<boolean>;
1400
+ get classes(): string;
1401
+ hidePopover(e: MouseEvent): void;
1402
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPopoverPanelComponent, never>;
1403
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwPopoverPanelComponent, "fw-popover-panel", never, { "position": { "alias": "position"; "required": false; }; "showCaret": { "alias": "showCaret"; "required": false; "isSignal": true; }; }, { "mouseLeave": "mouseLeave"; }, never, ["*"], true, never>;
1404
+ }
1405
+
1406
+ type DelayLength$1 = 'none' | 'short' | 'long';
1407
+ type PositionOption = 'above' | 'above-left' | 'above-right' | 'below' | 'below-left' | 'below-right' | 'left' | 'left-above' | 'left-below' | 'right' | 'right-above' | 'right-below';
1408
+ /**
1409
+ * component for mounting content in a floating container
1410
+ * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/latest/?path=/docs/components-popover--docs)
1411
+ */
1412
+ declare class FwPopoverComponent {
1413
+ position: PositionOption;
1414
+ trigger: i0.InputSignal<CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin>;
1415
+ isOpen: i0.ModelSignal<boolean>;
1416
+ action: 'mouseenter' | 'click';
1417
+ flyoutPanel: FwPopoverPanelComponent;
1418
+ delay: i0.InputSignal<DelayLength$1>;
1419
+ delayMs: i0.Signal<number>;
1420
+ showCaret: i0.InputSignal<boolean>;
1421
+ activePositionPair: i0.WritableSignal<ConnectedOverlayPositionChange>;
1422
+ panelPosition: i0.Signal<PositionOption>;
1423
+ positionMap: {
1424
+ [key: string]: ConnectedPosition;
1425
+ };
1426
+ /**
1427
+ * Gets a list of fallback positions for the selected one
1428
+ * Preserves the primary axis i.e. which side of the origin the panel is on
1429
+ */
1430
+ getFallbackPositions: () => ConnectedPosition[];
1431
+ registerEventListeners: i0.EffectRef;
1432
+ openOnDelay(): number;
1433
+ backdropClick(): void;
1434
+ handlePanelLeave(): void;
1435
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPopoverComponent, never>;
1436
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwPopoverComponent, "fw-popover", never, { "position": { "alias": "position"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "action": { "alias": "action"; "required": false; }; "flyoutPanel": { "alias": "flyoutPanel"; "required": false; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "showCaret": { "alias": "showCaret"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; }, never, ["*"], true, never>;
1437
+ }
1438
+
1439
+ /**
1440
+ * @deprecated import component directly, intent to remove in v20
1441
+ */
1442
+ declare class FwPopoverModule {
1443
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPopoverModule, never>;
1444
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwPopoverModule, never, [typeof i1.CommonModule, typeof FwLayoutsModule, typeof i3.OverlayModule, typeof FwPopoverComponent, typeof FwPopoverPanelComponent], [typeof FwPopoverComponent, typeof FwPopoverPanelComponent]>;
1445
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwPopoverModule>;
1446
+ }
1447
+
1448
+ type DelayLength = 'none' | 'short' | 'long';
1449
+ /**
1450
+ * component for giving extra context when a user hovers something
1451
+ * @deprecated use the [tooltip directive](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tooltip--docs) instead, intend to remove in v3
1452
+ * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-wrapped-tooltip--docs)
1453
+ */
1454
+ declare class FwTooltipComponent {
1455
+ title: string;
1456
+ color: 'light' | 'dark';
1457
+ position: SimplePosition;
1458
+ maxWidth?: number;
1459
+ fullWidth?: boolean;
1460
+ isOpen: boolean;
1461
+ trigger: CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin;
1462
+ delay: i0.InputSignal<DelayLength>;
1463
+ get classes(): string;
1464
+ /**
1465
+ * stops the browser built-in tooltip from showing up
1466
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title
1467
+ */
1468
+ get attrTitle(): string;
1469
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTooltipComponent, never>;
1470
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTooltipComponent, "fw-tooltip", never, { "title": { "alias": "title"; "required": false; }; "color": { "alias": "color"; "required": false; }; "position": { "alias": "position"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1471
+ }
1472
+
1473
+ /**
1474
+ * @deprecated import component directly, intent to remove in v20
1475
+ */
1476
+ declare class FwTooltipModule {
1477
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTooltipModule, never>;
1478
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwTooltipModule, never, [typeof i1.CommonModule, typeof FwPopoverModule, typeof i3.OverlayModule, typeof i4.CdkNoDataRow, typeof FwTooltipDirective, typeof FwTooltipComponent, typeof FwTooltipPanelComponent], [typeof FwTooltipComponent, typeof FwTooltipPanelComponent, typeof FwTooltipDirective]>;
1479
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwTooltipModule>;
1480
+ }
1481
+
1482
+ /**
1483
+ * Individual radio button used inside a radio group to represent a single selectable option
1484
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-radio-button--docs)
1485
+ */
1486
+ declare class FwRadioComponent {
1487
+ value: i0.InputSignal<string>;
1488
+ checked: i0.ModelSignal<boolean>;
1489
+ group: string;
1490
+ disabled: boolean;
1491
+ size: 'medium' | 'compact';
1492
+ color: 'default' | 'primary' | 'secondary';
1493
+ title: string;
1494
+ focused: boolean;
1495
+ change: EventEmitter<string>;
1496
+ get radioStyles(): string[];
1497
+ handleChange(event: any): void;
1498
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRadioComponent, never>;
1499
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwRadioComponent, "fw-radio-button", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "title": { "alias": "title"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; }, { "checked": "checkedChange"; "change": "change"; }, never, ["*"], true, never>;
1500
+ }
1501
+
1502
+ /**
1503
+ * Container component for grouping radio buttons, managing shared selection state and Angular forms integration
1504
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-radio-button--docs)
1505
+ */
1506
+ declare class FwRadioGroupComponent implements ControlValueAccessor {
1507
+ value: string;
1508
+ group: string;
1509
+ color?: 'primary' | 'secondary' | 'default';
1510
+ size?: 'medium' | 'compact';
1511
+ disabled?: boolean;
1512
+ direction?: 'horizontal' | 'vertical';
1513
+ change: EventEmitter<string>;
1514
+ private sanitizer;
1515
+ private dr;
1516
+ protected radioButtons: i0.Signal<readonly FwRadioComponent[]>;
1517
+ private _value;
1518
+ private radioSubs;
1519
+ get style(): SafeStyle;
1520
+ constructor();
1521
+ onTouch: () => void;
1522
+ onChange: (value: string) => void;
1523
+ writeValue(value: string): void;
1524
+ registerOnChange(fn: any): void;
1525
+ registerOnTouched(fn: any): void;
1526
+ setDisabledState(isDisabled: boolean): void;
1527
+ handleChange(value: string): void;
1528
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRadioGroupComponent, never>;
1529
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwRadioGroupComponent, "fw-radio-group", never, { "value": { "alias": "value"; "required": false; }; "group": { "alias": "group"; "required": false; }; "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "change": "change"; }, ["radioButtons"], ["fw-radio-button"], true, never>;
1530
+ }
1531
+
1532
+ /**
1533
+ * @deprecated import component directly, intent to remove in v20
1534
+ */
1535
+ declare class FwRadioModule {
1536
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRadioModule, never>;
1537
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwRadioModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i2.FormsModule, typeof FwRadioComponent, typeof FwRadioGroupComponent], [typeof FwRadioComponent, typeof FwRadioGroupComponent]>;
1538
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwRadioModule>;
1539
+ }
1540
+
1541
+ declare class FwMenuCloseTriggersDirective {
1542
+ triggers?: QueryList<CdkMenuTrigger>;
1543
+ private _isOpen;
1544
+ private elementRef;
1545
+ outsideClick(event: MouseEvent): void;
1546
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuCloseTriggersDirective, never>;
1547
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwMenuCloseTriggersDirective, "[fwMenuCloseTriggers]", never, {}, {}, ["triggers"], never, true, never>;
1548
+ }
1549
+
1550
+ /**
1551
+ * Sub-component for grouping related menu items under an optional titled section with an icon
1552
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1553
+ */
1554
+ declare class FwMenuItemGroupComponent {
1555
+ role: string;
1556
+ hidden: boolean;
1557
+ title?: string;
1558
+ icon?: IconType;
1559
+ iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography';
1560
+ disabled: boolean;
1561
+ menuItems: QueryList<FwMenuItemComponent>;
1562
+ get allItemsHidden(): boolean;
1563
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuItemGroupComponent, never>;
1564
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuItemGroupComponent, "fw-menu-item-group", never, { "role": { "alias": "role"; "required": false; }; "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["menuItems"], ["*"], true, never>;
1565
+ }
1566
+
1567
+ /**
1568
+ * Sub-component for rendering a visual divider line between sections of a menu
1569
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1570
+ */
1571
+ declare class FwMenuSeparatorComponent {
1572
+ hidden: boolean;
1573
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuSeparatorComponent, never>;
1574
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuSeparatorComponent, "fw-menu-separator", never, {}, {}, never, never, true, never>;
1575
+ }
1576
+
1577
+ type MenuFilterFn = (filter: string, menuItems: readonly FwMenuItemComponent[]) => FwMenuItemComponent[];
1578
+ /**
1579
+ * Container component that wraps a menu with optional search filtering, scroll chevrons, and empty-state messaging
1580
+ * * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1581
+ */
1582
+ declare class FwMenuContainerComponent implements AfterViewInit {
1583
+ private sanitizer;
1584
+ private ngZone;
1585
+ menuWrapperRef: ElementRef<HTMLElement>;
1586
+ canScrollUp: i0.WritableSignal<boolean>;
1587
+ canScrollDown: i0.WritableSignal<boolean>;
1588
+ private scrollInterval;
1589
+ width?: string;
1590
+ maxHeight?: string;
1591
+ minHeight?: string;
1592
+ border?: 'none' | 'default';
1593
+ shadow?: 'none' | 'small' | 'medium' | 'large' | 'extra-large' | 'inner';
1594
+ showFilter: boolean;
1595
+ filterText: i0.InputSignal<string>;
1596
+ focusFilterOnMount: boolean;
1597
+ offset?: string;
1598
+ emptyText: i0.InputSignal<string>;
1599
+ filteredMenuItems: FwMenuItemComponent[];
1600
+ filteredMenuItemChange: i0.OutputEmitterRef<FwMenuItemComponent[]>;
1601
+ private defaultFilterFn;
1602
+ filterFn: i0.InputSignal<MenuFilterFn>;
1603
+ filterChanged: i0.OutputEmitterRef<string>;
1604
+ filterRef: FwTextInputComponent;
1605
+ menu: FwMenuComponent;
1606
+ additionalMenuItems: i0.InputSignal<readonly FwMenuItemComponent[]>;
1607
+ additionalGroups: i0.InputSignal<readonly FwMenuItemGroupComponent[]>;
1608
+ additionalSeparators: i0.InputSignal<readonly FwMenuSeparatorComponent[]>;
1609
+ childMenuItems: i0.Signal<readonly FwMenuItemComponent[]>;
1610
+ childSeparators: i0.Signal<readonly FwMenuSeparatorComponent[]>;
1611
+ childGroups: i0.Signal<readonly FwMenuItemGroupComponent[]>;
1612
+ private combinedMenuItems;
1613
+ keyHandler: (event: KeyboardEvent) => void;
1614
+ get classes(): string;
1615
+ get style(): SafeStyle;
1616
+ constructor(sanitizer: DomSanitizer, ngZone: NgZone);
1617
+ ngAfterViewInit(): void;
1618
+ updateScrollState(): void;
1619
+ startScroll(direction: 'up' | 'down'): void;
1620
+ stopScroll(): void;
1621
+ noResults: i0.WritableSignal<boolean>;
1622
+ handleFilterClick(event: Event): void;
1623
+ handleFilterInput(event: Event): void;
1624
+ onFilterChange(filter: string): void;
1625
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuContainerComponent, never>;
1626
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuContainerComponent, "fw-menu-container, fw-menu-filter", never, { "width": { "alias": "width"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "border": { "alias": "border"; "required": false; }; "shadow": { "alias": "shadow"; "required": false; }; "showFilter": { "alias": "showFilter"; "required": false; }; "filterText": { "alias": "filterText"; "required": false; "isSignal": true; }; "focusFilterOnMount": { "alias": "focusFilterOnMount"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "filterFn": { "alias": "filterFn"; "required": false; "isSignal": true; }; "additionalMenuItems": { "alias": "additionalMenuItems"; "required": false; "isSignal": true; }; "additionalGroups": { "alias": "additionalGroups"; "required": false; "isSignal": true; }; "additionalSeparators": { "alias": "additionalSeparators"; "required": false; "isSignal": true; }; "keyHandler": { "alias": "keyHandler"; "required": false; }; }, { "filteredMenuItemChange": "filteredMenuItemChange"; "filterChanged": "filterChanged"; }, ["childMenuItems", "childSeparators", "childGroups", "menu"], [".filter-content", "*", "custom-menu-items"], true, never>;
1627
+ static ngAcceptInputType_showFilter: i1$1.BooleanInput;
1628
+ static ngAcceptInputType_focusFilterOnMount: i1$1.BooleanInput;
1629
+ }
1630
+
1631
+ /**
1632
+ * Sub-component for rendering a styled header section at the top of a menu
1633
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-menu--docs)
1634
+ */
1635
+ declare class FwMenuHeaderComponent {
1636
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuHeaderComponent, never>;
1637
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMenuHeaderComponent, "fw-menu-header", never, {}, {}, never, ["*", "fw-icon-button", "fw-badge"], true, never>;
1638
+ }
1639
+
1640
+ /**
1641
+ * @deprecated import component directly, intent to remove in v20
1642
+ */
1643
+ declare class FwMenuModule {
1644
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMenuModule, never>;
1645
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwMenuModule, never, [typeof i1$2.CdkMenuModule, typeof i1.CommonModule, typeof i2.FormsModule, typeof FwBadgeModule, typeof FwIconButtonModule, typeof FwIconModule, typeof FwTextInputModule, typeof FwTooltipModule, typeof FwCheckboxModule, typeof FwRadioModule, typeof FwMenuCloseTriggersDirective, typeof FwMenuComponent, typeof FwMenuContainerComponent, typeof FwMenuHeaderComponent, typeof FwMenuItemComponent, typeof FwMenuItemGroupComponent, typeof FwMenuSeparatorComponent, typeof FwMenuSubItemComponent], [typeof FwMenuCloseTriggersDirective, typeof FwMenuComponent, typeof FwMenuContainerComponent, typeof FwMenuHeaderComponent, typeof FwMenuItemComponent, typeof FwMenuItemGroupComponent, typeof FwMenuSeparatorComponent, typeof FwMenuSubItemComponent]>;
1646
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwMenuModule>;
1647
+ }
1648
+
1649
+ /**
1650
+ * Nested sub-item used inside a navbar item, with animated expand/collapse and optional href navigation
1651
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-navbar--docs)
1652
+ */
1653
+ declare class FwNavbarSubItemComponent {
1654
+ value?: string;
1655
+ title: string;
1656
+ description?: string;
1657
+ icon?: IconType;
1658
+ disabled?: boolean;
1659
+ hidden?: boolean;
1660
+ tooltipText?: string;
1661
+ showTooltip?: boolean;
1662
+ href?: string;
1663
+ target?: string;
1664
+ collapsed?: boolean;
1665
+ selected?: boolean;
1666
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNavbarSubItemComponent, never>;
1667
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwNavbarSubItemComponent, "fw-navbar-sub-item", never, { "value": { "alias": "value"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; "showTooltip": { "alias": "showTooltip"; "required": false; }; "href": { "alias": "href"; "required": false; }; "target": { "alias": "target"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, never, ["p", "fw-badge", "fw-icon", "fw-icon-button"], true, never>;
1668
+ }
1669
+
1670
+ /**
1671
+ * Navigation item for a navbar with an icon, title, optional sub-items, and collapsible/disabled state support
1672
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-navbar--docs)
1673
+ */
1674
+ declare class FwNavbarItemComponent implements OnChanges, AfterViewInit {
1675
+ value?: string;
1676
+ title: string;
1677
+ description?: string;
1678
+ icon?: IconType;
1679
+ iconColor?: 'primary' | 'secondary' | 'red' | 'orange' | 'green' | 'slate' | 'typography' | 'muted';
1680
+ disabled?: boolean;
1681
+ hidden?: boolean;
1682
+ tooltipText?: string;
1683
+ showTooltip?: boolean;
1684
+ collapsed?: boolean;
1685
+ href?: string;
1686
+ target?: string;
1687
+ subItemsOpen: boolean;
1688
+ subItemsTooltipTitle?: string;
1689
+ selected?: boolean;
1690
+ subItems: QueryList<FwNavbarSubItemComponent>;
1691
+ ngOnChanges(changes: SimpleChanges): void;
1692
+ ngAfterViewInit(): void;
1693
+ updateLayout(): void;
1694
+ toggleSubItemsView(event: Event): boolean;
1695
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNavbarItemComponent, never>;
1696
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwNavbarItemComponent, "fw-navbar-item", never, { "value": { "alias": "value"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "tooltipText": { "alias": "tooltipText"; "required": false; }; "showTooltip": { "alias": "showTooltip"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "href": { "alias": "href"; "required": false; }; "target": { "alias": "target"; "required": false; }; "subItemsOpen": { "alias": "subItemsOpen"; "required": false; }; "subItemsTooltipTitle": { "alias": "subItemsTooltipTitle"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, ["subItems"], ["fw-avatar", "p", "fw-badge", "fw-icon", "fw-icon-button", "fw-navbar-sub-item"], true, never>;
1697
+ }
1698
+
1699
+ /**
1700
+ * Component for a collapsible vertical navigation bar containing nav items with icons and labels
1701
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-navbar--docs)
1702
+ */
1703
+ declare class FwNavbarComponent implements OnChanges, AfterViewInit {
1704
+ disabled: any;
1705
+ collapsed?: boolean;
1706
+ width: string;
1707
+ menuItems: QueryList<FwNavbarItemComponent>;
1708
+ ngOnChanges(changes: SimpleChanges): void;
1709
+ ngAfterViewInit(): void;
1710
+ updateLayout(): void;
1711
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNavbarComponent, never>;
1712
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwNavbarComponent, "fw-navbar", never, { "disabled": { "alias": "disabled"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, ["menuItems"], ["*"], true, never>;
1713
+ }
1714
+
1715
+ /**
1716
+ * Sub-component for rendering the header area at the top of a navbar, typically used for branding or logo
1717
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-navbar--docs)
1718
+ */
1719
+ declare class FwNavbarHeaderComponent {
1720
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNavbarHeaderComponent, never>;
1721
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwNavbarHeaderComponent, "fw-navbar-header", never, {}, {}, never, ["*", "fw-icon-button", "fw-badge"], true, never>;
1722
+ }
1723
+
1724
+ /**
1725
+ * @deprecated import component directly, intent to remove in v20
1726
+ */
1727
+ declare class FwNavbarModule {
1728
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNavbarModule, never>;
1729
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwNavbarModule, never, [typeof i1$2.CdkMenuModule, typeof i1.CommonModule, typeof i2.FormsModule, typeof FwBadgeModule, typeof FwIconButtonModule, typeof FwIconModule, typeof FwTextInputModule, typeof FwTooltipModule, typeof FwNavbarComponent, typeof FwNavbarHeaderComponent, typeof FwNavbarItemComponent, typeof FwNavbarSubItemComponent], [typeof FwNavbarComponent, typeof FwNavbarHeaderComponent, typeof FwNavbarItemComponent, typeof FwNavbarSubItemComponent]>;
1730
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwNavbarModule>;
1731
+ }
1732
+
1733
+ /**
1734
+ * Form control component for numeric input with optional increment/decrement controls, icon actions, and Angular forms integration
1735
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-number-input--docs)
1736
+ */
1737
+ declare class FwNumberInputComponent implements ControlValueAccessor {
1738
+ disabled?: boolean;
1739
+ useActionableIcons?: boolean;
1740
+ leftIcon?: IconType;
1741
+ leftIconAction?: EventEmitter<void>;
1742
+ rightIcon?: string;
1743
+ rightIconAction?: EventEmitter<void>;
1744
+ prefix?: string;
1745
+ context?: string;
1746
+ placeholder?: string;
1747
+ readOnly?: boolean;
1748
+ size?: 'small' | 'medium' | 'large';
1749
+ min?: number;
1750
+ max?: number;
1751
+ step?: number;
1752
+ arrows?: 'native' | 'plus-minus' | 'none';
1753
+ numberType?: 'integer' | 'float';
1754
+ autofocus?: boolean;
1755
+ autocomplete?: boolean;
1756
+ error?: boolean;
1757
+ private _value;
1758
+ get value(): number | undefined;
1759
+ set value(v: number);
1760
+ numberInputRef: i0.Signal<ElementRef<HTMLInputElement>>;
1761
+ externalControl: FormControl | null;
1762
+ syncToDOM: i0.EffectRef;
1763
+ onTouch: () => void;
1764
+ onChange: (value: number) => void;
1765
+ writeValue(obj: number): void;
1766
+ registerOnChange(fn: any): void;
1767
+ registerOnTouched(fn: any): void;
1768
+ setDisabledState(isDisabled: boolean): void;
1769
+ changeHandler(event: Event): void;
1770
+ blurHandler(): void;
1771
+ onLeftIconClick(): void;
1772
+ onRightIconClick(): void;
1773
+ handleDecrement(): void;
1774
+ handleIncrement(): void;
1775
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNumberInputComponent, never>;
1776
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwNumberInputComponent, "fw-number-input", never, { "disabled": { "alias": "disabled"; "required": false; }; "useActionableIcons": { "alias": "useActionableIcons"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "context": { "alias": "context"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "size": { "alias": "size"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "arrows": { "alias": "arrows"; "required": false; }; "numberType": { "alias": "numberType"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "error": { "alias": "error"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "leftIconAction": "leftIconAction"; "rightIconAction": "rightIconAction"; }, never, ["input", "*"], true, never>;
1777
+ }
1778
+
1779
+ /**
1780
+ * @deprecated import component directly, intent to remove in v20
1781
+ */
1782
+ declare class FwNumberInputModule {
1783
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNumberInputModule, never>;
1784
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwNumberInputModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof i2.ReactiveFormsModule, typeof FwNumberInputComponent], [typeof FwNumberInputComponent]>;
1785
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwNumberInputModule>;
1786
+ }
1787
+
1788
+ interface FwPaginatorEvent {
1789
+ length: number;
1790
+ pageSize: number;
1791
+ pageIndex: number;
1792
+ previousPageIndex: number;
1793
+ rowIndexStart: number;
1794
+ rowIndexEnd: number;
1795
+ }
1796
+
1797
+ interface PaginationPage {
1798
+ pageIndex: number;
1799
+ number: number;
1800
+ active: boolean;
1801
+ }
1802
+ /**
1803
+ * Component for page-based navigation with configurable page size, visible page count, and first/last/previous/next buttons
1804
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-paginator--docs)
1805
+ */
1806
+ declare class FwPaginatorComponent implements OnChanges {
1807
+ size: 'small' | 'medium' | 'large';
1808
+ color: 'slate' | 'primary' | 'secondary';
1809
+ shape: 'rounded' | 'circle';
1810
+ variant: 'ghost' | 'outline' | 'solid';
1811
+ disabled: boolean;
1812
+ showNext: boolean;
1813
+ showPrevious: boolean;
1814
+ showFirst: boolean;
1815
+ showLast: boolean;
1816
+ pageIndex: number;
1817
+ pageSize: number;
1818
+ maxPagesShown: number;
1819
+ length: number;
1820
+ alignment: 'start' | 'center' | 'end';
1821
+ selectorTitle: string;
1822
+ page: EventEmitter<FwPaginatorEvent>;
1823
+ pages: PaginationPage[];
1824
+ pagesTrackByFn: TrackByFunction<PaginationPage>;
1825
+ ngOnChanges(changes: SimpleChanges): void;
1826
+ private buildPageEvent;
1827
+ firstPage(): void;
1828
+ lastPage(): void;
1829
+ nextPage(): void;
1830
+ previousPage(): void;
1831
+ setPage(pageIndex: number): void;
1832
+ getPages(): PaginationPage[];
1833
+ getNumberOfPages(): number;
1834
+ getRowIndexStart(pageIndex?: number): number;
1835
+ getRowIndexEnd(pageIndex?: number): number;
1836
+ hasNextPage(): boolean;
1837
+ hasPreviousPage(): boolean;
1838
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPaginatorComponent, never>;
1839
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwPaginatorComponent, "fw-paginator", never, { "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showNext": { "alias": "showNext"; "required": false; }; "showPrevious": { "alias": "showPrevious"; "required": false; }; "showFirst": { "alias": "showFirst"; "required": false; }; "showLast": { "alias": "showLast"; "required": false; }; "pageIndex": { "alias": "pageIndex"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "maxPagesShown": { "alias": "maxPagesShown"; "required": false; }; "length": { "alias": "length"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "selectorTitle": { "alias": "selectorTitle"; "required": false; }; }, { "page": "page"; }, never, never, true, never>;
1840
+ }
1841
+
1842
+ declare class MenuManagerService {
1843
+ private triggers;
1844
+ register(trigger: CdkMenuTrigger): void;
1845
+ unregister(trigger: CdkMenuTrigger): void;
1846
+ closeAllExcept(current: CdkMenuTrigger): void;
1847
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuManagerService, never>;
1848
+ static ɵprov: i0.ɵɵInjectableDeclaration<MenuManagerService>;
1849
+ }
1850
+
1851
+ declare class MenuRegisterDirective implements OnInit, OnDestroy {
1852
+ private trigger;
1853
+ private menuManager;
1854
+ constructor(trigger: CdkMenuTrigger, menuManager: MenuManagerService);
1855
+ private onClick;
1856
+ ngOnInit(): void;
1857
+ ngOnDestroy(): void;
1858
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuRegisterDirective, [{ optional: true; host: true; }, { optional: true; }]>;
1859
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MenuRegisterDirective, "[fwMenuRegister]", never, {}, {}, never, never, true, never>;
1860
+ }
1861
+
1862
+ /**
1863
+ * Form control component for selecting multiple options from a dropdown, displaying selected values as chips
1864
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-multi-select--docs)
1865
+ */
1866
+ declare class FwMultiSelectMenuComponent implements ControlValueAccessor, AfterContentInit, OnDestroy {
1867
+ private elementRef;
1868
+ outsideClick(event: MouseEvent): void;
1869
+ options: object[];
1870
+ valueProperty?: string;
1871
+ titleProperty?: string;
1872
+ iconProperty?: string;
1873
+ emptyText: string;
1874
+ placeholder: string;
1875
+ disabled?: boolean;
1876
+ useCheckbox?: boolean;
1877
+ closeOnSelect?: boolean;
1878
+ maxSelectedShown: number;
1879
+ showClear: i0.InputSignal<boolean>;
1880
+ showFilter: i0.InputSignalWithTransform<boolean, BooleanInput>;
1881
+ showSelectionInfo: i0.InputSignalWithTransform<boolean, BooleanInput>;
1882
+ filterItemsOnSelect: i0.InputSignalWithTransform<boolean, BooleanInput>;
1883
+ width: string;
1884
+ minHeight: string;
1885
+ maxHeight: string;
1886
+ optionsWidth?: string;
1887
+ minOptionsHeight?: string;
1888
+ maxOptionsHeight: string;
1889
+ size?: 'small' | 'medium' | 'large';
1890
+ trigger: CdkMenuTrigger;
1891
+ menu: FwMenuComponent;
1892
+ menuFilter: i0.Signal<FwMenuContainerComponent>;
1893
+ renderedMenuItems: QueryList<FwMenuItemComponent>;
1894
+ customMenuItems: QueryList<FwMenuItemComponent>;
1895
+ createArray: (d: Iterable<string>) => string[];
1896
+ selectedValues: Set<string>;
1897
+ selectedOptions: object[];
1898
+ displayedOptions: WritableSignal<FwMenuItemComponent[]>;
1899
+ focusedIndex: WritableSignal<number>;
1900
+ touched: boolean;
1901
+ private subscriptions;
1902
+ private _isOpen;
1903
+ change: EventEmitter<any>;
1904
+ get value(): any[];
1905
+ set value(newValue: any[]);
1906
+ private _value;
1907
+ constructor(elementRef: ElementRef);
1908
+ tabIndex: number;
1909
+ get disabledClass(): boolean;
1910
+ onChange: (value: any[]) => void;
1911
+ onTouched: () => void;
1912
+ registerOnChange(fn: (value: any[]) => void): void;
1913
+ registerOnTouched(fn: () => void): void;
1914
+ setDisabledState?(isDisabled: boolean): void;
1915
+ writeValue(value: any[]): void;
1916
+ ngOnDestroy(): void;
1917
+ ngAfterContentInit(): void;
1918
+ private registerCustomMenuItems;
1919
+ handleTouched(): void;
1920
+ handleChipClose(chip: object): void;
1921
+ handleMenuChange(e: string | string[]): void;
1922
+ addValue(incoming: string): void;
1923
+ updateValue(incomingValues: any[]): void;
1924
+ customFilter: (filter: string, menuItems: FwMenuItemComponent[]) => FwMenuItemComponent[];
1925
+ private moveFocused;
1926
+ setFocusedIndex(item: unknown): void;
1927
+ displayFocusIndicator: i0.EffectRef;
1928
+ private keyboardActionMap;
1929
+ private closedTriggerKeyboardActionsMap;
1930
+ handleKeyDown: (event: KeyboardEvent) => void;
1931
+ private postSelectSideEffects;
1932
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwMultiSelectMenuComponent, never>;
1933
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwMultiSelectMenuComponent, "fw-multi-select", never, { "options": { "alias": "options"; "required": false; }; "valueProperty": { "alias": "valueProperty"; "required": false; }; "titleProperty": { "alias": "titleProperty"; "required": false; }; "iconProperty": { "alias": "iconProperty"; "required": false; }; "emptyText": { "alias": "emptyText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "useCheckbox": { "alias": "useCheckbox"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "maxSelectedShown": { "alias": "maxSelectedShown"; "required": false; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "showFilter": { "alias": "showFilter"; "required": false; "isSignal": true; }; "showSelectionInfo": { "alias": "showSelectionInfo"; "required": false; "isSignal": true; }; "filterItemsOnSelect": { "alias": "filterItemsOnSelect"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "optionsWidth": { "alias": "optionsWidth"; "required": false; }; "minOptionsHeight": { "alias": "minOptionsHeight"; "required": false; }; "maxOptionsHeight": { "alias": "maxOptionsHeight"; "required": false; }; "size": { "alias": "size"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "change": "change"; }, ["customMenuItems"], ["[fw-menu-item, fw-menu-separator, fw-menu-item-group, fw-menu-header]"], true, never>;
1934
+ }
1935
+
1936
+ type DisplayFn = (menuItem: FwMenuItemComponent) => string;
1937
+ /**
1938
+ * Form control component for a searchable single-select dropdown menu with keyboard navigation and Angular forms integration
1939
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-select--docs)
1940
+ */
1941
+ declare class FwSelectMenuComponent implements OnInit, OnDestroy, ControlValueAccessor {
1942
+ private ngControl;
1943
+ outsideClick(evt: any): void;
1944
+ get disabledClass(): boolean;
1945
+ options: i0.InputSignal<Object[]>;
1946
+ valueProperty: i0.InputSignal<string>;
1947
+ useFullOptionAsValue: i0.InputSignal<boolean>;
1948
+ titleProperty: i0.InputSignal<string>;
1949
+ iconProperty: i0.InputSignal<string>;
1950
+ staticIcon: i0.InputSignal<"search" | "link" | "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-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" | "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-unlink" | "linkedin" | "linux" | "list-paragraph" | "list-paragraph-number" | "list-test-lab-flask" | "livewire-tool" | "loading-status-checkmark" | "lock" | "lock-unlock" | "logout" | "lungs" | "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" | "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-loop" | "search-user-profile-person" | "search-zoom-minus" | "search-zoom-plus" | "section-form-element" | "send-message-share" | "server" | "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">;
1951
+ descriptionProperty: i0.InputSignal<string>;
1952
+ showFilter: i0.InputSignal<boolean>;
1953
+ showReset: i0.InputSignal<boolean>;
1954
+ disabled: i0.ModelSignal<boolean>;
1955
+ errored: i0.InputSignal<boolean>;
1956
+ width: i0.InputSignal<string>;
1957
+ optionsWidth: i0.InputSignal<string>;
1958
+ minOptionsHeight: i0.InputSignal<string>;
1959
+ maxOptionsHeight: i0.InputSignal<string>;
1960
+ size: i0.InputSignal<"small" | "large" | "medium">;
1961
+ placeholder: i0.InputSignal<string>;
1962
+ trigger: CdkMenuTrigger;
1963
+ textInput: FwTextInputComponent;
1964
+ menu: i0.Signal<FwMenuComponent>;
1965
+ menuItems: i0.Signal<readonly FwMenuItemComponent[]>;
1966
+ viewMenuItems: i0.Signal<readonly FwMenuItemComponent[]>;
1967
+ menuItemGroups: i0.Signal<readonly FwMenuItemGroupComponent[]>;
1968
+ menuSeparators: i0.Signal<readonly FwMenuSeparatorComponent[]>;
1969
+ change: EventEmitter<any>;
1970
+ readonly filterChanged: EventEmitter<string>;
1971
+ selectValue: i0.WritableSignal<string>;
1972
+ selectIcon: IconType | undefined;
1973
+ filterValue: i0.WritableSignal<string>;
1974
+ private menuItemClickSubscriptions;
1975
+ private subscriptions;
1976
+ private _isOpen;
1977
+ focused: number;
1978
+ inFocusOpen: boolean;
1979
+ preFocusValue: any;
1980
+ isTyping: i0.WritableSignal<boolean>;
1981
+ valueDisplayFn: i0.InputSignal<DisplayFn>;
1982
+ custom(menuItem: FwMenuItemComponent): string;
1983
+ private defaultFilterFn;
1984
+ /**
1985
+ * function for customizing the filter behavior of the select
1986
+ * ! WARNING ! only works with content-projected menu items, does not work with the `options` input
1987
+ */
1988
+ filterFn: i0.InputSignal<MenuFilterFn>;
1989
+ inputDisplayValue: i0.Signal<string>;
1990
+ get value(): any;
1991
+ set value(newValue: any);
1992
+ private _value;
1993
+ constructor(ngControl: NgControl);
1994
+ ngOnInit(): void;
1995
+ private findRenderedMenuItem;
1996
+ selectTitle: i0.WritableSignal<string>;
1997
+ private subscribeToMenuItems;
1998
+ private menuItemsWatcher;
1999
+ ngOnDestroy(): void;
2000
+ get invalid(): boolean;
2001
+ get touched(): boolean;
2002
+ filteredOptions: i0.Signal<Object[]>;
2003
+ optionsWithValues: i0.Signal<{
2004
+ raw: Object;
2005
+ trackingId: any;
2006
+ value: any;
2007
+ }[]>;
2008
+ onChange(newValue: any): void;
2009
+ onTouched: () => void;
2010
+ externalOnChange: (_val: unknown) => void;
2011
+ registerOnChange(fn: (value: any) => void): void;
2012
+ registerOnTouched(fn: () => {}): void;
2013
+ setDisabledState(isDisabled: boolean): void;
2014
+ writeValue(value: any): void;
2015
+ handleClick(e: string): void;
2016
+ /**
2017
+ * Get all available items for navigation, either from options or menuItems
2018
+ */
2019
+ getAvailableItems(): any[];
2020
+ /**
2021
+ * Update highlighting for the currently selected item
2022
+ */
2023
+ updateHighlighting(): void;
2024
+ /**
2025
+ * Initialize focused index to the currently selected item
2026
+ */
2027
+ initializeFocusedIndex(): void;
2028
+ moveFocused(direction: string): void;
2029
+ handleFocus(): void;
2030
+ handleInputClick(): void;
2031
+ handleKeyDown(event: KeyboardEvent): void;
2032
+ handleKeyUp(event: KeyboardEvent): void;
2033
+ updateValue(newValue: unknown): void;
2034
+ handleReset(): void;
2035
+ close(): void;
2036
+ onFilterChanged(value: string): void;
2037
+ onInputChange(event: Event): void;
2038
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSelectMenuComponent, [{ optional: true; self: true; }]>;
2039
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwSelectMenuComponent, "fw-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "valueProperty": { "alias": "valueProperty"; "required": false; "isSignal": true; }; "useFullOptionAsValue": { "alias": "useFullOptionAsValue"; "required": false; "isSignal": true; }; "titleProperty": { "alias": "titleProperty"; "required": false; "isSignal": true; }; "iconProperty": { "alias": "iconProperty"; "required": false; "isSignal": true; }; "staticIcon": { "alias": "staticIcon"; "required": false; "isSignal": true; }; "descriptionProperty": { "alias": "descriptionProperty"; "required": false; "isSignal": true; }; "showFilter": { "alias": "showFilter"; "required": false; "isSignal": true; }; "showReset": { "alias": "showReset"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "errored": { "alias": "errored"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "optionsWidth": { "alias": "optionsWidth"; "required": false; "isSignal": true; }; "minOptionsHeight": { "alias": "minOptionsHeight"; "required": false; "isSignal": true; }; "maxOptionsHeight": { "alias": "maxOptionsHeight"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "valueDisplayFn": { "alias": "valueDisplayFn"; "required": false; "isSignal": true; }; "filterFn": { "alias": "filterFn"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; }, { "disabled": "disabledChange"; "change": "change"; "filterChanged": "filterChanged"; }, ["menuItems", "menuItemGroups", "menuSeparators"], ["[fw-menu-item, fw-menu-separator, fw-menu-item-group]"], true, never>;
2040
+ }
2041
+
2042
+ /**
2043
+ * @deprecated import component directly, intent to remove in v20
2044
+ */
2045
+ declare class FwSelectMenuModule {
2046
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSelectMenuModule, never>;
2047
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwSelectMenuModule, never, [typeof i1.CommonModule, typeof i1$2.CdkMenuModule, typeof i2.FormsModule, typeof FwButtonModule, typeof FwChipModule, typeof FwIconModule, typeof FwMenuModule, typeof FwTextInputModule, typeof MenuRegisterDirective, typeof FwMultiSelectMenuComponent, typeof FwSelectMenuComponent], [typeof FwMultiSelectMenuComponent, typeof FwSelectMenuComponent]>;
2048
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwSelectMenuModule>;
2049
+ }
2050
+
2051
+ /**
2052
+ * Advanced paginator component with a page-size selector and first/last/previous/next navigation controls
2053
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-paginator--docs)
2054
+ */
2055
+ declare class FwPaginatorAdvancedComponent {
2056
+ disabled: boolean;
2057
+ showNext: boolean;
2058
+ showPrevious: boolean;
2059
+ showFirst: boolean;
2060
+ showLast: boolean;
2061
+ pageIndex: number;
2062
+ pageSizeOptions: number[];
2063
+ length: number;
2064
+ alignment: 'start' | 'center' | 'end';
2065
+ selectorTitle: string;
2066
+ get pageSize(): number;
2067
+ set pageSize(newSize: number);
2068
+ private _pageSize;
2069
+ page: EventEmitter<FwPaginatorEvent>;
2070
+ private buildPageEvent;
2071
+ firstPage(): void;
2072
+ lastPage(): void;
2073
+ nextPage(): void;
2074
+ previousPage(): void;
2075
+ setPage(pageNumber: number): void;
2076
+ getNumberOfPages(): number;
2077
+ getRowIndexStart(pageIndex?: number): number;
2078
+ getRowIndexEnd(pageIndex?: number): number;
2079
+ hasNextPage(): boolean;
2080
+ hasPreviousPage(): boolean;
2081
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPaginatorAdvancedComponent, never>;
2082
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwPaginatorAdvancedComponent, "fw-paginator-advanced", never, { "disabled": { "alias": "disabled"; "required": false; }; "showNext": { "alias": "showNext"; "required": false; }; "showPrevious": { "alias": "showPrevious"; "required": false; }; "showFirst": { "alias": "showFirst"; "required": false; }; "showLast": { "alias": "showLast"; "required": false; }; "pageIndex": { "alias": "pageIndex"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "length": { "alias": "length"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "selectorTitle": { "alias": "selectorTitle"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; }, { "page": "page"; }, never, never, true, never>;
2083
+ }
2084
+
2085
+ /**
2086
+ * @deprecated import component directly, intent to remove in v20
2087
+ */
2088
+ declare class FwPaginatorModule {
2089
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPaginatorModule, never>;
2090
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwPaginatorModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof FwIconButtonModule, typeof FwIconModule, typeof FwMenuModule, typeof FwSelectMenuModule, typeof FwPaginatorComponent, typeof FwPaginatorAdvancedComponent], [typeof FwPaginatorComponent, typeof FwPaginatorAdvancedComponent]>;
2091
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwPaginatorModule>;
2092
+ }
2093
+
2094
+ interface Country {
2095
+ name: string;
2096
+ iso2: string;
2097
+ dialCode: string;
2098
+ priority: number;
2099
+ areaCodes?: string[];
2100
+ flagClass: string;
2101
+ placeHolder?: string;
2102
+ }
2103
+ type PhoneNumberFormat = 'default' | 'national' | 'international';
2104
+
2105
+ /**
2106
+ * Form control component for international phone number input with a country selector and format-as-you-type support
2107
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-phone-input--docs)
2108
+ */
2109
+ declare class FwPhoneInputComponent implements OnInit, OnChanges, ControlValueAccessor {
2110
+ private _changeDetectorRef;
2111
+ preferredCountries: Array<string>;
2112
+ onlyCountries: Array<string>;
2113
+ enableCountrySearch: boolean;
2114
+ showCountrySelector?: boolean;
2115
+ size?: 'small' | 'medium' | 'large';
2116
+ rightIcon?: string;
2117
+ /**
2118
+ * @deprecated please use fw-wrapped-input instead
2119
+ */
2120
+ helperText?: string;
2121
+ /**
2122
+ * @deprecated please use fw-wrapped-input instead
2123
+ */
2124
+ errorText?: string;
2125
+ placeholder?: string;
2126
+ readOnly?: boolean;
2127
+ error?: boolean;
2128
+ value: E164Number | string | undefined;
2129
+ get disabled(): boolean;
2130
+ set disabled(value: boolean);
2131
+ get format(): PhoneNumberFormat;
2132
+ set format(value: PhoneNumberFormat);
2133
+ countryChanged: EventEmitter<Country>;
2134
+ trigger: CdkMenuTrigger;
2135
+ phoneFormattedNational: string | undefined;
2136
+ allCountryList: Array<Country>;
2137
+ preferredCountryList: Array<Country>;
2138
+ selectedCountry: Country | undefined;
2139
+ selectedCountryCode: CountryCode | undefined;
2140
+ filteredCountryItems: Array<FwMenuItemComponent>;
2141
+ private _value;
2142
+ private _disabled;
2143
+ private _format;
2144
+ private _numberObject;
2145
+ private _previousFormattedNumber;
2146
+ static getPhoneNumberPlaceHolder(countryISOCode: CountryCode): string | undefined;
2147
+ onTouched: () => void;
2148
+ onChange: any;
2149
+ constructor(_changeDetectorRef: ChangeDetectorRef);
2150
+ ngOnInit(): void;
2151
+ ngOnChanges(changes: SimpleChanges): void;
2152
+ phoneNumberChange(): void;
2153
+ protected countrySelect(isoValue: string, el: HTMLElement): void;
2154
+ protected filteredItemsChange(menuItems: any): void;
2155
+ getCountry(code: string): Country;
2156
+ buttonKeyPress(event: KeyboardEvent): void;
2157
+ inputKeyPress(event: KeyboardEvent): void;
2158
+ protected fetchCountryData(): void;
2159
+ registerOnChange(fn: any): void;
2160
+ registerOnTouched(fn: any): void;
2161
+ setDisabledState(isDisabled: boolean): void;
2162
+ writeValue(value: any): void;
2163
+ private get formattedPhoneNumber();
2164
+ private formatAsYouTypeIfEnabled;
2165
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPhoneInputComponent, never>;
2166
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwPhoneInputComponent, "fw-phone-input", never, { "preferredCountries": { "alias": "preferredCountries"; "required": false; }; "onlyCountries": { "alias": "onlyCountries"; "required": false; }; "enableCountrySearch": { "alias": "enableCountrySearch"; "required": false; }; "showCountrySelector": { "alias": "showCountrySelector"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "error": { "alias": "error"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, { "countryChanged": "countryChanged"; }, never, ["*"], true, never>;
2167
+ }
2168
+
2169
+ /**
2170
+ * @deprecated import component directly, intent to remove in v20
2171
+ */
2172
+ declare class FwPhoneInputModule {
2173
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwPhoneInputModule, never>;
2174
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwPhoneInputModule, never, [typeof i1$2.CdkMenuModule, typeof FwButtonModule, typeof FwIconModule, typeof FwMenuModule, typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof FwPhoneInputComponent], [typeof FwPhoneInputComponent]>;
2175
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwPhoneInputModule>;
2176
+ }
2177
+
2178
+ /**
2179
+ * Sub-component for a back-navigation button that calls a custom function or falls back to the browser history
2180
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-section-heading--docs)
2181
+ */
2182
+ declare class FwBackButtonComponent {
2183
+ location: Location;
2184
+ backFunction?: () => {};
2185
+ class: string;
2186
+ constructor(location: Location);
2187
+ handleClick(): void;
2188
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwBackButtonComponent, never>;
2189
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwBackButtonComponent, "fw-back-button", never, { "backFunction": { "alias": "backFunction"; "required": false; }; }, {}, never, never, true, never>;
2190
+ }
2191
+
2192
+ /**
2193
+ * Component for a page or section title with an optional description, icon, and back-navigation button
2194
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-section-heading--docs)
2195
+ */
2196
+ declare class FwSectionHeadingComponent {
2197
+ class: string;
2198
+ title: string;
2199
+ description?: string;
2200
+ backButton?: boolean;
2201
+ backFunction?: () => {};
2202
+ icon?: IconType;
2203
+ constructor();
2204
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSectionHeadingComponent, never>;
2205
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwSectionHeadingComponent, "fw-section-heading", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "backButton": { "alias": "backButton"; "required": false; }; "backFunction": { "alias": "backFunction"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["fw-icon", "fw-chip", "p", "*"], true, never>;
2206
+ }
2207
+
2208
+ /**
2209
+ * Component for a subsection title with an optional icon, used to divide content within a section
2210
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-section-heading--docs)
2211
+ */
2212
+ declare class FwSubsectionHeadingComponent {
2213
+ title: string;
2214
+ icon?: IconType;
2215
+ constructor();
2216
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSubsectionHeadingComponent, never>;
2217
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwSubsectionHeadingComponent, "fw-subsection-heading", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["*"], true, never>;
2218
+ }
2219
+
2220
+ /**
2221
+ * @deprecated import component directly, intent to remove in v20
2222
+ */
2223
+ declare class FwSectionHeadingModule {
2224
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSectionHeadingModule, never>;
2225
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwSectionHeadingModule, never, [typeof i1.CommonModule, typeof FwButtonModule, typeof FwIconModule, typeof FwBackButtonComponent, typeof FwSectionHeadingComponent, typeof FwSubsectionHeadingComponent], [typeof FwBackButtonComponent, typeof FwSectionHeadingComponent, typeof FwSubsectionHeadingComponent]>;
2226
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwSectionHeadingModule>;
2227
+ }
2228
+
2229
+ declare abstract class TranslationService {
2230
+ abstract getMessage(key: string, silent?: boolean): Observable<string>;
2231
+ }
2232
+ /**
2233
+ * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
2234
+ */
2235
+ declare class MinimalTranslationService implements TranslationService {
2236
+ private static messages;
2237
+ getMessage(key: string, silent?: boolean): Observable<string>;
2238
+ static ɵfac: i0.ɵɵFactoryDeclaration<MinimalTranslationService, never>;
2239
+ static ɵprov: i0.ɵɵInjectableDeclaration<MinimalTranslationService>;
2240
+ }
2241
+
2242
+ interface FwSnackbarMessage {
2243
+ id?: string;
2244
+ severity: 'info' | 'success' | 'warning' | 'error';
2245
+ message: string | TemplateRef<any>;
2246
+ icon?: string;
2247
+ showClose?: boolean;
2248
+ actionText?: string;
2249
+ action?: () => void;
2250
+ duration?: number;
2251
+ ref?: FwSnackbarComponent;
2252
+ templateContext?: object;
2253
+ }
2254
+
2255
+ declare class FwSnackbarTimerService {
2256
+ private timerId;
2257
+ private now;
2258
+ private remainingDuration;
2259
+ private resolver;
2260
+ start(duration: number): Promise<void>;
2261
+ stop(): void;
2262
+ pause(): void;
2263
+ continue(): void;
2264
+ }
2265
+
2266
+ /**
2267
+ * Component for displaying a timed notification message with severity styling, optional action, and dismiss support
2268
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-snackbar--docs)
2269
+ */
2270
+ declare class FwSnackbarComponent implements AfterViewInit {
2271
+ private cdr;
2272
+ private timerService;
2273
+ message: i0.InputSignal<FwSnackbarMessage>;
2274
+ messageDuration: i0.InputSignal<number>;
2275
+ ready: i0.OutputEmitterRef<FwSnackbarComponent>;
2276
+ dismiss: i0.OutputEmitterRef<string>;
2277
+ action: i0.OutputEmitterRef<string>;
2278
+ private defaultIcons;
2279
+ icon: i0.Signal<string>;
2280
+ showClose: i0.Signal<boolean>;
2281
+ duration: i0.Signal<number>;
2282
+ color: i0.Signal<"primary" | "secondary" | "slate" | "warning" | "success" | "danger" | "skeleton">;
2283
+ isTemplateRef: i0.Signal<boolean>;
2284
+ get cssClass(): string;
2285
+ constructor(cdr: ChangeDetectorRef, timerService: FwSnackbarTimerService);
2286
+ ngAfterViewInit(): void;
2287
+ startTimer(): void;
2288
+ stopTimer(): void;
2289
+ handleDismiss(): void;
2290
+ handleAction(): void;
2291
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSnackbarComponent, never>;
2292
+ static ɵcmp: i0.ɵɵ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>;
2293
+ }
2294
+
2295
+ declare function genMessageId(): string;
2296
+ declare class FwSnackbarService {
2297
+ readonly messages$: BehaviorSubject<FwSnackbarMessage[]>;
2298
+ private messageQueue;
2299
+ show(message: FwSnackbarMessage): void;
2300
+ dismiss(messageId: string): void;
2301
+ dismissAll(): void;
2302
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSnackbarService, never>;
2303
+ static ɵprov: i0.ɵɵInjectableDeclaration<FwSnackbarService>;
2304
+ }
2305
+
2306
+ /**
2307
+ * Internal container component that listens to the snackbar service and renders the active snackbar message queue
2308
+ */
2309
+ declare class FwSnackbarContainerComponent implements OnDestroy {
2310
+ private cdr;
2311
+ private snackbarService;
2312
+ get classes(): string;
2313
+ limit: number;
2314
+ messages: FwSnackbarMessage[];
2315
+ private subscriptions;
2316
+ constructor(cdr: ChangeDetectorRef, snackbarService: FwSnackbarService);
2317
+ ngOnDestroy(): void;
2318
+ onReady(snackbar: FwSnackbarComponent): void;
2319
+ onDismiss(messageId: string): void;
2320
+ clearAll(): void;
2321
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSnackbarContainerComponent, never>;
2322
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwSnackbarContainerComponent, "fw-snackbar-container", never, {}, {}, never, never, true, never>;
2323
+ }
2324
+
2325
+ /**
2326
+ * @deprecated import component directly, intent to remove in v20
2327
+ */
2328
+ declare class FwSnackbarModule {
2329
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwSnackbarModule, never>;
2330
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwSnackbarModule, never, [typeof i1.CommonModule, typeof FwButtonModule, typeof FwIconButtonModule, typeof FwIconModule, typeof FwSnackbarComponent, typeof FwSnackbarContainerComponent], [typeof FwSnackbarComponent, typeof FwSnackbarContainerComponent]>;
2331
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwSnackbarModule>;
2332
+ }
2333
+
2334
+ /**
2335
+ * Individual step used inside a stepper, displaying a step number or icon with active, completed, done, and error states
2336
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-stepper--docs)
2337
+ */
2338
+ declare class FwStepComponent implements OnChanges {
2339
+ stepNumber: number;
2340
+ color?: 'slate' | 'success' | 'error' | 'warning' | 'info';
2341
+ variant?: 'number' | 'icon' | 'decorator';
2342
+ alignment?: 'left' | 'center';
2343
+ backgroundColor?: string;
2344
+ title: string;
2345
+ description?: string;
2346
+ icon?: IconType;
2347
+ disabled?: boolean;
2348
+ active?: boolean;
2349
+ completed?: boolean;
2350
+ done?: boolean;
2351
+ status?: 'default' | 'active' | 'completed' | 'done' | 'disabled' | 'error' | 'warning' | 'info';
2352
+ select: EventEmitter<number>;
2353
+ handleClick(): void;
2354
+ ngOnChanges(changes: SimpleChanges): void;
2355
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwStepComponent, never>;
2356
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwStepComponent, "fw-step", never, { "stepNumber": { "alias": "stepNumber"; "required": false; }; "color": { "alias": "color"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "active": { "alias": "active"; "required": false; }; "completed": { "alias": "completed"; "required": false; }; "done": { "alias": "done"; "required": false; }; "status": { "alias": "status"; "required": false; }; }, { "select": "select"; }, never, ["fw-step-decorator"], true, never>;
2357
+ }
2358
+ declare class FwStepDecoratorComponent {
2359
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwStepDecoratorComponent, never>;
2360
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwStepDecoratorComponent, "fw-step-decorator", never, {}, {}, never, ["*"], true, never>;
2361
+ }
2362
+
2363
+ /**
2364
+ * Component for a step-by-step progress indicator that tracks active, completed, and done step states
2365
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-stepper--docs)
2366
+ */
2367
+ declare class FwStepperComponent implements OnChanges, OnDestroy, AfterContentInit {
2368
+ private sanitizer;
2369
+ activeStep: number;
2370
+ doneStep?: number;
2371
+ alignment?: 'left' | 'center';
2372
+ backgroundColor?: string;
2373
+ stepChange: EventEmitter<number>;
2374
+ steps: QueryList<FwStepComponent>;
2375
+ get style(): SafeStyle;
2376
+ private subscriptions;
2377
+ constructor(sanitizer: DomSanitizer);
2378
+ ngOnDestroy(): void;
2379
+ ngOnChanges(changes: SimpleChanges): void;
2380
+ ngAfterContentInit(): void;
2381
+ handleSelect(step?: number): void;
2382
+ updateSteps(): void;
2383
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwStepperComponent, never>;
2384
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwStepperComponent, "fw-stepper", never, { "activeStep": { "alias": "activeStep"; "required": false; }; "doneStep": { "alias": "doneStep"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; }, { "stepChange": "stepChange"; }, ["steps"], ["fw-step"], true, never>;
2385
+ }
2386
+
2387
+ /**
2388
+ * @deprecated import component directly, intent to remove in v20
2389
+ */
2390
+ declare class FwStepperModule {
2391
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwStepperModule, never>;
2392
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwStepperModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwIconButtonModule, typeof FwStepComponent, typeof FwStepDecoratorComponent, typeof FwStepperComponent], [typeof FwStepComponent, typeof FwStepDecoratorComponent, typeof FwStepperComponent]>;
2393
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwStepperModule>;
2394
+ }
2395
+
2396
+ /**
2397
+ * Cell definition for the fw-table.
2398
+ * Captures the template of a column's data row cell as well as cell-specific properties.
2399
+ */
2400
+ declare class FwCellDef extends CdkCellDef {
2401
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCellDef, never>;
2402
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwCellDef, "[fwCellDef]", never, {}, {}, never, never, true, never>;
2403
+ }
2404
+ /**
2405
+ * Header cell definition for the fw-table.
2406
+ * Captures the template of a column's header cell and as well as cell-specific properties.
2407
+ */
2408
+ declare class FwHeaderCellDef extends CdkHeaderCellDef {
2409
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderCellDef, never>;
2410
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwHeaderCellDef, "[fwHeaderCellDef]", never, {}, {}, never, never, true, never>;
2411
+ }
2412
+ /**
2413
+ * Footer cell definition for the fw-table.
2414
+ * Captures the template of a column's footer cell and as well as cell-specific properties.
2415
+ */
2416
+ declare class FwFooterCellDef extends CdkFooterCellDef {
2417
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterCellDef, never>;
2418
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwFooterCellDef, "[fwFooterCellDef]", never, {}, {}, never, never, true, never>;
2419
+ }
2420
+ /**
2421
+ * Column definition for the fw-table.
2422
+ * Defines a set of cells available for a table column.
2423
+ */
2424
+ declare class FwColumnDef extends CdkColumnDef {
2425
+ /** Unique name for this column. */
2426
+ get name(): string;
2427
+ set name(name: string);
2428
+ /**
2429
+ * Add "fw-column-" prefix in addition to "cdk-column-" prefix.
2430
+ * In the future, this will only add "fw-column-" and columnCssClassName
2431
+ * will change from type string[] to string.
2432
+ * @docs-private
2433
+ */
2434
+ protected _updateColumnCssClassName(): void;
2435
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwColumnDef, never>;
2436
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwColumnDef, "[fwColumnDef]", never, { "name": { "alias": "fwColumnDef"; "required": false; }; }, {}, never, never, true, never>;
2437
+ }
2438
+ /** Header cell template container that adds the right classes and role. */
2439
+ declare class FwHeaderCell extends CdkHeaderCell {
2440
+ class: string;
2441
+ role: string;
2442
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderCell, never>;
2443
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwHeaderCell, "fw-header-cell, th[fw-header-cell]", never, {}, {}, never, never, true, never>;
2444
+ }
2445
+ /** Footer cell template container that adds the right classes and role. */
2446
+ declare class FwFooterCell extends CdkFooterCell {
2447
+ class: string;
2448
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterCell, never>;
2449
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwFooterCell, "fw-footer-cell, td[fw-footer-cell]", never, {}, {}, never, never, true, never>;
2450
+ }
2451
+ /** Cell template container that adds the right classes and role. */
2452
+ declare class FwCell extends CdkCell {
2453
+ class: string;
2454
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwCell, never>;
2455
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwCell, "fw-cell, td[fw-cell]", never, {}, {}, never, never, true, never>;
2456
+ }
2457
+
2458
+ /**
2459
+ * Header row definition for the fw-table.
2460
+ * Captures the header row's template and other header properties such as the columns to display.
2461
+ */
2462
+ declare class FwHeaderRowDef extends CdkHeaderRowDef {
2463
+ columns: string[];
2464
+ set stickyInput(value: boolean);
2465
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderRowDef, never>;
2466
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwHeaderRowDef, "[fwHeaderRowDef]", never, { "columns": { "alias": "fwHeaderRowDef"; "required": false; }; "stickyInput": { "alias": "fwHeaderRowDefSticky"; "required": false; }; }, {}, never, never, true, never>;
2467
+ }
2468
+ /**
2469
+ * Footer row definition for the fw-table.
2470
+ * Captures the footer row's template and other footer properties such as the columns to display.
2471
+ */
2472
+ declare class FwFooterRowDef extends CdkFooterRowDef {
2473
+ columns: string[];
2474
+ set stickyInput(value: boolean);
2475
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterRowDef, never>;
2476
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwFooterRowDef, "[fwFooterRowDef]", never, { "columns": { "alias": "fwFooterRowDef"; "required": false; }; "stickyInput": { "alias": "fwFooterRowDefSticky"; "required": false; }; }, {}, never, never, true, never>;
2477
+ }
2478
+ /**
2479
+ * Data row definition for the fw-table.
2480
+ * Captures the data row's template and other properties such as the columns to display and
2481
+ * a when predicate that describes when this row should be used.
2482
+ */
2483
+ declare class FwRowDef<T> extends CdkRowDef<T> {
2484
+ columns: string[];
2485
+ when: (index: number, rowData: T) => boolean;
2486
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRowDef<any>, never>;
2487
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwRowDef<any>, "[fwRowDef]", never, { "columns": { "alias": "fwRowDefColumns"; "required": false; }; "when": { "alias": "fwRowDefWhen"; "required": false; }; }, {}, never, never, true, never>;
2488
+ }
2489
+ /** Header template container that contains the cell outlet. Adds the right class and role. */
2490
+ declare class FwHeaderRow extends CdkHeaderRow {
2491
+ class: string;
2492
+ role: string;
2493
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwHeaderRow, never>;
2494
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwHeaderRow, "fw-header-row, tr[fw-header-row]", ["fwHeaderRow"], {}, {}, never, never, true, never>;
2495
+ }
2496
+ /** Footer template container that contains the cell outlet. Adds the right class and role. */
2497
+ declare class FwFooterRow extends CdkFooterRow {
2498
+ class: string;
2499
+ role: string;
2500
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwFooterRow, never>;
2501
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwFooterRow, "fw-footer-row, tr[fw-footer-row]", ["fwFooterRow"], {}, {}, never, never, true, never>;
2502
+ }
2503
+ /** Data row template container that contains the cell outlet. Adds the right class and role. */
2504
+ declare class FwRow extends CdkRow {
2505
+ class: string;
2506
+ role: string;
2507
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwRow, never>;
2508
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwRow, "fw-row, tr[fw-row]", ["fwRow"], {}, {}, never, never, true, never>;
2509
+ }
2510
+ /** Row that can be used to display a message when no data is shown in the table. */
2511
+ declare class FwNoDataRow extends CdkNoDataRow {
2512
+ _contentClassName: string;
2513
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwNoDataRow, never>;
2514
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FwNoDataRow, "ng-template[fwNoDataRow]", never, {}, {}, never, never, true, never>;
2515
+ }
2516
+
2517
+ /**
2518
+ * Component for a data table built on CDK table with sticky column support and Vision styling
2519
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-table--docs)
2520
+ */
2521
+ declare class FwTableComponent<T> extends CdkTable<T> {
2522
+ class: string;
2523
+ /** Overrides the sticky CSS class set by the `CdkTable`. */
2524
+ protected stickyCssClass: string;
2525
+ /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */
2526
+ protected needsPositionStickyOnElement: boolean;
2527
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTableComponent<any>, never>;
2528
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTableComponent<any>, "fw-table, table[fw-table]", ["fwTable"], {}, {}, never, never, true, never>;
2529
+ }
2530
+
2531
+ /**
2532
+ * Compact-density variant of the Vision data table, with reduced row height and Vision styling
2533
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-table--docs)
2534
+ */
2535
+ declare class FwTableDenseComponent<T> extends CdkTable<T> {
2536
+ class: string;
2537
+ /** Overrides the sticky CSS class set by the `CdkTable`. */
2538
+ protected stickyCssClass: string;
2539
+ /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */
2540
+ protected needsPositionStickyOnElement: boolean;
2541
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTableDenseComponent<any>, never>;
2542
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTableDenseComponent<any>, "fw-table-dense, table[fw-table-dense]", ["fwTableDense"], {}, {}, never, never, true, never>;
2543
+ }
2544
+
2545
+ /**
2546
+ * @deprecated import component directly, intent to remove in v20
2547
+ */
2548
+ declare class FwTableModule {
2549
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTableModule, never>;
2550
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwTableModule, never, [typeof i4.CdkTableModule, typeof i1.CommonModule, typeof FwCell, typeof FwCellDef, typeof FwColumnDef, typeof FwFooterCell, typeof FwFooterCellDef, typeof FwHeaderCell, typeof FwHeaderCellDef, typeof FwTableComponent, typeof FwTableDenseComponent, typeof FwRow, typeof FwRowDef, typeof FwFooterRow, typeof FwFooterRowDef, typeof FwHeaderRow, typeof FwHeaderRowDef, typeof FwNoDataRow], [typeof FwCell, typeof FwCellDef, typeof FwColumnDef, typeof FwFooterCell, typeof FwFooterCellDef, typeof FwFooterRow, typeof FwFooterRowDef, typeof FwHeaderCell, typeof FwHeaderCellDef, typeof FwHeaderRow, typeof FwHeaderRowDef, typeof FwNoDataRow, typeof FwRow, typeof FwRowDef, typeof FwTableComponent, typeof FwTableDenseComponent]>;
2551
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwTableModule>;
2552
+ }
2553
+
2554
+ /**
2555
+ * Sub-component for a content panel associated with a tab, shown only when its tab is active
2556
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tabs--docs)
2557
+ */
2558
+ declare class FwTabPanelComponent {
2559
+ active: boolean;
2560
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTabPanelComponent, never>;
2561
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTabPanelComponent, "fw-tab-panel", never, { "active": { "alias": "active"; "required": false; }; }, {}, never, ["*"], true, never>;
2562
+ }
2563
+
2564
+ /**
2565
+ * Individual tab used inside a tabs component, with a title, optional icon, and active/disabled state
2566
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tabs--docs)
2567
+ */
2568
+ declare class FwTabComponent {
2569
+ title: string;
2570
+ panel?: FwTabPanelComponent;
2571
+ color: 'primary' | 'secondary';
2572
+ icon?: IconType;
2573
+ select: EventEmitter<FwTabComponent>;
2574
+ active: boolean;
2575
+ disabled: boolean;
2576
+ role: string;
2577
+ tabindex: string;
2578
+ get cssClass(): string;
2579
+ onClick(): void;
2580
+ keyEvent(event: KeyboardEvent): void;
2581
+ handleSelect(): void;
2582
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTabComponent, never>;
2583
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTabComponent, "fw-tab", never, { "title": { "alias": "title"; "required": false; }; "panel": { "alias": "panel"; "required": false; }; "color": { "alias": "color"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "active": { "alias": "active"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, { "select": "select"; }, never, ["fw-badge"], true, never>;
2584
+ }
2585
+
2586
+ /**
2587
+ * Component for a tab bar that manages active tab state and emits selection events for projected tab children
2588
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-tabs--docs)
2589
+ */
2590
+ declare class FwTabsComponent implements AfterContentInit, OnDestroy {
2591
+ activeTabIndex: number;
2592
+ activeTab?: FwTabComponent;
2593
+ bordered?: boolean;
2594
+ select: EventEmitter<FwTabComponent>;
2595
+ tabs: QueryList<FwTabComponent>;
2596
+ get cssClass(): string;
2597
+ private subscriptions;
2598
+ ngOnDestroy(): void;
2599
+ ngAfterContentInit(): void;
2600
+ handleTabChange(tab: FwTabComponent): void;
2601
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTabsComponent, never>;
2602
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTabsComponent, "fw-tabs", never, { "activeTabIndex": { "alias": "activeTabIndex"; "required": false; }; "activeTab": { "alias": "activeTab"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; }, { "select": "select"; }, ["tabs"], ["fw-tab", "*"], true, never>;
2603
+ }
2604
+
2605
+ /**
2606
+ * @deprecated import component directly, intent to remove in v20
2607
+ */
2608
+ declare class FwTabsModule {
2609
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTabsModule, never>;
2610
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwTabsModule, never, [typeof i1.CommonModule, typeof FwIconModule, typeof FwTabComponent, typeof FwTabPanelComponent, typeof FwTabsComponent], [typeof FwTabComponent, typeof FwTabPanelComponent, typeof FwTabsComponent]>;
2611
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwTabsModule>;
2612
+ }
2613
+
2614
+ /**
2615
+ * Component for rendering text with Vision typography variants, alignment, color, and display options
2616
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/components-text--docs)
2617
+ */
2618
+ declare class FwTextComponent {
2619
+ variant: i0.InputSignal<"body" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p1" | "p2" | "p3" | "p4" | "p5">;
2620
+ align?: i0.InputSignal<"left" | "right" | "center" | "inherit" | "justify">;
2621
+ display?: i0.InputSignal<"initial" | "flex" | "block" | "inline" | "grow">;
2622
+ color?: i0.InputSignal<"muted" | "light" | "contrast" | "base" | "disabled" | "inherit">;
2623
+ margin?: i0.InputSignal<boolean>;
2624
+ overflow?: i0.InputSignal<boolean>;
2625
+ get classes(): string;
2626
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTextComponent, never>;
2627
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTextComponent, "fw-text", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "overflow": { "alias": "overflow"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
2628
+ }
2629
+
2630
+ /**
2631
+ * Form control component for a multi-line auto-resizing textarea with configurable row limits and Angular forms integration
2632
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-textarea-input--docs)
2633
+ */
2634
+ declare class FwTextAreaInputComponent implements ControlValueAccessor {
2635
+ minRows: number;
2636
+ maxRows: number;
2637
+ disabled?: boolean;
2638
+ /**
2639
+ * @deprecated please use fw-wrapped-input instead
2640
+ */
2641
+ helperText?: string;
2642
+ /**
2643
+ * @deprecated please use fw-wrapped-input instead
2644
+ */
2645
+ errorText?: string;
2646
+ placeholder?: string;
2647
+ readOnly?: boolean;
2648
+ autofocus?: string;
2649
+ width?: string;
2650
+ error?: boolean;
2651
+ autosize: CdkTextareaAutosize;
2652
+ private _value;
2653
+ get value(): string;
2654
+ set value(v: string);
2655
+ set textareaRef(el: ElementRef<HTMLTextAreaElement>);
2656
+ private _textareaRef?;
2657
+ externalControl: FormControl;
2658
+ onTouch: () => void;
2659
+ onChange: (value: string) => void;
2660
+ writeValue(obj: string): void;
2661
+ registerOnChange(fn: any): void;
2662
+ registerOnTouched(fn: any): void;
2663
+ setDisabledState(isDisabled: boolean): void;
2664
+ changeHandler(event: Event): void;
2665
+ blurHandler(): void;
2666
+ protected readonly min: typeof min;
2667
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTextAreaInputComponent, never>;
2668
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTextAreaInputComponent, "fw-textarea-input", never, { "minRows": { "alias": "minRows"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "width": { "alias": "width"; "required": false; }; "error": { "alias": "error"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, true, never>;
2669
+ }
2670
+
2671
+ /**
2672
+ * @deprecated import component directly, intent to remove in v20
2673
+ */
2674
+ declare class FwTextAreaInputModule {
2675
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTextAreaInputModule, never>;
2676
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwTextAreaInputModule, never, [typeof i1.CommonModule, typeof i2.ReactiveFormsModule, typeof i3$1.TextFieldModule, typeof FwIconModule, typeof FwTextAreaInputComponent], [typeof FwTextAreaInputComponent]>;
2677
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwTextAreaInputModule>;
2678
+ }
2679
+
2680
+ /**
2681
+ * Directive for forwarding an ngControl to a child component
2682
+ *
2683
+ * Intended to be used as a host directive
2684
+ * @see [Medium Article on the approach](https://medium.com/netanelbasal/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55)
2685
+ */
2686
+ declare class NoopValueAccessorDirective implements ControlValueAccessor {
2687
+ writeValue(_obj: any): void;
2688
+ registerOnChange(_fn: any): void;
2689
+ registerOnTouched(_fn: any): void;
2690
+ static ɵfac: i0.ɵɵFactoryDeclaration<NoopValueAccessorDirective, never>;
2691
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NoopValueAccessorDirective, never, never, {}, {}, never, never, true, never>;
2692
+ }
2693
+
2694
+ interface TimeZoneOption {
2695
+ name: string;
2696
+ fullTZ: string;
2697
+ description: string;
2698
+ }
2699
+ interface TimeZoneOptionsByRegion {
2700
+ [region: string]: TimeZoneOption[];
2701
+ }
2702
+ /**
2703
+ * Form control for selecting a time zone, based on fw-select
2704
+ * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/latest/?path=/docs/form-controls-timezone-select--docs)
2705
+ */
2706
+ declare class FwTimeZoneSelectComponent implements OnInit {
2707
+ protected ngControl: NgControl;
2708
+ protected internalControl: FormControl<string>;
2709
+ /**
2710
+ * whether the control pre-populates the user's timezone on init
2711
+ */
2712
+ prefillTimeZone: i0.InputSignal<boolean>;
2713
+ protected timezonesByRegion: i0.WritableSignal<TimeZoneOptionsByRegion>;
2714
+ protected regions: i0.WritableSignal<string[]>;
2715
+ protected usersTimezone: i0.WritableSignal<string>;
2716
+ ngOnInit(): void;
2717
+ protected readonly filterFn: MenuFilterFn;
2718
+ protected readonly displayFn: (menuItem: FwMenuItemComponent) => string;
2719
+ private buildTimezoneList;
2720
+ private parseTimeZoneName;
2721
+ private getTimeZoneOffset;
2722
+ private getTimeZoneAcronym;
2723
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTimeZoneSelectComponent, never>;
2724
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTimeZoneSelectComponent, "fw-time-zone-select", never, { "prefillTimeZone": { "alias": "prefillTimeZone"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
2725
+ }
2726
+
2727
+ type OptionFetchingFn = (searchString: string) => Observable<string[]>;
2728
+ /**
2729
+ * Component for having a user select multiple values while also allowing arbitrary values to be added
2730
+ * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-typeahead--docs)
2731
+ */
2732
+ declare class FwTypeaheadComponent implements ControlValueAccessor {
2733
+ outsideClick(): void;
2734
+ trigger: i0.Signal<CdkMenuTrigger>;
2735
+ changeDetector: ChangeDetectorRef;
2736
+ loading: i0.ModelSignal<boolean>;
2737
+ disabled: i0.ModelSignal<boolean>;
2738
+ touched: i0.WritableSignal<boolean>;
2739
+ setDisabledState(isDisabled: boolean): void;
2740
+ writeValue(incomingValue: string[]): void;
2741
+ onChange: (_: string[]) => void;
2742
+ clearValue(): void;
2743
+ registerOnChange(onChangeFn: typeof this.onChange): void;
2744
+ onTouched: () => void;
2745
+ registerOnTouched(onTouchedFn: () => void): void;
2746
+ onClick(event: MouseEvent): void;
2747
+ value: i0.ModelSignal<string[]>;
2748
+ value$: Observable<string[]>;
2749
+ optionsInput: i0.InputSignal<string[] | OptionFetchingFn>;
2750
+ optionsInput$: Observable<string[] | OptionFetchingFn>;
2751
+ maxOptionsHeight: i0.InputSignal<string>;
2752
+ minOptionsHeight: i0.InputSignal<string>;
2753
+ optionsWidth: i0.InputSignal<string>;
2754
+ maxHeight: i0.InputSignal<string>;
2755
+ selectType: i0.InputSignal<"single" | "multiple">;
2756
+ notifyOnValueChanges: i0.EffectRef;
2757
+ searchValue: i0.ModelSignal<string>;
2758
+ searchValueChanges$: Observable<string>;
2759
+ handleInput(event: Event): void;
2760
+ private syncSearchValueToInput;
2761
+ allowNew: i0.InputSignal<boolean>;
2762
+ placeholder: i0.InputSignal<string>;
2763
+ displayedPlaceholder: i0.Signal<string>;
2764
+ highlightPlaceholder: i0.Signal<boolean>;
2765
+ /**
2766
+ * Options after they've been both filtered for matching the search and already selected
2767
+ */
2768
+ filteredOptions$: Observable<string[]>;
2769
+ /**
2770
+ * Options after they've been both filtered for matching the search and already selected
2771
+ */
2772
+ filteredOptions: i0.Signal<string[]>;
2773
+ closeChip(chipValue: string): void;
2774
+ displayNewOption: i0.Signal<boolean>;
2775
+ addValue: (newValue: string) => void;
2776
+ handleOptionClick: (optionValue: string) => void;
2777
+ resetFocusOnOptionsChange: i0.EffectRef;
2778
+ displayedOptions: i0.Signal<readonly FwMenuItemComponent[]>;
2779
+ focusedIndex: i0.WritableSignal<number>;
2780
+ focusedOption: i0.Signal<string>;
2781
+ inputRef: i0.Signal<ElementRef<HTMLInputElement>>;
2782
+ focusInput(e?: MouseEvent): void;
2783
+ onFocusLoss(_: Event): void;
2784
+ keyHandlerMap: {
2785
+ [keycode: string]: (e: KeyboardEvent) => void;
2786
+ };
2787
+ handleKey(e: KeyboardEvent): void;
2788
+ setFocusByValue(value: string): void;
2789
+ private moveFocused;
2790
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTypeaheadComponent, never>;
2791
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTypeaheadComponent, "fw-typeahead", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "optionsInput": { "alias": "options"; "required": false; "isSignal": true; }; "maxOptionsHeight": { "alias": "maxOptionsHeight"; "required": false; "isSignal": true; }; "minOptionsHeight": { "alias": "minOptionsHeight"; "required": false; "isSignal": true; }; "optionsWidth": { "alias": "optionsWidth"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "selectType": { "alias": "selectType"; "required": false; "isSignal": true; }; "searchValue": { "alias": "searchValue"; "required": false; "isSignal": true; }; "allowNew": { "alias": "allowNew"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "loading": "loadingChange"; "disabled": "disabledChange"; "value": "valueChange"; "searchValue": "searchValueChange"; }, never, never, true, never>;
2792
+ }
2793
+
2794
+ /**
2795
+ *Wrapper component that adds a form heading, helper text, and error text around any input control
2796
+ * @see [Vision storybook](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-wrapped-input--docs)
2797
+ */
2798
+ declare class FwWrappedInputComponent {
2799
+ title: string;
2800
+ status?: string;
2801
+ statusColor?: 'slate' | 'primary' | 'secondary' | 'red' | 'green' | 'orange';
2802
+ description?: string;
2803
+ helperText?: string;
2804
+ errorText?: string;
2805
+ required?: boolean;
2806
+ get hostTitle(): null;
2807
+ class: boolean;
2808
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwWrappedInputComponent, never>;
2809
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwWrappedInputComponent, "fw-wrapped-input", never, { "title": { "alias": "title"; "required": false; }; "status": { "alias": "status"; "required": false; }; "statusColor": { "alias": "statusColor"; "required": false; }; "description": { "alias": "description"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, {}, never, ["fw-form-heading", "fw-button-toggle, fw-date-input, fw-text-input, fw-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead, fw-time-zone-select"], true, never>;
2810
+ }
2811
+
2812
+ /**
2813
+ * @deprecated import component directly, intent to remove in v20
2814
+ */
2815
+ declare class FwWrappedInputModule {
2816
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwWrappedInputModule, never>;
2817
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FwWrappedInputModule, never, [typeof i1.CommonModule, typeof FwFormHeadingModule, typeof FwWrappedInputComponent], [typeof FwWrappedInputComponent]>;
2818
+ static ɵinj: i0.ɵɵInjectorDeclaration<FwWrappedInputModule>;
2819
+ }
2820
+
2821
+ export { DialogWidth, FwAlertComponent, FwAlertModule, FwAppIconComponent, FwAppIconModule, FwAvatarComponent, FwAvatarListComponent, FwAvatarModule, FwBackButtonComponent, FwBadgeComponent, FwBadgeModule, FwBreadcrumbsComponent, FwBreadcrumbsModule, FwButtonComponent, FwButtonDangerDirective, FwButtonDirective, FwButtonGroupComponent, FwButtonGroupModule, FwButtonModule, FwButtonPrimaryDirective, FwButtonSecondaryDirective, FwButtonSuccessDirective, FwButtonToggleComponent, FwButtonToggleItemComponent, FwButtonToggleModule, FwCardAttributeComponent, FwCardAuthorComponent, FwCardComponent, FwCardContentComponent, FwCardFooterComponent, FwCardHeaderComponent, FwCardModule, FwCell, FwCellDef, FwCheckboxComponent, FwCheckboxModule, FwChipComponent, FwChipModule, FwColumnDef, FwContainedInputComponent, FwContainedInputModule, FwCrumbComponent, FwDateInputComponent, FwDateInputModule, FwDialogActionsComponent, FwDialogComponent, FwDialogConfirmComponent, FwDialogContentComponent, FwDialogHeaderComponent, FwDialogService, FwDialogSimpleComponent, FwDialogsModule, FwFooterCell, FwFooterCellDef, FwFooterRow, FwFooterRowDef, FwFormHeadingComponent, FwFormHeadingModule, FwGridComponent, FwGridItemComponent, FwHeaderCell, FwHeaderCellDef, FwHeaderRow, FwHeaderRowDef, FwIconButtonComponent, FwIconButtonModule, FwIconComponent, FwIconModule, FwLayoutContextComponent, FwLayoutGroupComponent, FwLayoutPanelComponent, FwLayoutSidebarComponent, FwLayoutToolbarComponent, FwLayoutsModule, FwMenuCloseTriggersDirective, FwMenuComponent, FwMenuContainerComponent, FwMenuHeaderComponent, FwMenuItemComponent, FwMenuItemGroupComponent, FwMenuModule, FwMenuSeparatorComponent, FwMenuSubItemComponent, FwMultiSelectMenuComponent, FwNavbarComponent, FwNavbarHeaderComponent, FwNavbarItemComponent, FwNavbarModule, FwNavbarSubItemComponent, FwNoDataRow, FwNumberInputComponent, FwNumberInputModule, FwPaginatorAdvancedComponent, FwPaginatorComponent, FwPaginatorModule, FwPhoneInputComponent, FwPhoneInputModule, FwPopoverComponent, FwPopoverModule, FwPopoverPanelComponent, FwProgressBarComponent, FwProgressModule, FwProgressSpinnerComponent, FwRadioComponent, FwRadioGroupComponent, FwRadioModule, FwRow, FwRowDef, FwSectionHeadingComponent, FwSectionHeadingModule, FwSelectMenuComponent, FwSelectMenuModule, FwSnackbarComponent, FwSnackbarContainerComponent, FwSnackbarModule, FwSnackbarService, FwStepComponent, FwStepDecoratorComponent, FwStepperComponent, FwStepperModule, FwSubsectionHeadingComponent, FwSwitchComponent, FwSwitchModule, FwTabComponent, FwTabPanelComponent, FwTableComponent, FwTableDenseComponent, FwTableModule, FwTabsComponent, FwTabsModule, FwTagComponent, FwTagModule, FwTextAreaInputComponent, FwTextAreaInputModule, FwTextComponent, FwTextInputComponent, FwTextInputModule, FwTimeZoneSelectComponent, FwTooltipComponent, FwTooltipDirective, FwTooltipModule, FwTooltipPanelComponent, FwTypeaheadComponent, FwValidators, FwWrappedInputComponent, FwWrappedInputModule, LayoutWidth, MenuManagerService, MenuRegisterDirective, MinimalTranslationService, NoopValueAccessorDirective, TranslationService, allIcons, genMessageId, notBeforeDate, notFutureDate };
2822
+ export type { DelayLength$3 as DelayLength, FwDialogRef, FwPaginatorEvent, FwSnackbarMessage, IconSize, IconType, MenuFilterFn, PaginationPage, SimplePosition };