@flyos/design-system 1.3.0 → 1.4.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.
package/package.json
CHANGED
|
@@ -1661,14 +1661,18 @@ interface LoadBundleOptions {
|
|
|
1661
1661
|
/**
|
|
1662
1662
|
* Shared I18nService for the shell and Business Apps.
|
|
1663
1663
|
*
|
|
1664
|
-
* **Merge order** (later keys win): DS baseline →
|
|
1665
|
-
*
|
|
1664
|
+
* **Merge order** (later keys win): DS baseline → remote bundles in registration
|
|
1665
|
+
* order → shell layer.
|
|
1666
1666
|
*
|
|
1667
1667
|
* - Baseline: {@link DS_BASELINE_LOCALES} — built-in strings for DS components
|
|
1668
1668
|
* (markdown editor, entity lookup) so they render localized labels even in a
|
|
1669
1669
|
* standalone consumer that never populated the shell layer. Always overridable.
|
|
1670
|
-
* -
|
|
1671
|
-
*
|
|
1670
|
+
* - Remotes: `loadBundle()` per manifest `localeBaseUrl`. May ADD any key and may
|
|
1671
|
+
* override the baseline, but cannot redefine a key the shell owns — the dictionary
|
|
1672
|
+
* is global, so allowing that let one remote restyle the whole desktop's wording.
|
|
1673
|
+
* - Shell: `setShellTranslations()` after loading `locale/{lang}.json` and API
|
|
1674
|
+
* overrides. Highest priority, which also makes the per-tenant
|
|
1675
|
+
* `/api/i18n/desktop-shell/{lang}` overrides authoritative over every app.
|
|
1672
1676
|
*/
|
|
1673
1677
|
declare class I18nService {
|
|
1674
1678
|
private readonly errorHandler;
|
|
@@ -1677,9 +1681,32 @@ declare class I18nService {
|
|
|
1677
1681
|
private readonly _bundleOrder;
|
|
1678
1682
|
private readonly _locale;
|
|
1679
1683
|
private readonly _version;
|
|
1684
|
+
/** `${bundleId}|${locale}` pairs already reported by {@link warnOnSuppressedShellKeys}. */
|
|
1685
|
+
private readonly _warnedCollisions;
|
|
1680
1686
|
/** Built-in DS strings for the active locale (falls back to `en` for any
|
|
1681
1687
|
* locale we don't ship). Lowest-priority layer — always overridable. */
|
|
1682
1688
|
private readonly _baseline;
|
|
1689
|
+
/**
|
|
1690
|
+
* Merge order, lowest priority first: DS baseline → remote bundles (registration
|
|
1691
|
+
* order) → shell.
|
|
1692
|
+
*
|
|
1693
|
+
* The shell layer is LAST, and that is the whole point. Translations live in one
|
|
1694
|
+
* flat, global dictionary with no per-app scoping, so when remote bundles were
|
|
1695
|
+
* merged last, any remote that happened to define a key the shell also defines
|
|
1696
|
+
* silently rewrote that string for the ENTIRE desktop — every other app included.
|
|
1697
|
+
*
|
|
1698
|
+
* That was not hypothetical: the Circles remote's bundle shares 63 keys with the
|
|
1699
|
+
* shell and differed on 27 of them, one being `common.label.dashboard`, which is
|
|
1700
|
+
* how it came to own the Arabic display name of a Core App it has nothing to do
|
|
1701
|
+
* with. The symptom is near-impossible to chase from the outside — editing the
|
|
1702
|
+
* shell's own `locale/{lang}.json` simply has no effect at runtime, with nothing
|
|
1703
|
+
* logged.
|
|
1704
|
+
*
|
|
1705
|
+
* A remote may still override the DS baseline (bundles are merged after it), which
|
|
1706
|
+
* is the layer explicitly documented as always-overridable, and it may still add
|
|
1707
|
+
* any key the shell does not define. What it can no longer do is redefine a string
|
|
1708
|
+
* the shell owns. {@link loadBundle} warns in dev when a bundle tries.
|
|
1709
|
+
*/
|
|
1683
1710
|
private readonly _merged;
|
|
1684
1711
|
readonly locale: _angular_core.Signal<string>;
|
|
1685
1712
|
readonly version: _angular_core.Signal<number>;
|
|
@@ -1694,6 +1721,20 @@ declare class I18nService {
|
|
|
1694
1721
|
* @returns whether the bundle was loaded successfully.
|
|
1695
1722
|
*/
|
|
1696
1723
|
loadBundle(opts: LoadBundleOptions): Promise<boolean>;
|
|
1724
|
+
/**
|
|
1725
|
+
* Dev-only: report keys a bundle defines that the shell already owns.
|
|
1726
|
+
*
|
|
1727
|
+
* These are now silently ignored (the shell wins), so without this the app would
|
|
1728
|
+
* simply not use strings the remote shipped and nobody would know which ones. The
|
|
1729
|
+
* previous precedence was worse — it applied them, changing wording across the
|
|
1730
|
+
* whole desktop, also silently. Either way the failure is invisible, which is the
|
|
1731
|
+
* argument for saying it out loud exactly once, when the bundle loads.
|
|
1732
|
+
*
|
|
1733
|
+
* A hit is not automatically a bug: an app legitimately reuses shared keys it does
|
|
1734
|
+
* not intend to redefine, so only keys whose VALUE differs are worth reporting.
|
|
1735
|
+
* The fix on the app's side is to namespace the key under its own app id.
|
|
1736
|
+
*/
|
|
1737
|
+
private warnOnSuppressedShellKeys;
|
|
1697
1738
|
removeBundle(id: string): void;
|
|
1698
1739
|
clearRemoteBundles(): void;
|
|
1699
1740
|
t(key: string, params?: Record<string, string | number>): string;
|
|
@@ -2507,6 +2548,161 @@ declare class FlyWindowTitleService {
|
|
|
2507
2548
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FlyWindowTitleService>;
|
|
2508
2549
|
}
|
|
2509
2550
|
|
|
2551
|
+
/**
|
|
2552
|
+
* One candidate/selected person. Mirrors the fields of the Controller's
|
|
2553
|
+
* `UserLookupDto` the component actually renders (`id`/`displayName`/
|
|
2554
|
+
* `avatarUrl`); `email` is optional and purely decorative (chip tooltip).
|
|
2555
|
+
* A host wiring `/api/users/lookup` maps the response 1:1 into this shape.
|
|
2556
|
+
*/
|
|
2557
|
+
interface FlyPeoplePickerOption {
|
|
2558
|
+
readonly id: string;
|
|
2559
|
+
readonly displayName: string;
|
|
2560
|
+
readonly email?: string;
|
|
2561
|
+
readonly avatarUrl?: string;
|
|
2562
|
+
}
|
|
2563
|
+
/** Single pick (replaces the current selection) vs multi pick (adds, chips accumulate). */
|
|
2564
|
+
type FlyPeoplePickerMode = 'single' | 'multi';
|
|
2565
|
+
|
|
2566
|
+
/** The exact shape `fly-people-picker` binds to `[searchFn]`. */
|
|
2567
|
+
type FlyPeopleSearchFn = (query: string) => Observable<readonly FlyPeoplePickerOption[]>;
|
|
2568
|
+
/**
|
|
2569
|
+
* **`FlyUserDirectoryService`** — the one id→person adapter for the platform user
|
|
2570
|
+
* directory (`GET /api/users/lookup?q=`, `POST /api/users/resolve`).
|
|
2571
|
+
*
|
|
2572
|
+
* Every app that renders a *list* of people — comment authors, contributors,
|
|
2573
|
+
* approvers, credits, audit rows — needs the same thing: turn a `userId` into a
|
|
2574
|
+
* name without issuing one request per row. Before this service each app wrote
|
|
2575
|
+
* its own copy (Circles `UserResolverService`, Thoughts `UserLookupService`,
|
|
2576
|
+
* plus hand-rolled `/api/users/resolve` calls in the shell and admin portal),
|
|
2577
|
+
* and every copy re-derived the same read-through cache. This is that cache,
|
|
2578
|
+
* once, in the design system.
|
|
2579
|
+
*
|
|
2580
|
+
* The HTTP call rides the **host's** `HttpClient`, so the host's gateway routing,
|
|
2581
|
+
* auth interceptor, and correlation headers all apply — the same arrangement
|
|
2582
|
+
* `fly-entity-lookup` uses. The DS never configures a base URL of its own.
|
|
2583
|
+
*
|
|
2584
|
+
* ## `label()` is read-through — hosts do not prime
|
|
2585
|
+
*
|
|
2586
|
+
* {@link label} is a *signal-backed* accessor: on a cache miss it queues the id
|
|
2587
|
+
* and returns `null`, then the queued ids are resolved in ONE batched request a
|
|
2588
|
+
* microtask later. Because the read happens inside Angular's reactive context,
|
|
2589
|
+
* a template calling `label(id)` re-renders by itself when the answer lands —
|
|
2590
|
+
* no `computed` shadow state, no `prime()` call at each fetch site.
|
|
2591
|
+
*
|
|
2592
|
+
* That last point is the whole reason this exists. The prime-then-read shape it
|
|
2593
|
+
* replaces required every host to (a) keep the raw page separate from the mapped
|
|
2594
|
+
* page, (b) derive the mapped page through a `computed`, and (c) remember to
|
|
2595
|
+
* prime on *every* fetch path — root load, load-more, load-replies, refetch. Miss
|
|
2596
|
+
* one path and that path silently renders GUIDs, with nothing failing. Making the
|
|
2597
|
+
* cache read-through deletes the whole bug class.
|
|
2598
|
+
*
|
|
2599
|
+
* ## Failure is graceful, and never a retry storm
|
|
2600
|
+
*
|
|
2601
|
+
* A failed lookup caches nothing, so callers fall back to whatever they render
|
|
2602
|
+
* for an unresolved id (typically the raw id). Deliberate asymmetry in retry
|
|
2603
|
+
* behaviour, because a render-driven read must not hammer a broken endpoint:
|
|
2604
|
+
*
|
|
2605
|
+
* - **Render-driven** ({@link label}) attempts an id **once**. After a failure it
|
|
2606
|
+
* stays unresolved for the session rather than re-requesting on every
|
|
2607
|
+
* change-detection pass.
|
|
2608
|
+
* - **Explicit** ({@link prime}, {@link resolve}, {@link invalidate}) always
|
|
2609
|
+
* re-attempts. A host re-fetching a page therefore retries naturally, and a
|
|
2610
|
+
* retry button can call {@link invalidate}.
|
|
2611
|
+
*
|
|
2612
|
+
* Unknown / cross-tenant ids are omitted by the endpoint rather than erroring, so
|
|
2613
|
+
* they simply never resolve — which is also the correct behaviour for a
|
|
2614
|
+
* standalone External App where `/api/users/*` isn't reachable at all.
|
|
2615
|
+
*
|
|
2616
|
+
* @example Comment thread — one binding, no plumbing
|
|
2617
|
+
* ```html
|
|
2618
|
+
* <fly-comment-thread
|
|
2619
|
+
* [rootPage]="rootPage()"
|
|
2620
|
+
* [resolveDisplayName]="directory.label" />
|
|
2621
|
+
* ```
|
|
2622
|
+
* ```ts
|
|
2623
|
+
* protected readonly directory = inject(FlyUserDirectoryService);
|
|
2624
|
+
* ```
|
|
2625
|
+
*
|
|
2626
|
+
* @example People picker — search + prefill
|
|
2627
|
+
* ```html
|
|
2628
|
+
* <fly-people-picker
|
|
2629
|
+
* [searchFn]="directory.search()"
|
|
2630
|
+
* [initialSelection]="selected()" />
|
|
2631
|
+
* ```
|
|
2632
|
+
*/
|
|
2633
|
+
declare class FlyUserDirectoryService {
|
|
2634
|
+
private readonly http;
|
|
2635
|
+
/** id → person, for everything resolved so far. Signal-backed so {@link label} is reactive. */
|
|
2636
|
+
private readonly entries;
|
|
2637
|
+
/** Ids with a request in the air — so a re-render cannot duplicate an in-flight lookup. */
|
|
2638
|
+
private readonly inFlight;
|
|
2639
|
+
/**
|
|
2640
|
+
* Ids {@link label} has already attempted at least once. Checked ONLY on the
|
|
2641
|
+
* render-driven path: it is what stops a persistently failing endpoint from
|
|
2642
|
+
* being re-requested on every change-detection pass. Explicit callers ignore it.
|
|
2643
|
+
*/
|
|
2644
|
+
private readonly attempted;
|
|
2645
|
+
/** Ids queued by {@link label}, awaiting the batched microtask flush. */
|
|
2646
|
+
private readonly queued;
|
|
2647
|
+
private flushScheduled;
|
|
2648
|
+
/**
|
|
2649
|
+
* Display name for `id`, or `null` when it is not (yet) resolved — on a miss the
|
|
2650
|
+
* id is queued for the next batched resolve. Null rather than the raw id on
|
|
2651
|
+
* purpose: a GUID is not a name, and the caller should render its own fallback
|
|
2652
|
+
* (or localized placeholder) instead of the DS guessing one.
|
|
2653
|
+
*
|
|
2654
|
+
* Bound as a value (`[resolveDisplayName]="directory.label"`), so it is an arrow
|
|
2655
|
+
* property rather than a method — `this` stays correct without the host wrapping
|
|
2656
|
+
* it in a closure.
|
|
2657
|
+
*/
|
|
2658
|
+
readonly label: (id: string | null | undefined) => string | null;
|
|
2659
|
+
/**
|
|
2660
|
+
* The full resolved person for `id` (name, email, avatar), or `null` when not yet
|
|
2661
|
+
* known. Same read-through queueing as {@link label} — use it when a surface can
|
|
2662
|
+
* render an avatar rather than just a name.
|
|
2663
|
+
*/
|
|
2664
|
+
readonly option: (id: string | null | undefined) => FlyPeoplePickerOption | null;
|
|
2665
|
+
/**
|
|
2666
|
+
* Eagerly resolves any ids not already known, merging them into the cache.
|
|
2667
|
+
* Optional — {@link label} resolves on demand — but useful to warm the cache
|
|
2668
|
+
* before a render, or to force a retry after a failed auto-attempt (explicit
|
|
2669
|
+
* calls are not subject to the once-only rule; see the class doc).
|
|
2670
|
+
*/
|
|
2671
|
+
prime(ids: readonly (string | null | undefined)[]): void;
|
|
2672
|
+
/**
|
|
2673
|
+
* Bulk-resolves ids to picker options — for prefilling `fly-people-picker`'s
|
|
2674
|
+
* `[initialSelection]` from stored ids. Requests are chunked to the endpoint's
|
|
2675
|
+
* {@link RESOLVE_BATCH_SIZE} cap rather than truncated, so a large selection
|
|
2676
|
+
* resolves fully instead of silently losing its tail. Resolved rows also land in
|
|
2677
|
+
* the cache, so a later {@link label} for the same id is free. Empty in → empty
|
|
2678
|
+
* out with no request.
|
|
2679
|
+
*/
|
|
2680
|
+
resolve(ids: readonly (string | null | undefined)[]): Observable<FlyPeoplePickerOption[]>;
|
|
2681
|
+
/**
|
|
2682
|
+
* Drops cached entries so the next read re-resolves them — the retry hook for a
|
|
2683
|
+
* host that surfaces a "couldn't load names" affordance. Omit `ids` to clear the
|
|
2684
|
+
* whole cache.
|
|
2685
|
+
*/
|
|
2686
|
+
invalidate(ids?: readonly string[]): void;
|
|
2687
|
+
/**
|
|
2688
|
+
* A `searchFn` over the platform users directory — bind straight to
|
|
2689
|
+
* `<fly-people-picker [searchFn]>`. Results are cached too, so picking someone
|
|
2690
|
+
* makes their name available to {@link label} without another round-trip.
|
|
2691
|
+
*/
|
|
2692
|
+
search(): FlyPeopleSearchFn;
|
|
2693
|
+
/** Queues a render-driven miss, honouring the once-only rule. */
|
|
2694
|
+
private queueForRender;
|
|
2695
|
+
private flush;
|
|
2696
|
+
/** Issues the (chunked) resolve calls for `ids` and merges whatever comes back. */
|
|
2697
|
+
private fetch;
|
|
2698
|
+
private post;
|
|
2699
|
+
private merge;
|
|
2700
|
+
private distinct;
|
|
2701
|
+
private chunk;
|
|
2702
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyUserDirectoryService, never>;
|
|
2703
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FlyUserDirectoryService>;
|
|
2704
|
+
}
|
|
2705
|
+
|
|
2510
2706
|
/**
|
|
2511
2707
|
* fly-remote-styles — Shell-layer CSS loader for Native Federation remotes.
|
|
2512
2708
|
*
|
|
@@ -6146,6 +6342,13 @@ interface FlyCommentLockToggleRequest {
|
|
|
6146
6342
|
* eager load-all) — the explicit fix for the legacy unpaged-children scale bug
|
|
6147
6343
|
* — and each level pages independently via `loadMore`.
|
|
6148
6344
|
*
|
|
6345
|
+
* The `comments` core app owns no user profile data, so `FlyComment` carries
|
|
6346
|
+
* `authorUserId` and an OPTIONAL `authorDisplayName`. Rather than make every host
|
|
6347
|
+
* map names in itself (and render GUIDs when it forgets), bind
|
|
6348
|
+
* `[resolveDisplayName]` to `FlyUserDirectoryService.label` — see
|
|
6349
|
+
* {@link FlyCommentThreadComponent.resolveDisplayName}. Still transport-agnostic:
|
|
6350
|
+
* the resolver is a function the host hands over, not a call this component makes.
|
|
6351
|
+
*
|
|
6149
6352
|
* i18n is self-sufficient through the `comment.*` keys in `DS_BASELINE_LOCALES`
|
|
6150
6353
|
* (en/ar/fr/ur), overridable by any consumer key of the same name. RTL works via
|
|
6151
6354
|
* logical CSS. Styling uses DS theme tokens (`--surface-*`, `--label-*`,
|
|
@@ -6158,6 +6361,7 @@ interface FlyCommentLockToggleRequest {
|
|
|
6158
6361
|
* [rootPage]="rootPage()"
|
|
6159
6362
|
* [repliesByParent]="repliesByParent()"
|
|
6160
6363
|
* [currentUserId]="me.id"
|
|
6364
|
+
* [resolveDisplayName]="directory.label"
|
|
6161
6365
|
* [canModerateThread]="canModerate()"
|
|
6162
6366
|
* [isLocked]="thread().isLocked"
|
|
6163
6367
|
* (loadReplies)="onLoadReplies($event)"
|
|
@@ -6192,6 +6396,23 @@ declare class FlyCommentThreadComponent {
|
|
|
6192
6396
|
/** Thread-scoped moderator permission (lock/unlock). Additive — distinct from the
|
|
6193
6397
|
* per-comment `canModerate` flag, which gates delete-any on that specific comment. */
|
|
6194
6398
|
readonly canModerateThread: _angular_core.InputSignal<boolean>;
|
|
6399
|
+
/**
|
|
6400
|
+
* Optional id→name lookup, for the common case where the backend DTO carries only
|
|
6401
|
+
* `authorUserId`. The `comments` core app owns no user profile data, so without
|
|
6402
|
+
* this every host had to map display names into `authorDisplayName` itself — and
|
|
6403
|
+
* a host that forgot rendered raw GUIDs at the reader.
|
|
6404
|
+
*
|
|
6405
|
+
* Bind `FlyUserDirectoryService.label` (a signal-backed read-through cache that
|
|
6406
|
+
* resolves on demand and batches). Because the component reads it during render,
|
|
6407
|
+
* the name appears by itself once the lookup lands — the host keeps a plain
|
|
6408
|
+
* page signal, with no `computed` derivation and no priming.
|
|
6409
|
+
*
|
|
6410
|
+
* The component still never calls an API: this is a function the HOST supplies,
|
|
6411
|
+
* exactly like `fly-entity-lookup`'s `LOOKUP_APP_NAME_RESOLVER`. Absent (or
|
|
6412
|
+
* returning `null`), rendering falls back as before. See {@link authorLabel} for
|
|
6413
|
+
* the resolution order.
|
|
6414
|
+
*/
|
|
6415
|
+
readonly resolveDisplayName: _angular_core.InputSignal<((userId: string) => string | null) | null>;
|
|
6195
6416
|
/** Expand a collapsed reply subtree — always page 1 of that parent. */
|
|
6196
6417
|
readonly loadReplies: _angular_core.OutputEmitterRef<{
|
|
6197
6418
|
parentCommentId: string;
|
|
@@ -6254,6 +6475,19 @@ declare class FlyCommentThreadComponent {
|
|
|
6254
6475
|
repliesFor(commentId: string): FlyCommentPage | undefined;
|
|
6255
6476
|
replyDraft(commentId: string): string;
|
|
6256
6477
|
isOwn(comment: FlyComment): boolean;
|
|
6478
|
+
/**
|
|
6479
|
+
* The name to render for a comment's author. Resolution order:
|
|
6480
|
+
* explicit `authorDisplayName` (a host that already knows the name, or a
|
|
6481
|
+
* backend that returns one, always wins) → {@link resolveDisplayName} →
|
|
6482
|
+
* the raw `authorUserId`.
|
|
6483
|
+
*
|
|
6484
|
+
* The raw id remains the last resort rather than a placeholder: it is stable,
|
|
6485
|
+
* unique, and lets a reader correlate two comments by the same author even
|
|
6486
|
+
* when the directory is unreachable.
|
|
6487
|
+
*/
|
|
6488
|
+
authorLabel(comment: FlyComment): string;
|
|
6489
|
+
/** First character of {@link authorLabel}, for the avatar-initials fallback. */
|
|
6490
|
+
authorInitial(comment: FlyComment): string;
|
|
6257
6491
|
canReport(comment: FlyComment): boolean;
|
|
6258
6492
|
canReply(): boolean;
|
|
6259
6493
|
canDeleteComment(comment: FlyComment): boolean;
|
|
@@ -6287,7 +6521,7 @@ declare class FlyCommentThreadComponent {
|
|
|
6287
6521
|
onSortPick(next: 'newest' | 'oldest'): void;
|
|
6288
6522
|
private _setDraft;
|
|
6289
6523
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyCommentThreadComponent, never>;
|
|
6290
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyCommentThreadComponent, "fly-comment-thread", never, { "rootPage": { "alias": "rootPage"; "required": true; "isSignal": true; }; "repliesByParent": { "alias": "repliesByParent"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "isLocked": { "alias": "isLocked"; "required": false; "isSignal": true; }; "currentUserId": { "alias": "currentUserId"; "required": false; "isSignal": true; }; "isReadonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "canModerateThread": { "alias": "canModerateThread"; "required": false; "isSignal": true; }; }, { "loadReplies": "loadReplies"; "loadMore": "loadMore"; "submit": "submit"; "edit": "edit"; "delete": "delete"; "report": "report"; "lockToggle": "lockToggle"; "sortChange": "sortChange"; }, never, never, true, never>;
|
|
6524
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyCommentThreadComponent, "fly-comment-thread", never, { "rootPage": { "alias": "rootPage"; "required": true; "isSignal": true; }; "repliesByParent": { "alias": "repliesByParent"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "isLocked": { "alias": "isLocked"; "required": false; "isSignal": true; }; "currentUserId": { "alias": "currentUserId"; "required": false; "isSignal": true; }; "isReadonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "canModerateThread": { "alias": "canModerateThread"; "required": false; "isSignal": true; }; "resolveDisplayName": { "alias": "resolveDisplayName"; "required": false; "isSignal": true; }; }, { "loadReplies": "loadReplies"; "loadMore": "loadMore"; "submit": "submit"; "edit": "edit"; "delete": "delete"; "report": "report"; "lockToggle": "lockToggle"; "sortChange": "sortChange"; }, never, never, true, never>;
|
|
6291
6525
|
}
|
|
6292
6526
|
|
|
6293
6527
|
/**
|
|
@@ -7279,18 +7513,29 @@ declare function isRtlLocaleEntry(entry: FlyLocaleEntry): entry is FlyLocaleEntr
|
|
|
7279
7513
|
/** True when `err` is a failed lazy/dynamic module (chunk) load. */
|
|
7280
7514
|
declare function isChunkLoadError(err: unknown): boolean;
|
|
7281
7515
|
/**
|
|
7282
|
-
* sessionStorage key recording
|
|
7283
|
-
* reload
|
|
7284
|
-
*
|
|
7516
|
+
* sessionStorage key recording WHEN this tab session last spent its chunk-error
|
|
7517
|
+
* reload (epoch ms). It persists across the reload it triggers (an in-memory
|
|
7518
|
+
* flag resets on reload and cannot guard a loop).
|
|
7285
7519
|
*/
|
|
7286
7520
|
declare const FLY_CHUNK_RELOAD_FLAG = "fly:chunk-reload-attempted";
|
|
7287
7521
|
/**
|
|
7288
|
-
*
|
|
7289
|
-
*
|
|
7290
|
-
*
|
|
7522
|
+
* How long a spent self-heal attempt stays spent. Within the window a repeat
|
|
7523
|
+
* failure falls through to the caller's error UI (loop guard); after it the
|
|
7524
|
+
* heal re-arms. A permanent one-shot stranded long-lived tabs on environments
|
|
7525
|
+
* that redeploy repeatedly (e.g. a Helm upgrade→rollback→retry cycle flips the
|
|
7526
|
+
* served build several times in an afternoon — each flip needs its own reload,
|
|
7527
|
+
* but only the first ever got one). 10 min is far above any error→reload→error
|
|
7528
|
+
* loop period (seconds) while well below the gap between distinct redeploys.
|
|
7529
|
+
*/
|
|
7530
|
+
declare const FLY_RELOAD_REARM_MS: number;
|
|
7531
|
+
/**
|
|
7532
|
+
* Self-heal for a stale client after a redeploy. Permits ONE reload per
|
|
7533
|
+
* {@link FLY_RELOAD_REARM_MS} window per tab session, so a reload that keeps
|
|
7534
|
+
* failing (a chunk truly missing from the current build, or a genuinely-down
|
|
7535
|
+
* host) does NOT loop — but a LATER redeploy re-arms it.
|
|
7291
7536
|
*
|
|
7292
7537
|
* @returns `true` when a reload was initiated (the page will navigate away);
|
|
7293
|
-
* `false` when the
|
|
7538
|
+
* `false` when the window's reload was already spent or sessionStorage is
|
|
7294
7539
|
* unavailable — callers should surface a fallback / stop rather than spin.
|
|
7295
7540
|
*/
|
|
7296
7541
|
declare function reloadOnceForChunkError(): boolean;
|
|
@@ -7313,10 +7558,11 @@ declare function reloadOnceForChunkError(): boolean;
|
|
|
7313
7558
|
*/
|
|
7314
7559
|
declare function isNativeFederationCacheError(err: unknown): boolean;
|
|
7315
7560
|
/**
|
|
7316
|
-
* sessionStorage key recording
|
|
7317
|
-
* cache-heal (revalidation sweep + reload
|
|
7318
|
-
* {@link FLY_CHUNK_RELOAD_FLAG} so a plain chunk-404 reload and a
|
|
7319
|
-
* revalidation sweep each get one independent attempt
|
|
7561
|
+
* sessionStorage key recording WHEN this tab session last spent its
|
|
7562
|
+
* Native-Federation cache-heal (revalidation sweep + reload; epoch ms) —
|
|
7563
|
+
* separate from {@link FLY_CHUNK_RELOAD_FLAG} so a plain chunk-404 reload and a
|
|
7564
|
+
* shared-bundle revalidation sweep each get one independent attempt per
|
|
7565
|
+
* {@link FLY_RELOAD_REARM_MS} window.
|
|
7320
7566
|
*/
|
|
7321
7567
|
declare const FLY_NF_CACHE_HEAL_FLAG = "nf-cache-heal-attempted";
|
|
7322
7568
|
/**
|
|
@@ -7582,6 +7828,13 @@ declare class FlyModerationQueueComponent {
|
|
|
7582
7828
|
readonly error: _angular_core.InputSignal<string | null>;
|
|
7583
7829
|
/** The currently applied status filter; `null` = "All". Host-controlled, like `[sort]` on `fly-comment-thread`. */
|
|
7584
7830
|
readonly status: _angular_core.InputSignal<FlyCommentReportStatus | null>;
|
|
7831
|
+
/**
|
|
7832
|
+
* Optional id→name lookup for the reporter column, mirroring
|
|
7833
|
+
* `fly-comment-thread`'s input of the same name. Bind
|
|
7834
|
+
* `FlyUserDirectoryService.label`; absent, rows fall back to the raw id.
|
|
7835
|
+
* See {@link reporterLabel} for the resolution order.
|
|
7836
|
+
*/
|
|
7837
|
+
readonly resolveDisplayName: _angular_core.InputSignal<((userId: string) => string | null) | null>;
|
|
7585
7838
|
/** A status-filter pick (page resets to 1) or a `loadMore` (next page at the current filter). */
|
|
7586
7839
|
readonly loadPage: _angular_core.OutputEmitterRef<FlyModerationLoadPageRequest>;
|
|
7587
7840
|
/** Resolve a report as `ActionTaken` or `Dismissed`, with an optional note and delete-the-comment flag. */
|
|
@@ -7614,6 +7867,12 @@ declare class FlyModerationQueueComponent {
|
|
|
7614
7867
|
shortId(id: string): string;
|
|
7615
7868
|
subjectHref(r: FlyModerationReport): string;
|
|
7616
7869
|
subjectDisplay(r: FlyModerationReport): string;
|
|
7870
|
+
/**
|
|
7871
|
+
* Who filed the report. Resolution order: explicit `reporterDisplayName` →
|
|
7872
|
+
* {@link resolveDisplayName} → the raw `reporterUserId`. Same contract as
|
|
7873
|
+
* `fly-comment-thread`'s `authorLabel`.
|
|
7874
|
+
*/
|
|
7875
|
+
reporterLabel(r: FlyModerationReport): string;
|
|
7617
7876
|
formatDate(iso: string): string;
|
|
7618
7877
|
onStatusPick(next: FlyCommentReportStatus | null): void;
|
|
7619
7878
|
loadMore(): void;
|
|
@@ -7636,24 +7895,9 @@ declare class FlyModerationQueueComponent {
|
|
|
7636
7895
|
/** Only one row can be in the lock-confirm state at a time, so a class query is unambiguous. */
|
|
7637
7896
|
private focusLockCancelButton;
|
|
7638
7897
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyModerationQueueComponent, never>;
|
|
7639
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyModerationQueueComponent, "fly-moderation-queue", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, { "loadPage": "loadPage"; "resolve": "resolve"; "lockThread": "lockThread"; "openSubject": "openSubject"; }, never, never, true, never>;
|
|
7898
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlyModerationQueueComponent, "fly-moderation-queue", never, { "page": { "alias": "page"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "resolveDisplayName": { "alias": "resolveDisplayName"; "required": false; "isSignal": true; }; }, { "loadPage": "loadPage"; "resolve": "resolve"; "lockThread": "lockThread"; "openSubject": "openSubject"; }, never, never, true, never>;
|
|
7640
7899
|
}
|
|
7641
7900
|
|
|
7642
|
-
/**
|
|
7643
|
-
* One candidate/selected person. Mirrors the fields of the Controller's
|
|
7644
|
-
* `UserLookupDto` the component actually renders (`id`/`displayName`/
|
|
7645
|
-
* `avatarUrl`); `email` is optional and purely decorative (chip tooltip).
|
|
7646
|
-
* A host wiring `/api/users/lookup` maps the response 1:1 into this shape.
|
|
7647
|
-
*/
|
|
7648
|
-
interface FlyPeoplePickerOption {
|
|
7649
|
-
readonly id: string;
|
|
7650
|
-
readonly displayName: string;
|
|
7651
|
-
readonly email?: string;
|
|
7652
|
-
readonly avatarUrl?: string;
|
|
7653
|
-
}
|
|
7654
|
-
/** Single pick (replaces the current selection) vs multi pick (adds, chips accumulate). */
|
|
7655
|
-
type FlyPeoplePickerMode = 'single' | 'multi';
|
|
7656
|
-
|
|
7657
7901
|
/**
|
|
7658
7902
|
* **`fly-people-picker`** — a thin design-system wrapper over `fly-typeahead`
|
|
7659
7903
|
* pre-canned for the platform Controller's users lookup
|
|
@@ -10229,6 +10473,6 @@ declare const AUDIENCE_ERROR_CODES: {
|
|
|
10229
10473
|
};
|
|
10230
10474
|
type AudienceErrorCode = (typeof AUDIENCE_ERROR_CODES)[keyof typeof AUDIENCE_ERROR_CODES];
|
|
10231
10475
|
|
|
10232
|
-
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, 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_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_NF_CACHE_HEAL_FLAG, FLY_RELOAD_DEBOUNCE_MS, FLY_REMOTE_BASE_PATH, FLY_REMOTE_CONTEXT_EVENT, FLY_REMOTE_CONTEXT_STORE_KEY, FLY_REMOTE_ROUTES, FLY_SEARCH_DEBOUNCE_MS, FLY_SKIN_TONES, FLY_STANDALONE_AUTH_CONFIG, FLY_THEME_MODE_IDS, FLY_WINDOW_HELP_HINT_EVENT, FLY_WINDOW_PAGE_TITLE_EVENT, FlyAchievementProgressComponent, FlyActionMenuComponent, FlyActionStackComponent, FlyAgentDraggableDirective, FlyAnimatedEmojiComponent, FlyAppHomeComponent, FlyAppTopbarComponent, 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, FlyDataTableComponent, FlyDatePipe, FlyDateTimePipe, FlyDebouncer, FlyDecimalNumberPipe, FlyDetailCardComponent, FlyDetailShellComponent, FlyDrawerComponent, FlyDurationPipe, FlyDynamicFormComponent, FlyEmojiPickerComponent, FlyFieldComponent, FlyFileUploadComponent, FlyFilterPanelComponent, FlyFormBannerComponent, FlyFormFooterComponent, FlyFormGridComponent, FlyFormSectionComponent, FlyFullNumberPipe, FlyGanttComponent, FlyHubClient, FlyIconButtonComponent, FlyIfAdminDirective, FlyIfRoleDirective, FlyImageUploadComponent, FlyLeaderboardComponent, FlyMetaListComponent, FlyModalComponent, FlyModerationQueueComponent, FlyModuleIconDirective, FlyPaginationComponent, FlyPeoplePickerComponent, FlyPointsTierComponent, FlyProgressComponent, FlyRelativeTimePipe, FlyRemoteContextService, FlyRemoteRouter, FlyRemoteRouterOutletComponent, FlySearchInputComponent, FlySectionHeaderComponent, FlySecureSrcDirective, FlySegmentedComponent, FlySelectComponent, FlySkeletonComponent, FlySliderComponent, FlySparklineComponent, FlySpinnerComponent, FlyStandaloneAuthCallbackComponent, FlyStandaloneAuthService, FlyStateMessageComponent, FlyDynamicFormComponent as FlySurveyFormComponent, FlyTabComponent, FlyTabsComponent, FlyTagsInputComponent, FlyThemeService, FlyTimePipe, FlyToastService, FlyToggleComponent, FlyTooltipDirective, FlyTreeNavComponent, FlyTypeaheadComponent, FlyWindowHelpService, FlyWindowTitleService, FlyosPendingLaunchesGlobalKey, FlyosShellHandlesLaunchRequestsGlobalKey, FlyosShellOwnsHistoryGlobalKey, GANTT_ZOOMS, I18nService, LAUNCH_CONTEXT, MessageBoxButtons, MessageBoxComponent, MessageBoxIcon, MessageBoxService, MockAuthService, 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, clampPage, clampSliderValue, connectRemoteLaunch, enterActivatesNatively, filterGroup, filterSuggestions, findLocaleByDialect, findLocaleByPrefix, firstEnabledIndex, firstModuleIndex, flattenModules, flyAdminGuard, flyCaptchaBase64Utf8, flyCaptchaBuildToken, flyCaptchaSha256Hex, flyCompactNumber, flyDebounced, flyDecimalNumber, flyDownloadBlob, flyDuration, flyEmojiFor, flyEmojiIsTonable, flyEmojiPackUrl, flyExportFileName, flyFirstEnabledIndex, flyFormatBytes, flyFormatDate, flyFormatDateTime, flyFormatTime, flyFullNumber, flyNextEnabledIndex, flyNextSegmentIndex, flyRelativeTime, flyResolveActiveTab, flyRoleGuard, flySignedCompact, flySkinToneLabelKey, flyStandaloneAuthGuard, flyStandaloneAuthInterceptor, flyToDateOnly, hasAnyRoleIn, healNativeFederationCacheOnce, initialExpanded, isAccentColor, isChunkLoadError, isFlyAuthStorePopulated, isNativeFederationCacheError, isRtlLocale, isRtlLocaleEntry, isValidCron, isValidSingleField, loadRemoteStyles, matchFlyRoutePattern, nextEnabledIndex, nextModuleIndex, nextSegmentIndex, nextSort, normalizeFlyTheme, normalizeRoles, overlayStack, parseCron, parseStepUpChallenge, parseTags, 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 };
|
|
10233
|
-
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, CardLayout, ChartTerm, ChildWindowData, ChipTone, ConfirmKind, ConnectRemoteLaunchOptions, ContextMenuAlign, ContextMenuItem, ContextMenuSection, CronAdvancedFieldDef, CronMode, CronParts, CronWeekday, DesktopApp, DesktopAppCategory, DesktopAppKind, DetailSection, DialogResultWithAcknowledgement, EmbeddedSessionProbe, EntityLinkSelection, FilterGroup, FlyAchievementRow, FlyAppHomeLayout, FlyAppModule, FlyAppModuleSection, FlyAuthRefreshPayload, FlyAuthStoreReadable, FlyBadgeTile, FlyBreadcrumbItem, FlyCaptchaChallenge, FlyCaptchaSolution, FlyCaptchaState, FlyCellContext, FlyColumn, FlyColumnKind, FlyComment, FlyCommentDeleteRequest, FlyCommentEditRequest, FlyCommentLoadMoreRequest, FlyCommentLoadRepliesRequest, FlyCommentLockToggleRequest, FlyCommentPage, FlyCommentReportReason, FlyCommentReportRequest, FlyCommentReportStatus, FlyCommentSubmitRequest, FlyCountry, FlyDrawerSide, FlyDrawerSize, FlyEmojiCategory, FlyEmojiCell, FlyEmojiEntry, FlyEmojiPack, FlyEmojiPackEntry, FlyEmojiPackManifest, FlyEmojiPickerSize, FlyEmojiPickerTab, FlyEmojiSection, FlyFileInfo, FlyFileSelection, FlyFormAnswer, FlyFormAnswerValue, FlyFormDefinition, FlyFormFieldOptions, FlyFormOption, FlyFormQuestion, FlyFormQuestionType, FlyFormScoreDisplay, FlyLaunchEventDetail, FlyLaunchRequestDetail, FlyLeaderboardRow, FlyLiveRefreshOptions, FlyLocaleEntry, FlyMetaItem, FlyModerationLoadPageRequest, FlyModerationLockThreadRequest, FlyModerationOpenSubjectRequest, FlyModerationReport, FlyModerationReportPage, FlyModerationResolutionStatus, FlyModerationResolveRequest, FlyNavigableItem, FlyPeoplePickerMode, FlyPeoplePickerOption, FlyPointsSummary, FlyRemoteContext, 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, GanttRow, GanttRowDatesChange, GanttRowKind, GanttZoom, IconButtonVariant, LaunchContext, LoadBundleOptions, LookupDescriptor, LookupHandle, LookupRegistration, LookupResult, LookupSearch, MessageBoxButton, MessageBoxDontAskAgainConfig, MessageBoxOptions, MessageBoxOptionsWithAcknowledgement, MockAuthConfig, OpenWindowOptions, OuPrincipal, OuTerm, OverlayHandle, PageHeaderVariant, PresetTerm, ProgressTone, RemoteAppDef, RequestAppLaunchOptions, RoleOuLookupRow, RolePrincipal, RolesTerm, SegmentedOption, ShareOrgChartOption, ShareOuNode, SharePanelLevelOption, SharePermissionEntry, SharePrincipal, SharePrincipalKind, ShareUserResult, StateMessageKind, StepUpChallenge, StepUpReauthHandler, StepUpReauthRequest, ToastAction, ToastEntry, ToastOptions, ToastVariant, User, UserPrincipal, UsersTerm, WindowHelpHint, WindowInstance, WindowState };
|
|
10476
|
+
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, 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_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_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_SEARCH_DEBOUNCE_MS, FLY_SKIN_TONES, FLY_STANDALONE_AUTH_CONFIG, FLY_THEME_MODE_IDS, FLY_WINDOW_HELP_HINT_EVENT, FLY_WINDOW_PAGE_TITLE_EVENT, FlyAchievementProgressComponent, FlyActionMenuComponent, FlyActionStackComponent, FlyAgentDraggableDirective, FlyAnimatedEmojiComponent, FlyAppHomeComponent, FlyAppTopbarComponent, 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, FlyDataTableComponent, FlyDatePipe, FlyDateTimePipe, FlyDebouncer, FlyDecimalNumberPipe, FlyDetailCardComponent, FlyDetailShellComponent, FlyDrawerComponent, FlyDurationPipe, FlyDynamicFormComponent, FlyEmojiPickerComponent, FlyFieldComponent, FlyFileUploadComponent, FlyFilterPanelComponent, FlyFormBannerComponent, FlyFormFooterComponent, FlyFormGridComponent, FlyFormSectionComponent, FlyFullNumberPipe, FlyGanttComponent, FlyHubClient, FlyIconButtonComponent, FlyIfAdminDirective, FlyIfRoleDirective, FlyImageUploadComponent, FlyLeaderboardComponent, FlyMetaListComponent, FlyModalComponent, FlyModerationQueueComponent, FlyModuleIconDirective, FlyPaginationComponent, FlyPeoplePickerComponent, FlyPointsTierComponent, FlyProgressComponent, FlyRelativeTimePipe, FlyRemoteContextService, FlyRemoteRouter, FlyRemoteRouterOutletComponent, FlySearchInputComponent, FlySectionHeaderComponent, FlySecureSrcDirective, FlySegmentedComponent, FlySelectComponent, FlySkeletonComponent, FlySliderComponent, FlySparklineComponent, FlySpinnerComponent, FlyStandaloneAuthCallbackComponent, FlyStandaloneAuthService, FlyStateMessageComponent, FlyDynamicFormComponent as FlySurveyFormComponent, FlyTabComponent, FlyTabsComponent, FlyTagsInputComponent, FlyThemeService, FlyTimePipe, FlyToastService, FlyToggleComponent, FlyTooltipDirective, FlyTreeNavComponent, FlyTypeaheadComponent, FlyUserDirectoryService, FlyWindowHelpService, FlyWindowTitleService, FlyosPendingLaunchesGlobalKey, FlyosShellHandlesLaunchRequestsGlobalKey, FlyosShellOwnsHistoryGlobalKey, GANTT_ZOOMS, I18nService, LAUNCH_CONTEXT, MessageBoxButtons, MessageBoxComponent, MessageBoxIcon, MessageBoxService, MockAuthService, 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, clampPage, clampSliderValue, connectRemoteLaunch, enterActivatesNatively, filterGroup, filterSuggestions, findLocaleByDialect, findLocaleByPrefix, firstEnabledIndex, firstModuleIndex, flattenModules, flyAdminGuard, flyCaptchaBase64Utf8, flyCaptchaBuildToken, flyCaptchaSha256Hex, flyCompactNumber, flyDebounced, flyDecimalNumber, flyDownloadBlob, flyDuration, flyEmojiFor, flyEmojiIsTonable, flyEmojiPackUrl, flyExportFileName, flyFirstEnabledIndex, flyFormatBytes, flyFormatDate, flyFormatDateTime, flyFormatTime, flyFullNumber, flyNextEnabledIndex, flyNextSegmentIndex, flyRelativeTime, flyResolveActiveTab, flyRoleGuard, flySignedCompact, flySkinToneLabelKey, flyStandaloneAuthGuard, flyStandaloneAuthInterceptor, flyToDateOnly, hasAnyRoleIn, healNativeFederationCacheOnce, initialExpanded, isAccentColor, isChunkLoadError, isFlyAuthStorePopulated, isNativeFederationCacheError, isRtlLocale, isRtlLocaleEntry, isValidCron, isValidSingleField, loadRemoteStyles, matchFlyRoutePattern, nextEnabledIndex, nextModuleIndex, nextSegmentIndex, nextSort, normalizeFlyTheme, normalizeRoles, overlayStack, parseCron, parseStepUpChallenge, parseTags, 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 };
|
|
10477
|
+
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, CardLayout, ChartTerm, ChildWindowData, ChipTone, ConfirmKind, ConnectRemoteLaunchOptions, ContextMenuAlign, ContextMenuItem, ContextMenuSection, CronAdvancedFieldDef, CronMode, CronParts, CronWeekday, DesktopApp, DesktopAppCategory, DesktopAppKind, DetailSection, DialogResultWithAcknowledgement, EmbeddedSessionProbe, EntityLinkSelection, FilterGroup, FlyAchievementRow, FlyAppHomeLayout, FlyAppModule, FlyAppModuleSection, FlyAuthRefreshPayload, FlyAuthStoreReadable, FlyBadgeTile, FlyBreadcrumbItem, FlyCaptchaChallenge, FlyCaptchaSolution, FlyCaptchaState, FlyCellContext, FlyColumn, FlyColumnKind, FlyComment, FlyCommentDeleteRequest, FlyCommentEditRequest, FlyCommentLoadMoreRequest, FlyCommentLoadRepliesRequest, FlyCommentLockToggleRequest, FlyCommentPage, FlyCommentReportReason, FlyCommentReportRequest, FlyCommentReportStatus, FlyCommentSubmitRequest, FlyCountry, FlyDrawerSide, FlyDrawerSize, FlyEmojiCategory, FlyEmojiCell, FlyEmojiEntry, FlyEmojiPack, FlyEmojiPackEntry, FlyEmojiPackManifest, FlyEmojiPickerSize, FlyEmojiPickerTab, FlyEmojiSection, FlyFileInfo, FlyFileSelection, FlyFormAnswer, FlyFormAnswerValue, FlyFormDefinition, FlyFormFieldOptions, FlyFormOption, FlyFormQuestion, FlyFormQuestionType, FlyFormScoreDisplay, FlyLaunchEventDetail, FlyLaunchRequestDetail, FlyLeaderboardRow, FlyLiveRefreshOptions, FlyLocaleEntry, FlyMetaItem, FlyModerationLoadPageRequest, FlyModerationLockThreadRequest, FlyModerationOpenSubjectRequest, FlyModerationReport, FlyModerationReportPage, FlyModerationResolutionStatus, FlyModerationResolveRequest, FlyNavigableItem, FlyPeoplePickerMode, FlyPeoplePickerOption, FlyPeopleSearchFn, FlyPointsSummary, FlyRemoteContext, 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, GanttRow, GanttRowDatesChange, GanttRowKind, GanttZoom, IconButtonVariant, LaunchContext, LoadBundleOptions, LookupDescriptor, LookupHandle, LookupRegistration, LookupResult, LookupSearch, MessageBoxButton, MessageBoxDontAskAgainConfig, MessageBoxOptions, MessageBoxOptionsWithAcknowledgement, MockAuthConfig, OpenWindowOptions, OuPrincipal, OuTerm, OverlayHandle, PageHeaderVariant, PresetTerm, ProgressTone, RemoteAppDef, RequestAppLaunchOptions, RoleOuLookupRow, RolePrincipal, RolesTerm, SegmentedOption, ShareOrgChartOption, ShareOuNode, SharePanelLevelOption, SharePermissionEntry, SharePrincipal, SharePrincipalKind, ShareUserResult, StateMessageKind, StepUpChallenge, StepUpReauthHandler, StepUpReauthRequest, ToastAction, ToastEntry, ToastOptions, ToastVariant, User, UserPrincipal, UsersTerm, WindowHelpHint, WindowInstance, WindowState };
|
|
10234
10478
|
//# sourceMappingURL=flyos-design-system.d.ts.map
|