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