@flyos/design-system 3.3.0 → 3.5.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.
@@ -1484,6 +1484,10 @@ declare class FlyStandaloneAuthService {
1484
1484
  * Standalone-dev route guard: if there is no authenticated session, start the PKCE login (redirects
1485
1485
  * to the STS) and block activation. Not reached in federated mode — the shell mounts the app's root
1486
1486
  * component directly rather than routing through the app shell.
1487
+ *
1488
+ * Before redirecting it stashes the attempted URL under the same appId-scoped sessionStorage key the
1489
+ * step-up flow uses, so the auth callback lands back on the deep link instead of `/` — an
1490
+ * unauthenticated deep link previously lost its target on the STS round-trip.
1487
1491
  */
1488
1492
  declare const flyStandaloneAuthGuard: CanActivateFn;
1489
1493
 
@@ -1789,7 +1793,7 @@ declare class I18nService {
1789
1793
  * is a safe default that an integrator can override without coordination.
1790
1794
  *
1791
1795
  * Scope: only the keys the **shippable** DS components reference today
1792
- * (`common.*` toolbar/link/emoji-picker labels + `agent.lookup.*` + `select.*` + `typeahead.*` + `cron.*` + `gantt.*` + `form.*` + `captcha.*` + `comment.*` + `canvas_board.*` + `moderation.*` + `people_picker.*` + `currency_selector.*` + `pagination.*` + `tree_nav.*` + `magic_actions.*`). When a new DS component
1796
+ * (`common.*` toolbar/link/emoji-picker labels + `agent.lookup.*` + `select.*` + `typeahead.*` + `cron.*` + `gantt.*` + `form.*` + `captcha.*` + `comment.*` + `canvas_board.*` + `moderation.*` + `people_picker.*` + `strategy_selector.*` + `currency_selector.*` + `pagination.*` + `tree_nav.*` + `magic_actions.*`). When a new DS component
1793
1797
  * starts using `| translate` **or `I18nService.t()`**, add its keys here so it stays
1794
1798
  * self-sufficient — `fly-magic-actions` shipped resolving three keys that existed only in the
1795
1799
  * shell bundle, so an External App rendering it got the raw key string as every disabled
@@ -5082,6 +5086,14 @@ interface FlyBreadcrumbItem {
5082
5086
  label: string;
5083
5087
  /** When set, the crumb renders as a real `<a>`. Omit for a `<button>` (e.g. a client-side handler with no addressable URL). */
5084
5088
  href?: string;
5089
+ /**
5090
+ * `<path d="…">` data for a 14px stroked icon leading the crumb
5091
+ * (`fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round;
5092
+ * stroke-linejoin:round`). `currentColor` is what makes the icon tint with
5093
+ * the label on hover/current with no extra rule. Omit for a label-only
5094
+ * crumb — mixing icon and non-icon crumbs in one trail is fine.
5095
+ */
5096
+ iconPath?: string;
5085
5097
  }
5086
5098
  /** An overflow-collapsed middle crumb — never interactive, never emitted by {@link FlyBreadcrumbComponent.navigate}. */
5087
5099
  interface FlyBreadcrumbOverflowMarker {
@@ -5148,6 +5160,100 @@ declare class FlyBreadcrumbComponent {
5148
5160
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyBreadcrumbComponent, "fly-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "maxVisible": { "alias": "maxVisible"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hasCurrentPage": { "alias": "hasCurrentPage"; "required": false; "isSignal": true; }; }, { "navigate": "navigate"; }, never, never, true, never>;
5149
5161
  }
5150
5162
 
5163
+ /**
5164
+ * One crumb in a window's header trail.
5165
+ *
5166
+ * Extends the design-system item rather than restating it so `<fly-breadcrumb>`
5167
+ * consumes the published array directly — the shell adds a handler, nothing else.
5168
+ *
5169
+ * Labels are ALREADY LOCALIZED. The trail is an app's own nouns ("Trends",
5170
+ * "Q3 budget", a document title); the window chrome cannot localize those and must
5171
+ * not pretend to by taking a key it would resolve against the shell's bundle.
5172
+ */
5173
+ interface WindowBreadcrumb extends FlyBreadcrumbItem {
5174
+ /**
5175
+ * Invoked when this crumb is activated. The final crumb is the current page and
5176
+ * is never interactive (see `FlyBreadcrumbComponent`), so a handler on it is
5177
+ * dead weight, not a bug waiting to happen.
5178
+ */
5179
+ navigate?: () => void;
5180
+ }
5181
+ /** Cross-bundle store key + sync event — same shape as `FLY_MAGIC_BAR_STORE_KEY`. */
5182
+ declare const FLY_WINDOW_BREADCRUMBS_STORE_KEY = "__flyWindowBreadcrumbs__";
5183
+ declare const FLY_WINDOW_BREADCRUMBS_EVENT = "fly:window-breadcrumbs";
5184
+ /**
5185
+ * Where an app publishes the breadcrumb trail its window's header strip renders.
5186
+ *
5187
+ * The design puts a trail inside the window
5188
+ * (`UX/FlyOS Desktop-app/MainContent.dc.html`, `nav[aria-label="Breadcrumb"]`), and
5189
+ * the window chrome (`WindowComponent`) renders whatever this registry holds for
5190
+ * its window id, falling back to the plain window title when nothing has published.
5191
+ *
5192
+ * ## Why the state lives on `globalThis`
5193
+ *
5194
+ * Same reasoning as {@link MagicBarRegistry} (`services/magic-bar/`), and the same
5195
+ * direction of travel (remote → shell chrome). This service is `providedIn: 'root'`,
5196
+ * but a root instance is not *reliably* shared across the federation boundary: the
5197
+ * shell builds the design system from workspace source while remotes consume the
5198
+ * published package, and Native Federation collapses those into one runtime
5199
+ * instance only when version negotiation succeeds — a split there is invisible at
5200
+ * build time and would otherwise present as a window whose breadcrumb silently
5201
+ * never appears, for federated apps only. Keeping the state on the one substrate
5202
+ * every bundle shares makes this store fork-proof: whichever copy of this service
5203
+ * publishes, every copy's `trail()` agrees. Each instance mirrors the store into a
5204
+ * local signal and re-reads on the sync event, so `WindowComponent`'s template —
5205
+ * which reads `trail()` inside its own reactive context — repaints whichever
5206
+ * bundle actually published.
5207
+ *
5208
+ * Simpler than `MagicBarRegistry` on purpose: a breadcrumb trail is addressed
5209
+ * directly by the window id its publisher already has (via `WINDOW_DATA`), so
5210
+ * there is no owner-vs-active-window arbitration, no per-action indexing and no
5211
+ * publish-fingerprint dedup to carry — `publish()` just replaces the entry.
5212
+ *
5213
+ * ```ts
5214
+ * const win = inject(WINDOW_DATA);
5215
+ * const crumbs = inject(WindowBreadcrumbsRegistry);
5216
+ * crumbs.publish(win.id, [
5217
+ * { id: 'root', label: circleName, navigate: () => this.showList() },
5218
+ * { id: 'trend', label: trend.title },
5219
+ * ]);
5220
+ * ```
5221
+ */
5222
+ declare class WindowBreadcrumbsRegistry {
5223
+ private readonly _trails;
5224
+ private _syncedStore;
5225
+ private _syncedRevision;
5226
+ /** Every published trail, keyed by window id. Reactive — read it inside a template/computed/effect. */
5227
+ readonly all: Signal<ReadonlyMap<string, readonly WindowBreadcrumb[]>>;
5228
+ constructor();
5229
+ /**
5230
+ * This window's published trail, or an empty array.
5231
+ *
5232
+ * A plain method over a signal read, not a per-id `computed`: it is called from
5233
+ * the window template, where the signal read is tracked whatever the call depth,
5234
+ * and a `computed` cache keyed by a mutable window id would outlive its window.
5235
+ */
5236
+ trail(windowId: string): readonly WindowBreadcrumb[];
5237
+ /**
5238
+ * Replace a window's trail. Publishing an empty array is how an app goes back to
5239
+ * showing the plain window title — it is a state, not a clear.
5240
+ */
5241
+ publish(windowId: string, crumbs: readonly WindowBreadcrumb[]): void;
5242
+ /** Drop a window's trail entirely. The window chrome calls this when it is destroyed. */
5243
+ clear(windowId: string): void;
5244
+ /**
5245
+ * Re-read the shared store. Cheap no-op unless a real mutation landed.
5246
+ *
5247
+ * Keys on store IDENTITY as well as revision — see the identical note on
5248
+ * `MagicBarRegistry.sync`: a revision counter alone cannot distinguish "nothing
5249
+ * changed" from "the `globalThis` slot now holds a brand-new store that happens
5250
+ * to be at the same revision" (every spec's `beforeEach` replaces the store).
5251
+ */
5252
+ private sync;
5253
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WindowBreadcrumbsRegistry, never>;
5254
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<WindowBreadcrumbsRegistry>;
5255
+ }
5256
+
5151
5257
  /**
5152
5258
  * A node in a {@link import('./tree-nav.component').FlyTreeNavComponent} tree. The
5153
5259
  * component is a **two-level** disclosure list (sections with pages) — a `children`
@@ -5624,7 +5730,10 @@ declare class FlyFileUploadComponent {
5624
5730
  constructor();
5625
5731
  allSlots: _angular_core.Signal<UploadSlot[]>;
5626
5732
  canAddMore: _angular_core.Signal<boolean>;
5627
- limitHint: _angular_core.Signal<string>;
5733
+ limitHintParams: _angular_core.Signal<{
5734
+ n: number;
5735
+ mb: number;
5736
+ }>;
5628
5737
  triggerFileInput(): void;
5629
5738
  onDragOver(e: DragEvent): void;
5630
5739
  onDragLeave(e: DragEvent): void;
@@ -6280,8 +6389,9 @@ interface GanttDependencyDelete {
6280
6389
  * Pure, dependency-free geometry + tree helpers for {@link FlyGanttComponent}.
6281
6390
  *
6282
6391
  * Kept out of the component so the date-scale math (date ⇄ px), the tree flatten/collapse,
6283
- * the group-span aggregation, the dependency-link resolution and the RTL coordinate mapping
6284
- * can all be unit-tested in isolation. Nothing here touches Angular, signals, the DOM, or i18n.
6392
+ * the group-span aggregation, the dependency-link resolution + elbow routing, and the RTL
6393
+ * coordinate mapping can all be unit-tested in isolation. Nothing here touches Angular,
6394
+ * signals, the DOM, or i18n.
6285
6395
  *
6286
6396
  * **Time model.** Every date is normalised to **UTC midnight** so the horizontal scale is
6287
6397
  * DST- and timezone-agnostic: one calendar day is always exactly one grid unit regardless of
@@ -6304,6 +6414,10 @@ interface GanttFlatRow {
6304
6414
  hasChildren: boolean;
6305
6415
  collapsed: boolean;
6306
6416
  }
6417
+ /** Render shape a row resolves to — decides which geometry fields on its VM are meaningful. */
6418
+ type RowShape = 'bar' | 'milestone' | 'group' | 'empty';
6419
+ /** Which end of a bar a link gesture grabbed / was dropped on. */
6420
+ type GanttLinkAnchor = 'start' | 'finish';
6307
6421
  /** A gridline / header cell: logical `x` of its left edge, its pixel `width`, and label. */
6308
6422
  interface GanttTick {
6309
6423
  x: number;
@@ -6313,9 +6427,16 @@ interface GanttTick {
6313
6427
  key: string;
6314
6428
  }
6315
6429
 
6316
- type RowShape = 'bar' | 'milestone' | 'group' | 'empty';
6317
- /** Which end of a bar a link gesture grabbed / was dropped on. */
6318
- type LinkAnchor = 'start' | 'finish';
6430
+ /** An in-flight link drag, in render space. `x0,y0` is the fixed origin; `x1,y1` follows the pointer. */
6431
+ interface GanttLinkGesture {
6432
+ readonly fromId: string;
6433
+ readonly anchor: GanttLinkAnchor;
6434
+ readonly x0: number;
6435
+ readonly y0: number;
6436
+ readonly x1: number;
6437
+ readonly y1: number;
6438
+ }
6439
+
6319
6440
  /** One fully-resolved, render-space row ready for the template. */
6320
6441
  interface GanttRowVm {
6321
6442
  flat: GanttFlatRow;
@@ -6420,36 +6541,22 @@ declare class FlyGanttComponent {
6420
6541
  readonly MIN_LABEL_W = 140;
6421
6542
  readonly MAX_LABEL_W = 720;
6422
6543
  readonly selectedId: _angular_core.WritableSignal<string | null>;
6423
- /** Key (`from~to~type`) of the dependency arrow the user has selected, if any. */
6424
- readonly selectedLinkKey: _angular_core.WritableSignal<string | null>;
6425
6544
  private readonly _collapsed;
6426
6545
  /** Live drag preview `{id,start,end}` folded into geometry while a gesture runs. */
6427
6546
  private readonly _dragPreview;
6428
- /** Rubber-band link gesture render-space anchor + cursor, and its origin row + edge. */
6429
- readonly linkGesture: _angular_core.WritableSignal<{
6430
- fromId: string;
6431
- anchor: LinkAnchor;
6432
- x0: number;
6433
- y0: number;
6434
- x1: number;
6435
- y1: number;
6436
- } | null>;
6437
6547
  readonly dragTooltip: _angular_core.WritableSignal<{
6438
6548
  x: number;
6439
6549
  y: number;
6440
6550
  text: string;
6441
6551
  } | null>;
6442
6552
  /** True while a divider drag is in flight (suppresses text selection host-wide). */
6443
- readonly resizingLabels: _angular_core.WritableSignal<boolean>;
6444
6553
  /** User-chosen pane width; `null` = still following the {@link labelWidth} input. */
6445
- private readonly _labelWidthOverride;
6446
6554
  private readonly bodyRef;
6447
6555
  readonly rtl: _angular_core.Signal<boolean>;
6448
6556
  readonly pxPerDay: _angular_core.Signal<number>;
6449
6557
  readonly domain: _angular_core.Signal<GanttDomain>;
6450
6558
  readonly innerWidth: _angular_core.Signal<number>;
6451
6559
  /** Label-pane width actually rendered — the user's dragged width, else the input. */
6452
- readonly effectiveLabelWidth: _angular_core.Signal<number>;
6453
6560
  /** Full visible list after tree flatten/collapse. */
6454
6561
  private readonly _flat;
6455
6562
  /** Capped list actually rendered. */
@@ -6482,21 +6589,19 @@ declare class FlyGanttComponent {
6482
6589
  /** Inline-start label indent for a tree depth. */
6483
6590
  indentFor(depth: number): number;
6484
6591
  /**
6485
- * Pointer-drag the divider. Forward-in-time is `+x` LTR and `-x` RTL, and the label pane sits
6486
- * on the inline-start side in both, so the same sign flip that mirrors the timeline also
6487
- * mirrors "drag outward = wider".
6592
+ * The divider's own state machine, in {@link GanttLabelPane}. It is composed rather than
6593
+ * inlined because it is the one region of this component with no coupling to the chart: give it
6594
+ * a direction, a fallback width and somewhere to report a committed value and it is complete.
6595
+ * The subtle part — that "wider" flips physical sign under RTL for BOTH the drag and the arrow
6596
+ * keys — is stated once there instead of twice here.
6488
6597
  */
6598
+ private readonly _labelPane;
6599
+ /** Painted width of the label pane — the user's dragged value, else the clamped input. */
6600
+ readonly effectiveLabelWidth: _angular_core.Signal<number>;
6601
+ /** True mid-drag; drives the host's resizing cursor/affordance. */
6602
+ readonly resizingLabels: _angular_core.WritableSignal<boolean>;
6489
6603
  onLabelResizePointerDown(ev: PointerEvent): void;
6490
- /**
6491
- * Keyboard resize on the focused divider. ArrowRight/Left grow/shrink by the *inline* meaning
6492
- * of the key, so under RTL the arrow that points away from the pane is still the one that
6493
- * widens it. `Home`/`End` jump to the bounds, Enter/Escape restore the input width.
6494
- *
6495
- * Typed `Event` for the same reason as {@link onLabelRowKeydown}: Angular's strict template
6496
- * checker types `(keydown)` `$event` as `Event`, so the cast is done here once.
6497
- */
6498
6604
  onLabelResizeKeydown(ev: Event): void;
6499
- /** Drop the user's dragged width and fall back to the {@link labelWidth} input. */
6500
6605
  resetLabelWidth(): void;
6501
6606
  isCollapsed(id: string): boolean;
6502
6607
  toggleCollapse(id: string, ev?: Event): void;
@@ -6516,13 +6621,19 @@ declare class FlyGanttComponent {
6516
6621
  private _nudgeSelected;
6517
6622
  onBarPointerDown(ev: PointerEvent, vm: GanttRowVm, mode: 'move' | 'resize-start' | 'resize-end'): void;
6518
6623
  /**
6519
- * Start a link gesture from one end of a bar. Which end it started on, plus which end of the
6520
- * target row it is dropped nearest to, is what selects the {@link GanttDependencyType}so all
6521
- * four MS-Project relationships are reachable with the same single drag.
6624
+ * The dependency-drawing gesture, in {@link GanttLinkGestures}. Composed rather than inlined
6625
+ * because it is a self-contained second gesture whose interesting part is a RULE the end you
6626
+ * start on plus the end you drop nearest, selects the relationship type — which reads far better beside
6627
+ * its own hit-testing than in the middle of this component.
6522
6628
  */
6523
- onLinkPointerDown(ev: PointerEvent, vm: GanttRowVm, anchor: LinkAnchor): void;
6629
+ private readonly _links;
6630
+ /** Key (`from~to~type`) of the dependency arrow the user has selected, if any. */
6631
+ readonly selectedLinkKey: _angular_core.WritableSignal<string | null>;
6632
+ /** The in-flight rubber-band gesture, or `null` — the template draws it when present. */
6633
+ readonly linkGesture: _angular_core.WritableSignal<GanttLinkGesture | null>;
6524
6634
  /** Rubber-band path for an in-flight link gesture (render space). */
6525
6635
  readonly linkGesturePath: _angular_core.Signal<string | null>;
6636
+ onLinkPointerDown(ev: PointerEvent, vm: GanttRowVm, anchor: GanttLinkAnchor): void;
6526
6637
  /**
6527
6638
  * Resolve a row's `backgroundColor` into the low-alpha band colour actually painted.
6528
6639
  * `color-mix` does the fade in the consumer's own colour space, so a token, a hex, an
@@ -6530,28 +6641,6 @@ declare class FlyGanttComponent {
6530
6641
  */
6531
6642
  private _tintFor;
6532
6643
  private _mapTicks;
6533
- /**
6534
- * Route a dependency elbow for any of the four relationship kinds (render space).
6535
- *
6536
- * The kind names the two endpoints, so it decides both the anchor x's and the direction the
6537
- * arrow travels: leaving a *finish* edge moves forward in time, leaving a *start* edge moves
6538
- * backward; entering a *start* edge approaches from behind, entering a *finish* edge from
6539
- * ahead. `fwd` folds RTL in, so none of that branches on direction.
6540
- *
6541
- * One turn suffices when the entry stub lies ahead of the exit stub in the approach
6542
- * direction. When it does not — overlapping or reversed bars, which SS/FF/SF hit constantly —
6543
- * a straight drop would cut back through the bars, so the elbow detours via the gap between
6544
- * the two rows instead.
6545
- */
6546
- private _route;
6547
- /** Convert a pointer event to a coordinate inside the body SVG (render space). */
6548
- private _toBodyPoint;
6549
- /**
6550
- * The row a link gesture was dropped on **and which of its ends** the drop landed nearest —
6551
- * the second half of the type derivation. A milestone has no width, so both of its ends are
6552
- * the same point and it is reported as `start`, giving the FS/SS pair anyone actually wants.
6553
- */
6554
- private _dropTargetAt;
6555
6644
  private _ariaFor;
6556
6645
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyGanttComponent, never>;
6557
6646
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyGanttComponent, "fly-gantt", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "dependencies": { "alias": "dependencies"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "showToday": { "alias": "showToday"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "labelWidth": { "alias": "labelWidth"; "required": false; "isSignal": true; }; "resizableLabels": { "alias": "resizableLabels"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; }, { "rowDatesChange": "rowDatesChange"; "dependencyCreate": "dependencyCreate"; "dependencyDelete": "dependencyDelete"; "rowClick": "rowClick"; "rowDblClick": "rowDblClick"; "labelWidthChange": "labelWidthChange"; }, never, never, true, never>;
@@ -9806,6 +9895,155 @@ declare class FlyPeoplePickerComponent {
9806
9895
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyPeoplePickerComponent, "fly-people-picker", never, { "searchFn": { "alias": "searchFn"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "excludeIds": { "alias": "excludeIds"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
9807
9896
  }
9808
9897
 
9898
+ /**
9899
+ * One candidate/selected strategic objective. Mirrors the fields of the
9900
+ * Strategies app's `ObjectiveLookupDto` the component renders: the objective's
9901
+ * own id + title, and the parent strategy's id + title (secondary line — two
9902
+ * strategies may both carry a "Grow market share" objective). `statusValue` is
9903
+ * the objective's status enum name, optional and purely decorative.
9904
+ *
9905
+ * The full ref (not just the id) is what {@link FlyStrategySelectorComponent.selectionChange}
9906
+ * emits, so a consuming app can freeze the label at link time — the canonical
9907
+ * cross-app reference shape, where the consumer never re-resolves another
9908
+ * app's row just to render history.
9909
+ */
9910
+ interface FlyStrategyObjectiveRef {
9911
+ readonly id: string;
9912
+ readonly title: string;
9913
+ readonly strategyId: string;
9914
+ readonly strategyTitle: string;
9915
+ /** The parent strategy's PrimeIcons class (e.g. `pi-flag`), null when the strategy has none. */
9916
+ readonly strategyIcon?: string | null;
9917
+ readonly statusValue?: string | null;
9918
+ }
9919
+ /** Host-supplied loader: async search returning candidate objectives for a query (empty query = "top N"). */
9920
+ type FlyStrategyObjectiveSearchFn = (query: string) => rxjs.Observable<readonly FlyStrategyObjectiveRef[]>;
9921
+
9922
+ /** The platform endpoint the component falls back to. Relative — the host's gateway + auth interceptors apply. */
9923
+ declare const FLY_STRATEGY_OBJECTIVES_LOOKUP_ENDPOINT = "/api/strategies/objectives/lookup";
9924
+ /**
9925
+ * Tolerant unwrap of the `ApiResponse<List<ObjectiveLookupDto>>` envelope. Anything that
9926
+ * doesn't parse degrades to an empty list — a picker must degrade to "no options", never throw.
9927
+ */
9928
+ declare function flyUnwrapObjectiveLookup(res: unknown): readonly FlyStrategyObjectiveRef[];
9929
+ /** One contiguous run of {@link FlyStrategyObjectiveRef} rows sharing the same parent strategy —
9930
+ * the panel's drilldown grouping. Built from the search results as returned (already ordered
9931
+ * strategy-first by the backend/mock, so a single linear pass is enough — no re-sort here). */
9932
+ interface FlyStrategyObjectiveGroup {
9933
+ readonly strategyId: string;
9934
+ readonly strategyTitle: string;
9935
+ readonly strategyIcon: string | null;
9936
+ readonly items: readonly FlyStrategyObjectiveRef[];
9937
+ }
9938
+ /**
9939
+ * **`fly-strategy-selector`** — pick ONE strategic objective from the Strategies
9940
+ * app, so any Core or External App can optionally link its own entity (a
9941
+ * programme, an initiative, a budget line) to the strategy it serves.
9942
+ *
9943
+ * Pre-canned for the Strategies app's cross-strategy objective lookup
9944
+ * (`GET /api/strategies/objectives/lookup?q=`, `ObjectiveLookupDto` — only
9945
+ * StrategicObjective items on the PUBLISHED version of an Active strategy
9946
+ * surface there): with no data inputs it queries that endpoint itself through
9947
+ * the host's `HttpClient`, so gateway routing and the auth interceptor apply
9948
+ * and a consuming app writes one tag and nothing else. A host that must not
9949
+ * reach the platform directly supplies `[searchFn]` instead — the same
9950
+ * transport-agnostic escape hatch `fly-people-picker` and
9951
+ * `fly-currency-selector` offer.
9952
+ *
9953
+ * A bespoke panel (own search box + floating results box), not a wrapped
9954
+ * `fly-typeahead` — a flat list can't show which strategy an objective belongs
9955
+ * to, and two strategies routinely share near-identical objective titles.
9956
+ * Results are grouped into contiguous {@link FlyStrategyObjectiveGroup} runs
9957
+ * with the parent strategy's own icon as the group header, mirroring
9958
+ * `fly-currency-selector`'s pinned/all group pattern.
9959
+ *
9960
+ * Single-select by design (an entity serves ONE objective link here; a many-
9961
+ * to-many mapping is a matrix surface, not a form field) and built for
9962
+ * OPTIONAL fields: the empty state is a search box, a pick renders as a
9963
+ * removable chip (objective title + parent strategy secondary line), and
9964
+ * {@link selectionChange} emits `null` on removal.
9965
+ *
9966
+ * Emits the full {@link FlyStrategyObjectiveRef}, not just the id: the
9967
+ * consumer freezes the label at link time (the cross-app reference canon —
9968
+ * the link must stay renderable even when the strategy is later archived or
9969
+ * the caller can no longer read it).
9970
+ *
9971
+ * For an edit surface, feed {@link initialSelection} with the saved ref (the
9972
+ * consumer's own frozen copy — no re-resolve round-trip needed). Seeding never
9973
+ * emits {@link selectionChange}, so loading a form does not mark it dirty.
9974
+ *
9975
+ * i18n is self-sufficient through the `strategy_selector.*` keys in
9976
+ * `DS_BASELINE_LOCALES` (en/ar/fr/ur). RTL works via logical CSS.
9977
+ *
9978
+ * @example
9979
+ * ```html
9980
+ * <!-- Queries /api/strategies/objectives/lookup itself: -->
9981
+ * <fly-strategy-selector (selectionChange)="onObjectivePicked($event)" />
9982
+ *
9983
+ * <!-- Edit surface, seeded from the host's frozen ref: -->
9984
+ * <fly-strategy-selector
9985
+ * [initialSelection]="savedObjectiveRef()"
9986
+ * (selectionChange)="onObjectiveChanged($event)" />
9987
+ * ```
9988
+ */
9989
+ declare class FlyStrategySelectorComponent {
9990
+ private readonly http;
9991
+ /** Host-supplied loader. Omit to fall back to `GET /api/strategies/objectives/lookup`. */
9992
+ readonly searchFn: _angular_core.InputSignal<FlyStrategyObjectiveSearchFn | null>;
9993
+ /** Saved ref to seed an edit surface with — rendered as the picked chip. Seeded ONCE, on the
9994
+ * first non-null value (a host's load typically lands after construction); later input changes
9995
+ * are ignored so a re-emitting load can't clobber the user's in-progress edit. Seeding does NOT
9996
+ * emit {@link selectionChange}. */
9997
+ readonly initialSelection: _angular_core.InputSignal<FlyStrategyObjectiveRef | null>;
9998
+ /** Placeholder for the search box. Falls back to the localized `strategy_selector.search_placeholder`. */
9999
+ readonly placeholder: _angular_core.InputSignal<string>;
10000
+ /** Debounce (ms) between the last keystroke and the search call. */
10001
+ readonly debounceMs: _angular_core.InputSignal<number>;
10002
+ /** The picked objective in full (label freezable by the host), or `null` when removed. */
10003
+ readonly selectionChange: _angular_core.OutputEmitterRef<FlyStrategyObjectiveRef | null>;
10004
+ private readonly searchEl?;
10005
+ private readonly host;
10006
+ private readonly _selected;
10007
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
10008
+ readonly searchTerm: _angular_core.WritableSignal<string>;
10009
+ readonly activeIndex: _angular_core.WritableSignal<number>;
10010
+ readonly loading: _angular_core.WritableSignal<boolean>;
10011
+ readonly loadFailed: _angular_core.WritableSignal<boolean>;
10012
+ /** The most recent search batch, already ordered strategy-first by the server/mock. */
10013
+ private readonly _results;
10014
+ private _searchStarted;
10015
+ /** One-shot latch: flips true after {@link initialSelection} has seeded the chip. */
10016
+ private _seeded;
10017
+ private _timer;
10018
+ private _searchSub;
10019
+ constructor();
10020
+ readonly selected: _angular_core.Signal<FlyStrategyObjectiveRef | null>;
10021
+ readonly showSearch: _angular_core.Signal<boolean>;
10022
+ /** {@link _results} folded into contiguous per-strategy runs — the panel's drilldown grouping.
10023
+ * Also doubles as the flat keyboard-navigation order (a group header is never itself an option,
10024
+ * so nav index N always resolves via {@link navOptions}, not a per-group offset). */
10025
+ readonly groups: _angular_core.Signal<readonly FlyStrategyObjectiveGroup[]>;
10026
+ readonly navOptions: _angular_core.Signal<readonly FlyStrategyObjectiveRef[]>;
10027
+ navIndexOf(id: string): number;
10028
+ readonly activeDescendant: _angular_core.Signal<string>;
10029
+ optionId(index: number): string;
10030
+ open(): void;
10031
+ close(): void;
10032
+ onSearchInput(value: string): void;
10033
+ onPanelKeydown(event: KeyboardEvent): void;
10034
+ onOptionHover(index: number): void;
10035
+ onDocumentMouseDown(ev: MouseEvent): void;
10036
+ retry(): void;
10037
+ private _scheduleSearch;
10038
+ private _clearTimer;
10039
+ private _runSearch;
10040
+ private _search;
10041
+ pick(ref: FlyStrategyObjectiveRef): void;
10042
+ remove(): void;
10043
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyStrategySelectorComponent, never>;
10044
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyStrategySelectorComponent, "fly-strategy-selector", never, { "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
10045
+ }
10046
+
9809
10047
  /**
9810
10048
  * One ISO 4217 currency as the selector renders it.
9811
10049
  *
@@ -9843,6 +10081,15 @@ type FlyCurrencySelectorMode = 'single' | 'multi';
9843
10081
  * reference data through its own gateway route.
9844
10082
  */
9845
10083
  type FlyCurrencyFetchFn = () => Observable<readonly FlyCurrency[]>;
10084
+ /**
10085
+ * Host-supplied loader for the CALLING TENANT's default currency, used to pre-fill an empty
10086
+ * single-select. Same escape hatch as {@link FlyCurrencyFetchFn}, for the same consumers: an
10087
+ * offline surface, a fixture-driven test, or an app that proxies the platform's reference routes.
10088
+ *
10089
+ * Resolving to `null` means "this tenant has no default" and leaves the control empty — the
10090
+ * ordinary answer for a tenant with no country, not an error.
10091
+ */
10092
+ type FlyTenantDefaultCurrencyFetchFn = () => Observable<FlyCurrency | null>;
9846
10093
  /** The control's value: the picked code in single mode, the picked codes in multi mode. */
9847
10094
  type FlyCurrencySelectorValue = string | readonly string[] | null;
9848
10095
 
@@ -9917,6 +10164,34 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
9917
10164
  readonly currencies: _angular_core.InputSignal<readonly FlyCurrency[] | null>;
9918
10165
  /** Host-supplied loader, used when `[currencies]` is absent. Falls back to `GET /api/currencies/brief`. */
9919
10166
  readonly fetchFn: _angular_core.InputSignal<FlyCurrencyFetchFn | null>;
10167
+ /**
10168
+ * Pre-fill an EMPTY single-select with the calling tenant's default currency
10169
+ * (`GET /api/currencies/default`, or `[tenantDefaultFetchFn]`). On by default.
10170
+ *
10171
+ * An amount is nearly always denominated in the tenant's reporting currency, and a form that
10172
+ * opens empty makes every user restate a fact the platform already holds — while an untouched
10173
+ * field silently saves null, which downstream money formatting cannot render at all.
10174
+ *
10175
+ * Deliberately narrow. It applies only when ALL of these hold, because outside them a
10176
+ * preselection would be a guess rather than a default:
10177
+ * - `mode="single"` — a multi-select accumulates a SET, and seeding one member of a set
10178
+ * states something the tenant currency does not say.
10179
+ * - not `locked()` — a frozen value is authoritative; proposing one contradicts the lock.
10180
+ * - the control is still empty — a written value always wins.
10181
+ *
10182
+ * It stays armed until something rules it out: a user commit (pick, clear, remove) or a
10183
+ * written non-empty value. A written NULL does not rule it out — the forms layer initializes
10184
+ * a fresh control by writing its empty value on a microtask, which can land AFTER a
10185
+ * synchronously-resolved default has already committed, and reading that write as a user
10186
+ * clear would erase the default. Clearing the field by hand does latch it off, so the value
10187
+ * cannot reappear and read as the clear having not registered.
10188
+ *
10189
+ * A host that supplied `[currencies]` or `[fetchFn]` is never taken to the platform endpoint —
10190
+ * see {@link tenantDefaultFetchFn}, which is how such a host opts back in.
10191
+ */
10192
+ readonly applyTenantDefault: _angular_core.InputSignal<boolean>;
10193
+ /** Host-supplied loader for {@link applyTenantDefault}. Falls back to `GET /api/currencies/default`. */
10194
+ readonly tenantDefaultFetchFn: _angular_core.InputSignal<FlyTenantDefaultCurrencyFetchFn | null>;
9920
10195
  /** Restrict the offered set to these ISO 4217 codes (case-insensitive). Empty = offer everything. */
9921
10196
  readonly allowedCodes: _angular_core.InputSignal<readonly string[]>;
9922
10197
  /**
@@ -9975,6 +10250,21 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
9975
10250
  private readonly _selectedCodes;
9976
10251
  private readonly _cvaDisabled;
9977
10252
  private _fetchStarted;
10253
+ /** Guards the once-per-instance tenant-default resolve. */
10254
+ private _tenantDefaultStarted;
10255
+ /**
10256
+ * Latches once the default has been RULED OUT: a user commit (pick, clear, remove) or a
10257
+ * written non-empty value. Applying the default does NOT latch it, and neither does a null
10258
+ * write: `NgModel` syncs the model's initial value on a microtask (`resolvedPromise.then` in
10259
+ * its `_updateValue`), so a SYNCHRONOUS `tenantDefaultFetchFn` — `of(currency)`, an offline
10260
+ * lookup — commits before that first write lands. When the self-application latched this
10261
+ * guard, the stale null write erased the committed default AND pinned the guard off, so the
10262
+ * default never applied for exactly those hosts (async HTTP fetches always lost the race
10263
+ * and were unaffected).
10264
+ */
10265
+ private _tenantDefaultRuledOut;
10266
+ /** The resolved row, kept so a `writeValue(null)` arriving AFTER the fetch can still use it. */
10267
+ private _tenantDefaultRow;
9978
10268
  private readonly searchEl?;
9979
10269
  private readonly triggerEl?;
9980
10270
  private _onChange;
@@ -10035,6 +10325,17 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
10035
10325
  onOptionHover(index: number): void;
10036
10326
  retry(): void;
10037
10327
  private _load;
10328
+ private _loadTenantDefault;
10329
+ /**
10330
+ * Applies the resolved default to a still-empty control.
10331
+ *
10332
+ * Called from both ends of a race with no fixed winner: the fetch may land before the forms
10333
+ * layer writes, or after it writes the empty value a form is built with. It can also run
10334
+ * AGAIN after applying — the forms layer's deferred initial null write clears the codes and
10335
+ * re-enters here — in which case it re-commits the same row, which also re-syncs the
10336
+ * `FormControl` the null write just reset.
10337
+ */
10338
+ private _applyTenantDefaultIfEmpty;
10038
10339
  writeValue(value: FlyCurrencySelectorValue): void;
10039
10340
  registerOnChange(fn: (v: FlyCurrencySelectorValue) => void): void;
10040
10341
  registerOnTouched(fn: () => void): void;
@@ -10044,7 +10345,7 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
10044
10345
  private _commit;
10045
10346
  private _touch;
10046
10347
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyCurrencySelectorComponent, never>;
10047
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyCurrencySelectorComponent, "fly-currency-selector", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "currencies": { "alias": "currencies"; "required": false; "isSignal": true; }; "fetchFn": { "alias": "fetchFn"; "required": false; "isSignal": true; }; "allowedCodes": { "alias": "allowedCodes"; "required": false; "isSignal": true; }; "pinnedCodes": { "alias": "pinnedCodes"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "locked": { "alias": "locked"; "required": false; "isSignal": true; }; "lockedReasonKey": { "alias": "lockedReasonKey"; "required": false; "isSignal": true; }; "lockedReasonParams": { "alias": "lockedReasonParams"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "selectionDetailChange": "selectionDetailChange"; "openedChange": "openedChange"; }, never, never, true, never>;
10348
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyCurrencySelectorComponent, "fly-currency-selector", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "currencies": { "alias": "currencies"; "required": false; "isSignal": true; }; "fetchFn": { "alias": "fetchFn"; "required": false; "isSignal": true; }; "applyTenantDefault": { "alias": "applyTenantDefault"; "required": false; "isSignal": true; }; "tenantDefaultFetchFn": { "alias": "tenantDefaultFetchFn"; "required": false; "isSignal": true; }; "allowedCodes": { "alias": "allowedCodes"; "required": false; "isSignal": true; }; "pinnedCodes": { "alias": "pinnedCodes"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "locked": { "alias": "locked"; "required": false; "isSignal": true; }; "lockedReasonKey": { "alias": "lockedReasonKey"; "required": false; "isSignal": true; }; "lockedReasonParams": { "alias": "lockedReasonParams"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "selectionDetailChange": "selectionDetailChange"; "openedChange": "openedChange"; }, never, never, true, never>;
10048
10349
  }
10049
10350
 
10050
10351
  /** The platform endpoint the catalogue reads. Relative — the host's gateway + auth interceptors apply. */
@@ -10063,6 +10364,21 @@ declare const FLY_CURRENCIES_BRIEF_ENDPOINT = "/api/currencies/brief";
10063
10364
  * `GET /api/currencies/brief` is allowed to return.
10064
10365
  */
10065
10366
  declare function flyUnwrapCurrencies(res: unknown): readonly FlyCurrency[];
10367
+ /** The platform endpoint serving the CALLING TENANT's default currency. Relative, like its
10368
+ * catalogue sibling — the host's gateway + auth interceptors apply, and the answer is scoped to
10369
+ * whatever tenant that auth resolves to. */
10370
+ declare const FLY_CURRENCY_DEFAULT_ENDPOINT = "/api/currencies/default";
10371
+ /**
10372
+ * Unwraps the single-row shape of `GET /api/currencies/default`.
10373
+ *
10374
+ * `null` is a SUCCESS answer, not a failure: a tenant with no country has no default currency,
10375
+ * and a platform-scoped caller has no tenant whose currency could be meant. Anything that is not
10376
+ * recognisably a currency row — an envelope with `data: null`, an error body, an HTML login page
10377
+ * from a misrouted request — collapses to `null` for the same reason
10378
+ * {@link flyUnwrapCurrencies} returns `[]`: a picker must degrade to "no preselection", never
10379
+ * preselect something the platform did not vouch for.
10380
+ */
10381
+ declare function flyUnwrapCurrency(res: unknown): FlyCurrency | null;
10066
10382
  /**
10067
10383
  * **`FlyCurrencyCatalogService`** — the one ISO-code → {@link FlyCurrency} adapter for the
10068
10384
  * platform currency catalogue (`GET /api/currencies/brief`).
@@ -11594,9 +11910,43 @@ declare class FlyPaginationComponent {
11594
11910
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyPaginationComponent, "fly-pagination", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": true; "isSignal": true; }; "rangeText": { "alias": "rangeText"; "required": false; "isSignal": true; }; "showEdges": { "alias": "showEdges"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
11595
11911
  }
11596
11912
 
11913
+ declare function canGoPrev$1(page: number): boolean;
11914
+ declare function canGoNext$1(page: number, totalPages: number): boolean;
11915
+ /** Clamp a requested page into `[1, max(1, totalPages)]`. */
11916
+ declare function clampPage$1(page: number, totalPages: number): number;
11917
+
11918
+ /**
11919
+ * Numbered list pager — back arrow, one pill per page, forward arrow — for the
11920
+ * lists that want every page as a target rather than `fly-pagination`'s
11921
+ * «prev / page of total / next» band. Shares the list's surface and continues
11922
+ * its border (see `COMPONENTS.md`): pair with a list container that sets
11923
+ * `border-bottom: 0` so the two read as one panel.
11924
+ *
11925
+ * <fly-pager [page]="page()" [totalPages]="totalPages()" (goToPage)="goTo($event)" />
11926
+ *
11927
+ * `page`/the emitted target are 0-indexed (array-index pagination); buttons
11928
+ * display `page + 1`. This is the opposite convention from `fly-pagination`
11929
+ * (1-indexed) — the two are separate components for separate list shapes, not
11930
+ * a shared base, so pick the one matching how the caller already indexes its
11931
+ * pages rather than converting at the call site.
11932
+ */
11933
+ declare class FlyPagerComponent {
11934
+ readonly page: _angular_core.InputSignal<number>;
11935
+ readonly totalPages: _angular_core.InputSignal<number>;
11936
+ /** Emits the target page (already clamped to bounds), 0-indexed. */
11937
+ readonly goToPage: _angular_core.OutputEmitterRef<number>;
11938
+ protected readonly prevEnabled: _angular_core.Signal<boolean>;
11939
+ protected readonly nextEnabled: _angular_core.Signal<boolean>;
11940
+ protected readonly pages: _angular_core.Signal<number[]>;
11941
+ protected goTo(target: number): void;
11942
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyPagerComponent, never>;
11943
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyPagerComponent, "fly-pager", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": true; "isSignal": true; }; }, { "goToPage": "goToPage"; }, never, never, true, never>;
11944
+ }
11945
+
11946
+ /** 0-indexed sibling of `pagination.logic.ts` — see `pager.component.ts` for why. */
11597
11947
  declare function canGoPrev(page: number): boolean;
11598
11948
  declare function canGoNext(page: number, totalPages: number): boolean;
11599
- /** Clamp a requested page into `[1, max(1, totalPages)]`. */
11949
+ /** Clamp a requested page into `[0, max(0, totalPages - 1)]`. */
11600
11950
  declare function clampPage(page: number, totalPages: number): number;
11601
11951
 
11602
11952
  type CardLayout = 'row' | 'column';
@@ -13307,6 +13657,6 @@ declare const AUDIENCE_ERROR_CODES: {
13307
13657
  };
13308
13658
  type AudienceErrorCode = (typeof AUDIENCE_ERROR_CODES)[keyof typeof AUDIENCE_ERROR_CODES];
13309
13659
 
13310
- export { AGENT_DRAG_MIME, AGENT_PAYLOAD_VERSION, APP_LOOKUP, AUDIENCE_ERROR_CODES, AUDIENCE_LIMITS, AUDIENCE_PRESETS, AUDIENCE_TERM_KINDS, AgentActionBus, AgentActionUnsupportedDispatchError, AgentCommandRegistry, AgentDropRegistry, AgentFlightAnimator, AgentLookupRegistry, AgentPayloadOversizeError, AudienceBuilderComponent, AuthService, BilingualFieldComponent, CRON_MODES, CRON_WEEKDAYS, ContextMenuComponent, DEFAULT_AGENT_PAYLOAD_LIMITS, DEFAULT_FLY_THEME_MODE, DS_BASELINE_LOCALES, DashboardKpiComponent, DialogResult, ENTITY_LINK_LAUNCHER, EntityLookupComponent, FLYOS_LAUNCH_EVENT, FLYOS_LAUNCH_REQUEST_EVENT, FLYOS_REMOTE_ROUTE_EVENT, FLY_ACCENT_PROPERTY, FLY_ADMIN_ROLES, FLY_CHUNK_RELOAD_FLAG, FLY_COMPACT_THRESHOLD, FLY_COUNTRIES, FLY_CURRENCIES_BRIEF_ENDPOINT, FLY_EMOJI_BY_ID, FLY_EMOJI_CATEGORIES, FLY_EMOJI_CATEGORY_BY_ID, FLY_EMOJI_DEFAULT_CATEGORIES, FLY_EMOJI_PACK, FLY_EMOJI_PACK_MISSING_MESSAGE, FLY_EMOJI_PREVIEW_COUNT, FLY_EMPTY_VALUE, FLY_LOCALE_CATALOG, FLY_MAGIC_BAR_EVENT, FLY_MAGIC_BAR_ICONS, FLY_MAGIC_BAR_STORE_KEY, FLY_NF_CACHE_HEAL_FLAG, FLY_RELOAD_DEBOUNCE_MS, FLY_RELOAD_REARM_MS, FLY_REMOTE_BASE_PATH, FLY_REMOTE_CONTEXT_EVENT, FLY_REMOTE_CONTEXT_STORE_KEY, FLY_REMOTE_ROUTES, FLY_SCAN_PENDING_DEFAULT_DELAY_MS, FLY_SCAN_PENDING_MAX_RETRIES, FLY_SCAN_PENDING_STATUS, FLY_SEARCH_DEBOUNCE_MS, FLY_SKIN_TONES, FLY_STANDALONE_AUTH_CONFIG, FLY_THEME_MODE_IDS, FLY_VIEWPORT_IS_MOBILE, FLY_WINDOW_HELP_HINT_EVENT, FLY_WINDOW_PAGE_TITLE_EVENT, FlyAchievementProgressComponent, FlyActionMenuComponent, FlyActionStackComponent, FlyAgentDraggableDirective, FlyAnimatedEmojiComponent, FlyAppHomeComponent, FlyAppTopbarComponent, FlyAppUnavailableComponent, FlyAuthLiveRefresh, FlyBadgeWallComponent, FlyBlockUiComponent, FlyBreadcrumbComponent, FlyButtonComponent, FlyBytesPipe, FlyCaptchaComponent, FlyCardActionsComponent, FlyCardBodyComponent, FlyCardComponent, FlyCardFooterComponent, FlyCardGridComponent, FlyCardMediaComponent, FlyCardMetaComponent, FlyCardStatusComponent, FlyCardTitleComponent, FlyCellDirective, FlyCheckboxComponent, FlyChipComponent, FlyChunkReloadErrorHandler, FlyClickOutsideDirective, FlyCollapsibleComponent, FlyCommentThreadComponent, FlyCompactNumberPipe, FlyConfirmDialogComponent, FlyControlDirective, FlyCronBuilderComponent, FlyCurrencyCatalogService, FlyCurrencySelectorComponent, FlyDataTableComponent, FlyDatePipe, FlyDateTimePipe, FlyDebouncer, FlyDecimalNumberPipe, FlyDeepLinkPrefetchService, FlyDetailCardComponent, FlyDetailShellComponent, FlyDrawerComponent, FlyDurationPipe, FlyDynamicFormComponent, FlyEmojiPickerComponent, FlyFieldComponent, FlyFileDownloadService, FlyFileUploadComponent, FlyFilterPanelComponent, FlyFormBannerComponent, FlyFormFooterComponent, FlyFormGridComponent, FlyFormSectionComponent, FlyFullNumberPipe, FlyGanttComponent, FlyHubClient, FlyIconButtonComponent, FlyIfAdminDirective, FlyIfRoleDirective, FlyImageUploadComponent, FlyLeaderboardComponent, FlyMagicActionsComponent, FlyMetaListComponent, FlyModalComponent, FlyModerationQueueComponent, FlyModuleIconDirective, FlyMoneyPipe, FlyPaginationComponent, FlyPeoplePickerComponent, FlyPointsTierComponent, FlyProgressComponent, FlyRelativeTimePipe, FlyRemoteContextService, FlyRemoteRouter, FlyRemoteRouterOutletComponent, FlySearchInputComponent, FlySectionHeaderComponent, FlySecureSrcDirective, FlySegmentedComponent, FlySelectComponent, FlySkeletonComponent, FlySliderComponent, FlySparklineComponent, FlySpinnerComponent, FlyStandaloneAuthCallbackComponent, FlyStandaloneAuthService, FlyStandaloneMagicActionsComponent, FlyStateMessageComponent, FlyDynamicFormComponent as FlySurveyFormComponent, FlyTabComponent, FlyTabsComponent, FlyTagsInputComponent, FlyThemeService, FlyTimePipe, FlyToastService, FlyToggleComponent, FlyTooltipDirective, FlyTreeNavComponent, FlyTypeaheadComponent, FlyUserDirectoryService, FlyWindowHelpService, FlyWindowTitleService, FlyosPendingLaunchesGlobalKey, FlyosShellHandlesLaunchRequestsGlobalKey, FlyosShellOwnsHistoryGlobalKey, GANTT_DEPENDENCY_TYPES, GANTT_ROW_TINT_ALPHA, GANTT_ZOOMS, I18nService, LAUNCH_CONTEXT, MAGIC_BAR_SEARCH_WIDTH_DEFAULT, MAGIC_BAR_SEARCH_WIDTH_MAX, MAGIC_BAR_SEARCH_WIDTH_MIN, MagicBarRegistry, MessageBoxButtons, MessageBoxComponent, MessageBoxIcon, MessageBoxService, MockAuthService, NOVA_PRIORITY_TONE, NOVA_STATUS_TONE, NOVA_TONE_FALLBACK, OverlayStack, PRESENCE_COLORS, PageHeaderComponent, RTL_LOCALE_SET, SHARE_ORG_CHART_SYSTEM_KEY_APPS, SHARE_ORG_CHART_SYSTEM_KEY_DEFAULT, SHARE_PANEL_DEFAULT_FILE_LEVELS, STATE_DEFAULT_ICONS, STATE_DEFAULT_MESSAGE_KEYS, STEP_UP_CODE, STEP_UP_REAUTH_HANDLER, STEP_UP_RETURN_KEY, SUPPORTED_AGENT_PAYLOAD_VERSIONS, SharePanelComponent, SourceAppResolver, StandaloneWindowManagerService, StatusBadgeComponent, StepUpService, ToastHostComponent, TranslatePipe, WINDOW_DATA, WINDOW_HELP_HINT, WindowManagerService, applySkinTone, applySuggestion, ariaSort, buildCron, canConfirm, canGoNext, canGoPrev, captureFocus, clampMagicBarSearchWidth, clampPage, clampSliderValue, connectRemoteLaunch, enterActivatesNatively, filterGroup, filterSuggestions, findLocaleByDialect, findLocaleByPrefix, firstEnabledIndex, firstModuleIndex, flattenModules, flyAdminGuard, flyApiErrorMessage, flyCaptchaBase64Utf8, flyCaptchaBuildToken, flyCaptchaSha256Hex, flyCompactNumber, flyDebounced, flyDecimalNumber, flyDownloadBlob, flyDuration, flyEmojiFor, flyEmojiIsTonable, flyEmojiPackUrl, flyExportFileName, flyFirstEnabledIndex, flyFormatBytes, flyFormatDate, flyFormatDateTime, flyFormatMoney, flyFormatTime, flyFullNumber, flyNextEnabledIndex, flyNextSegmentIndex, flyRelativeTime, flyResolveActiveTab, flyRoleGuard, flyScanPendingDelayMs, flyScanRetry, flySignedCompact, flySkinToneLabelKey, flyStandaloneAuthGuard, flyStandaloneAuthInterceptor, flyToDateOnly, flyToPage, flyUnwrap, flyUnwrapCurrencies, flyUnwrapLenient, hasAnyRoleIn, healNativeFederationCacheOnce, initialExpanded, isAccentColor, isChunkLoadError, isFlyAuthStorePopulated, isNativeFederationCacheError, isRtlLocale, isRtlLocaleEntry, isValidCron, isValidSingleField, loadRemoteStyles, magicBarOwnerKey, magicBarSearchText, matchFlyRoutePattern, nextEnabledIndex, nextModuleIndex, nextSegmentIndex, nextSort, normalizeFlyTheme, normalizeRoles, novaPriorityToneVar, novaStatusToneVar, overlayStack, parseCron, parseStepUpChallenge, parseTags, prefetchRemoteStyles, presenceColorFor, printConsoleSecurityWarning, provideFlyChunkReloadRecovery, provideFlyEmojiPack, provideFlyStandaloneAuth, reloadOnceForChunkError, requestAppLaunch, resolveActiveModule, resolveActiveSection, resolveActiveTab, resolveCellValue, resolveStateIcon, resolveStateMessageKey, restoreFocus, sameTags, sectionHintKey, sectionLayout, sliderTrackGradient, sparklinePath, sparklinePoints, stepUpInterceptor, stepUpReturnKey, trimAgentPayload, trimAgentString, unloadRemoteStyles, utf8ByteLength, validateAgentPayload, warnIfEmbeddedSessionMissing };
13311
- export type { ActionMenuItem, AgentAction, AgentActionDispatch, AgentActionVerb, AgentChipHostInputs, AgentCommand, AgentCommandContextBinding, AgentCommandHandle, AgentCommandRegistration, AgentCommandScope, AgentCommandSlashSpec, AgentDragPayload, AgentDraggableItem, AgentDropChipMode, AgentDropRendererRegistration, AgentEnvelopeAttachment, AgentMcpScope, AgentMessageEnvelope, AgentPayloadLimits, AgentPayloadValidationResult, AppEveryonePrincipal, AppEveryoneTerm, AppLookup, AppLookupEntry, AudienceEditTarget, AudienceErrorCode, AudienceFilter, AudienceOptions, AudiencePresetKind, AudienceTerm, AudienceTermKind, BreadcrumbItem, ButtonSize, ButtonVariant, CardDensity, CardLayout, ChartTerm, ChildWindowData, ChipTone, ConfirmKind, ConnectRemoteLaunchOptions, ContextMenuAlign, ContextMenuItem, ContextMenuSection, CronAdvancedFieldDef, CronMode, CronParts, CronWeekday, DesktopApp, DesktopAppCategory, DesktopAppKind, DetailSection, DialogResultWithAcknowledgement, EmbeddedSessionProbe, EntityLinkLauncher, EntityLinkSelection, FilterGroup, FlyAchievementRow, FlyApiError, FlyApiResponse, FlyAppHomeLayout, FlyAppModule, FlyAppModuleSection, FlyAppUnavailableState, FlyAuthRefreshPayload, FlyAuthStoreReadable, FlyBadgeTile, FlyBreadcrumbItem, FlyCaptchaChallenge, FlyCaptchaSolution, FlyCaptchaState, FlyCellContext, FlyColumn, FlyColumnKind, FlyComment, FlyCommentDeleteRequest, FlyCommentEditRequest, FlyCommentLoadMoreRequest, FlyCommentLoadRepliesRequest, FlyCommentLockToggleRequest, FlyCommentPage, FlyCommentReportReason, FlyCommentReportRequest, FlyCommentReportStatus, FlyCommentSubmitRequest, FlyCountry, FlyCurrency, FlyCurrencyFetchFn, FlyCurrencySelectorMode, FlyCurrencySelectorValue, FlyDeepLinkPrefetchRoute, FlyDrawerBodyPadding, FlyDrawerPosition, FlyDrawerSide, FlyDrawerSize, FlyDrawerVariant, FlyEmojiCategory, FlyEmojiCell, FlyEmojiEntry, FlyEmojiPack, FlyEmojiPackEntry, FlyEmojiPackManifest, FlyEmojiPickerSize, FlyEmojiPickerTab, FlyEmojiSection, FlyFileInfo, FlyFileSelection, FlyFormAnswer, FlyFormAnswerValue, FlyFormDefinition, FlyFormFieldOptions, FlyFormOption, FlyFormQuestion, FlyFormQuestionType, FlyFormScoreDisplay, FlyFormatMoneyOptions, FlyLaunchEventDetail, FlyLaunchRequestDetail, FlyLeaderboardRow, FlyLiveRefreshOptions, FlyLocaleEntry, FlyMagicBarIconName, FlyMetaItem, FlyModerationLoadPageRequest, FlyModerationLockThreadRequest, FlyModerationOpenSubjectRequest, FlyModerationReport, FlyModerationReportPage, FlyModerationResolutionStatus, FlyModerationResolveRequest, FlyMoneyDisplay, FlyNavigableItem, FlyPageMeta, FlyPageResult, FlyPaged, FlyPeoplePickerMode, FlyPeoplePickerOption, FlyPeopleSearchFn, FlyPointsSummary, FlyRemoteContext, FlyRemoteEagerRoute, FlyRemoteLazyRoute, FlyRemoteLoadedComponent, FlyRemoteMatch, FlyRemoteRoute, FlyRemoteRouteEventDetail, FlySearchExpandTrigger, FlySearchInputSize, FlySecureSrcState, FlySelectOption, FlySelectValue, FlySkeletonAnimation, FlySkeletonLayout, FlySkeletonShape, FlySkinTone, FlySort, FlyStandaloneAuthConfig, FlyFileSelection as FlySurveyFileSelection, FlyFormAnswer as FlySurveyFormAnswer, FlyFormAnswerValue as FlySurveyFormAnswerValue, FlyFormDefinition as FlySurveyFormDefinition, FlyFormFieldOptions as FlySurveyFormFieldOptions, FlyFormOption as FlySurveyFormOption, FlyFormQuestion as FlySurveyFormQuestion, FlyFormQuestionType as FlySurveyQuestionType, FlyThemeMode, FlyTooltipPlacement, FlyTreeNavNode, FlyTypeaheadOption, FlyWindowHelpHintEventDetail, FlyWindowHelpPublisher, FlyWindowPageTitleEventDetail, FlyWindowTitlePublisher, FlyosPendingLaunches, FocusRestore, FormBannerKind, GanttDependency, GanttDependencyCreate, GanttDependencyDelete, GanttDependencyType, GanttRow, GanttRowDatesChange, GanttRowKind, GanttZoom, IconButtonVariant, LaunchContext, LoadBundleOptions, LoadRemoteStylesOptions, LookupDescriptor, LookupHandle, LookupRegistration, LookupResult, LookupSearch, MagicBarAction, MagicBarActionKind, MagicBarActionSpec, MagicBarActionView, MagicBarContribution, MagicBarGroup, MagicBarGroupSpec, MagicBarGroupView, MagicBarOwnerRef, MagicBarPublisher, MagicBarRadioMenu, MagicBarRadioMenuSpec, MagicBarRadioMenuView, MagicBarRadioOption, MagicBarSearch, MagicBarSearchSeed, MagicBarSearchSpec, MagicBarSearchView, MagicBarTextParams, MagicBarTone, MagicBarView, MessageBoxButton, MessageBoxDontAskAgainConfig, MessageBoxOptions, MessageBoxOptionsWithAcknowledgement, MockAuthConfig, OpenWindowOptions, OuPrincipal, OuTerm, OverlayHandle, PageHeaderVariant, PresetTerm, ProgressTone, RemoteAppDef, RequestAppLaunchOptions, RoleOuLookupRow, RolePrincipal, RolesTerm, SegmentedOption, SegmentedVariant, ShareOrgChartOption, ShareOuNode, SharePanelLevelOption, SharePermissionEntry, SharePrincipal, SharePrincipalKind, ShareUserResult, StateMessageKind, StepUpChallenge, StepUpReauthHandler, StepUpReauthRequest, TabsVariant, ToastAction, ToastEntry, ToastOptions, ToastVariant, User, UserPrincipal, UsersTerm, WindowHelpHint, WindowInstance, WindowState };
13660
+ export { AGENT_DRAG_MIME, AGENT_PAYLOAD_VERSION, APP_LOOKUP, AUDIENCE_ERROR_CODES, AUDIENCE_LIMITS, AUDIENCE_PRESETS, AUDIENCE_TERM_KINDS, AgentActionBus, AgentActionUnsupportedDispatchError, AgentCommandRegistry, AgentDropRegistry, AgentFlightAnimator, AgentLookupRegistry, AgentPayloadOversizeError, AudienceBuilderComponent, AuthService, BilingualFieldComponent, CRON_MODES, CRON_WEEKDAYS, ContextMenuComponent, DEFAULT_AGENT_PAYLOAD_LIMITS, DEFAULT_FLY_THEME_MODE, DS_BASELINE_LOCALES, DashboardKpiComponent, DialogResult, ENTITY_LINK_LAUNCHER, EntityLookupComponent, FLYOS_LAUNCH_EVENT, FLYOS_LAUNCH_REQUEST_EVENT, FLYOS_REMOTE_ROUTE_EVENT, FLY_ACCENT_PROPERTY, FLY_ADMIN_ROLES, FLY_CHUNK_RELOAD_FLAG, FLY_COMPACT_THRESHOLD, FLY_COUNTRIES, FLY_CURRENCIES_BRIEF_ENDPOINT, FLY_CURRENCY_DEFAULT_ENDPOINT, FLY_EMOJI_BY_ID, FLY_EMOJI_CATEGORIES, FLY_EMOJI_CATEGORY_BY_ID, FLY_EMOJI_DEFAULT_CATEGORIES, FLY_EMOJI_PACK, FLY_EMOJI_PACK_MISSING_MESSAGE, FLY_EMOJI_PREVIEW_COUNT, FLY_EMPTY_VALUE, FLY_LOCALE_CATALOG, FLY_MAGIC_BAR_EVENT, FLY_MAGIC_BAR_ICONS, FLY_MAGIC_BAR_STORE_KEY, FLY_NF_CACHE_HEAL_FLAG, FLY_RELOAD_DEBOUNCE_MS, FLY_RELOAD_REARM_MS, FLY_REMOTE_BASE_PATH, FLY_REMOTE_CONTEXT_EVENT, FLY_REMOTE_CONTEXT_STORE_KEY, FLY_REMOTE_ROUTES, FLY_SCAN_PENDING_DEFAULT_DELAY_MS, FLY_SCAN_PENDING_MAX_RETRIES, FLY_SCAN_PENDING_STATUS, FLY_SEARCH_DEBOUNCE_MS, FLY_SKIN_TONES, FLY_STANDALONE_AUTH_CONFIG, FLY_STRATEGY_OBJECTIVES_LOOKUP_ENDPOINT, FLY_THEME_MODE_IDS, FLY_VIEWPORT_IS_MOBILE, FLY_WINDOW_BREADCRUMBS_EVENT, FLY_WINDOW_BREADCRUMBS_STORE_KEY, FLY_WINDOW_HELP_HINT_EVENT, FLY_WINDOW_PAGE_TITLE_EVENT, FlyAchievementProgressComponent, FlyActionMenuComponent, FlyActionStackComponent, FlyAgentDraggableDirective, FlyAnimatedEmojiComponent, FlyAppHomeComponent, FlyAppTopbarComponent, FlyAppUnavailableComponent, FlyAuthLiveRefresh, FlyBadgeWallComponent, FlyBlockUiComponent, FlyBreadcrumbComponent, FlyButtonComponent, FlyBytesPipe, FlyCaptchaComponent, FlyCardActionsComponent, FlyCardBodyComponent, FlyCardComponent, FlyCardFooterComponent, FlyCardGridComponent, FlyCardMediaComponent, FlyCardMetaComponent, FlyCardStatusComponent, FlyCardTitleComponent, FlyCellDirective, FlyCheckboxComponent, FlyChipComponent, FlyChunkReloadErrorHandler, FlyClickOutsideDirective, FlyCollapsibleComponent, FlyCommentThreadComponent, FlyCompactNumberPipe, FlyConfirmDialogComponent, FlyControlDirective, FlyCronBuilderComponent, FlyCurrencyCatalogService, FlyCurrencySelectorComponent, FlyDataTableComponent, FlyDatePipe, FlyDateTimePipe, FlyDebouncer, FlyDecimalNumberPipe, FlyDeepLinkPrefetchService, FlyDetailCardComponent, FlyDetailShellComponent, FlyDrawerComponent, FlyDurationPipe, FlyDynamicFormComponent, FlyEmojiPickerComponent, FlyFieldComponent, FlyFileDownloadService, FlyFileUploadComponent, FlyFilterPanelComponent, FlyFormBannerComponent, FlyFormFooterComponent, FlyFormGridComponent, FlyFormSectionComponent, FlyFullNumberPipe, FlyGanttComponent, FlyHubClient, FlyIconButtonComponent, FlyIfAdminDirective, FlyIfRoleDirective, FlyImageUploadComponent, FlyLeaderboardComponent, FlyMagicActionsComponent, FlyMetaListComponent, FlyModalComponent, FlyModerationQueueComponent, FlyModuleIconDirective, FlyMoneyPipe, FlyPagerComponent, FlyPaginationComponent, FlyPeoplePickerComponent, FlyPointsTierComponent, FlyProgressComponent, FlyRelativeTimePipe, FlyRemoteContextService, FlyRemoteRouter, FlyRemoteRouterOutletComponent, FlySearchInputComponent, FlySectionHeaderComponent, FlySecureSrcDirective, FlySegmentedComponent, FlySelectComponent, FlySkeletonComponent, FlySliderComponent, FlySparklineComponent, FlySpinnerComponent, FlyStandaloneAuthCallbackComponent, FlyStandaloneAuthService, FlyStandaloneMagicActionsComponent, FlyStateMessageComponent, FlyStrategySelectorComponent, FlyDynamicFormComponent as FlySurveyFormComponent, FlyTabComponent, FlyTabsComponent, FlyTagsInputComponent, FlyThemeService, FlyTimePipe, FlyToastService, FlyToggleComponent, FlyTooltipDirective, FlyTreeNavComponent, FlyTypeaheadComponent, FlyUserDirectoryService, FlyWindowHelpService, FlyWindowTitleService, FlyosPendingLaunchesGlobalKey, FlyosShellHandlesLaunchRequestsGlobalKey, FlyosShellOwnsHistoryGlobalKey, GANTT_DEPENDENCY_TYPES, GANTT_ROW_TINT_ALPHA, GANTT_ZOOMS, I18nService, LAUNCH_CONTEXT, MAGIC_BAR_SEARCH_WIDTH_DEFAULT, MAGIC_BAR_SEARCH_WIDTH_MAX, MAGIC_BAR_SEARCH_WIDTH_MIN, MagicBarRegistry, MessageBoxButtons, MessageBoxComponent, MessageBoxIcon, MessageBoxService, MockAuthService, NOVA_PRIORITY_TONE, NOVA_STATUS_TONE, NOVA_TONE_FALLBACK, OverlayStack, PRESENCE_COLORS, PageHeaderComponent, RTL_LOCALE_SET, SHARE_ORG_CHART_SYSTEM_KEY_APPS, SHARE_ORG_CHART_SYSTEM_KEY_DEFAULT, SHARE_PANEL_DEFAULT_FILE_LEVELS, STATE_DEFAULT_ICONS, STATE_DEFAULT_MESSAGE_KEYS, STEP_UP_CODE, STEP_UP_REAUTH_HANDLER, STEP_UP_RETURN_KEY, SUPPORTED_AGENT_PAYLOAD_VERSIONS, SharePanelComponent, SourceAppResolver, StandaloneWindowManagerService, StatusBadgeComponent, StepUpService, ToastHostComponent, TranslatePipe, WINDOW_DATA, WINDOW_HELP_HINT, WindowBreadcrumbsRegistry, WindowManagerService, applySkinTone, applySuggestion, ariaSort, buildCron, canConfirm, canGoNext$1 as canGoNext, canGoPrev$1 as canGoPrev, captureFocus, clampMagicBarSearchWidth, clampPage$1 as clampPage, clampSliderValue, connectRemoteLaunch, enterActivatesNatively, filterGroup, filterSuggestions, findLocaleByDialect, findLocaleByPrefix, firstEnabledIndex, firstModuleIndex, flattenModules, flyAdminGuard, flyApiErrorMessage, flyCaptchaBase64Utf8, flyCaptchaBuildToken, flyCaptchaSha256Hex, flyCompactNumber, flyDebounced, flyDecimalNumber, flyDownloadBlob, flyDuration, flyEmojiFor, flyEmojiIsTonable, flyEmojiPackUrl, flyExportFileName, flyFirstEnabledIndex, flyFormatBytes, flyFormatDate, flyFormatDateTime, flyFormatMoney, flyFormatTime, flyFullNumber, flyNextEnabledIndex, flyNextSegmentIndex, flyRelativeTime, flyResolveActiveTab, flyRoleGuard, flyScanPendingDelayMs, flyScanRetry, flySignedCompact, flySkinToneLabelKey, flyStandaloneAuthGuard, flyStandaloneAuthInterceptor, flyToDateOnly, flyToPage, flyUnwrap, flyUnwrapCurrencies, flyUnwrapCurrency, flyUnwrapLenient, flyUnwrapObjectiveLookup, hasAnyRoleIn, healNativeFederationCacheOnce, initialExpanded, isAccentColor, isChunkLoadError, isFlyAuthStorePopulated, isNativeFederationCacheError, isRtlLocale, isRtlLocaleEntry, isValidCron, isValidSingleField, loadRemoteStyles, magicBarOwnerKey, magicBarSearchText, matchFlyRoutePattern, nextEnabledIndex, nextModuleIndex, nextSegmentIndex, nextSort, normalizeFlyTheme, normalizeRoles, novaPriorityToneVar, novaStatusToneVar, overlayStack, canGoNext as pagerCanGoNext, canGoPrev as pagerCanGoPrev, clampPage as pagerClampPage, parseCron, parseStepUpChallenge, parseTags, prefetchRemoteStyles, presenceColorFor, printConsoleSecurityWarning, provideFlyChunkReloadRecovery, provideFlyEmojiPack, provideFlyStandaloneAuth, reloadOnceForChunkError, requestAppLaunch, resolveActiveModule, resolveActiveSection, resolveActiveTab, resolveCellValue, resolveStateIcon, resolveStateMessageKey, restoreFocus, sameTags, sectionHintKey, sectionLayout, sliderTrackGradient, sparklinePath, sparklinePoints, stepUpInterceptor, stepUpReturnKey, trimAgentPayload, trimAgentString, unloadRemoteStyles, utf8ByteLength, validateAgentPayload, warnIfEmbeddedSessionMissing };
13661
+ export type { ActionMenuItem, AgentAction, AgentActionDispatch, AgentActionVerb, AgentChipHostInputs, AgentCommand, AgentCommandContextBinding, AgentCommandHandle, AgentCommandRegistration, AgentCommandScope, AgentCommandSlashSpec, AgentDragPayload, AgentDraggableItem, AgentDropChipMode, AgentDropRendererRegistration, AgentEnvelopeAttachment, AgentMcpScope, AgentMessageEnvelope, AgentPayloadLimits, AgentPayloadValidationResult, AppEveryonePrincipal, AppEveryoneTerm, AppLookup, AppLookupEntry, AudienceEditTarget, AudienceErrorCode, AudienceFilter, AudienceOptions, AudiencePresetKind, AudienceTerm, AudienceTermKind, BreadcrumbItem, ButtonSize, ButtonVariant, CardDensity, CardLayout, ChartTerm, ChildWindowData, ChipTone, ConfirmKind, ConnectRemoteLaunchOptions, ContextMenuAlign, ContextMenuItem, ContextMenuSection, CronAdvancedFieldDef, CronMode, CronParts, CronWeekday, DesktopApp, DesktopAppCategory, DesktopAppKind, DetailSection, DialogResultWithAcknowledgement, EmbeddedSessionProbe, EntityLinkLauncher, EntityLinkSelection, FilterGroup, FlyAchievementRow, FlyApiError, FlyApiResponse, FlyAppHomeLayout, FlyAppModule, FlyAppModuleSection, FlyAppUnavailableState, FlyAuthRefreshPayload, FlyAuthStoreReadable, FlyBadgeTile, FlyBreadcrumbItem, FlyCaptchaChallenge, FlyCaptchaSolution, FlyCaptchaState, FlyCellContext, FlyColumn, FlyColumnKind, FlyComment, FlyCommentDeleteRequest, FlyCommentEditRequest, FlyCommentLoadMoreRequest, FlyCommentLoadRepliesRequest, FlyCommentLockToggleRequest, FlyCommentPage, FlyCommentReportReason, FlyCommentReportRequest, FlyCommentReportStatus, FlyCommentSubmitRequest, FlyCountry, FlyCurrency, FlyCurrencyFetchFn, FlyCurrencySelectorMode, FlyCurrencySelectorValue, FlyDeepLinkPrefetchRoute, FlyDrawerBodyPadding, FlyDrawerPosition, FlyDrawerSide, FlyDrawerSize, FlyDrawerVariant, FlyEmojiCategory, FlyEmojiCell, FlyEmojiEntry, FlyEmojiPack, FlyEmojiPackEntry, FlyEmojiPackManifest, FlyEmojiPickerSize, FlyEmojiPickerTab, FlyEmojiSection, FlyFileInfo, FlyFileSelection, FlyFormAnswer, FlyFormAnswerValue, FlyFormDefinition, FlyFormFieldOptions, FlyFormOption, FlyFormQuestion, FlyFormQuestionType, FlyFormScoreDisplay, FlyFormatMoneyOptions, FlyLaunchEventDetail, FlyLaunchRequestDetail, FlyLeaderboardRow, FlyLiveRefreshOptions, FlyLocaleEntry, FlyMagicBarIconName, FlyMetaItem, FlyModerationLoadPageRequest, FlyModerationLockThreadRequest, FlyModerationOpenSubjectRequest, FlyModerationReport, FlyModerationReportPage, FlyModerationResolutionStatus, FlyModerationResolveRequest, FlyMoneyDisplay, FlyNavigableItem, FlyPageMeta, FlyPageResult, FlyPaged, FlyPeoplePickerMode, FlyPeoplePickerOption, FlyPeopleSearchFn, FlyPointsSummary, FlyRemoteContext, FlyRemoteEagerRoute, FlyRemoteLazyRoute, FlyRemoteLoadedComponent, FlyRemoteMatch, FlyRemoteRoute, FlyRemoteRouteEventDetail, FlySearchExpandTrigger, FlySearchInputSize, FlySecureSrcState, FlySelectOption, FlySelectValue, FlySkeletonAnimation, FlySkeletonLayout, FlySkeletonShape, FlySkinTone, FlySort, FlyStandaloneAuthConfig, FlyStrategyObjectiveRef, FlyStrategyObjectiveSearchFn, FlyFileSelection as FlySurveyFileSelection, FlyFormAnswer as FlySurveyFormAnswer, FlyFormAnswerValue as FlySurveyFormAnswerValue, FlyFormDefinition as FlySurveyFormDefinition, FlyFormFieldOptions as FlySurveyFormFieldOptions, FlyFormOption as FlySurveyFormOption, FlyFormQuestion as FlySurveyFormQuestion, FlyFormQuestionType as FlySurveyQuestionType, FlyTenantDefaultCurrencyFetchFn, FlyThemeMode, FlyTooltipPlacement, FlyTreeNavNode, FlyTypeaheadOption, FlyWindowHelpHintEventDetail, FlyWindowHelpPublisher, FlyWindowPageTitleEventDetail, FlyWindowTitlePublisher, FlyosPendingLaunches, FocusRestore, FormBannerKind, GanttDependency, GanttDependencyCreate, GanttDependencyDelete, GanttDependencyType, GanttRow, GanttRowDatesChange, GanttRowKind, GanttZoom, IconButtonVariant, LaunchContext, LoadBundleOptions, LoadRemoteStylesOptions, LookupDescriptor, LookupHandle, LookupRegistration, LookupResult, LookupSearch, MagicBarAction, MagicBarActionKind, MagicBarActionSpec, MagicBarActionView, MagicBarContribution, MagicBarGroup, MagicBarGroupSpec, MagicBarGroupView, MagicBarOwnerRef, MagicBarPublisher, MagicBarRadioMenu, MagicBarRadioMenuSpec, MagicBarRadioMenuView, MagicBarRadioOption, MagicBarSearch, MagicBarSearchSeed, MagicBarSearchSpec, MagicBarSearchView, MagicBarTextParams, MagicBarTone, MagicBarView, MessageBoxButton, MessageBoxDontAskAgainConfig, MessageBoxOptions, MessageBoxOptionsWithAcknowledgement, MockAuthConfig, OpenWindowOptions, OuPrincipal, OuTerm, OverlayHandle, PageHeaderVariant, PresetTerm, ProgressTone, RemoteAppDef, RequestAppLaunchOptions, RoleOuLookupRow, RolePrincipal, RolesTerm, SegmentedOption, SegmentedVariant, ShareOrgChartOption, ShareOuNode, SharePanelLevelOption, SharePermissionEntry, SharePrincipal, SharePrincipalKind, ShareUserResult, StateMessageKind, StepUpChallenge, StepUpReauthHandler, StepUpReauthRequest, TabsVariant, ToastAction, ToastEntry, ToastOptions, ToastVariant, User, UserPrincipal, UsersTerm, WindowBreadcrumb, WindowHelpHint, WindowInstance, WindowState };
13312
13662
  //# sourceMappingURL=flyos-design-system.d.ts.map