@flyos/design-system 1.8.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/flyos-design-system.mjs +789 -417
- package/fesm2022/flyos-design-system.mjs.map +1 -1
- package/package.json +1 -1
- package/scss/_app-surface-tokens.scss +127 -13
- package/scss/_ink-baseline.scss +4 -4
- package/scss/_nova-glass.scss +37 -13
- package/scss/_nova-tokens.scss +61 -0
- package/scss/_shell-embed-bridge.scss +30 -23
- package/scss/_theme-dark.scss +10 -0
- package/scss/_theme-light.scss +29 -8
- package/scss/_tokens.scss +13 -4
- package/types/flyos-design-system.d.ts +262 -15
- package/types/flyos-design-system.d.ts.map +1 -1
- package/scss/_theme-dark-vars.scss +0 -56
package/scss/_tokens.scss
CHANGED
|
@@ -22,10 +22,19 @@
|
|
|
22
22
|
--status-pending: var(--system-yellow);
|
|
23
23
|
|
|
24
24
|
// ── FlyOS Typography ──
|
|
25
|
-
// Geist is the primary face (self-hosted, see styles/_geist-fonts.scss).
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
|
|
25
|
+
// Geist is the primary face (self-hosted, see styles/_geist-fonts.scss). Inter and the
|
|
26
|
+
// system stack are the fallbacks. 'Noto Kufi Arabic' (self-hosted, styles/_kufi-fonts.scss,
|
|
27
|
+
// post-G7) carries the Arabic script for ar/ur: its @font-face is unicode-range-scoped to
|
|
28
|
+
// Arabic blocks, so per-GLYPH fallback gives Kufi to Arabic text and never touches Latin —
|
|
29
|
+
// Geist stays the Latin face in every locale, and no per-locale restatement is needed.
|
|
30
|
+
// In a consumer without that @font-face the name simply skips (pre-Kufi behaviour: system
|
|
31
|
+
// Arabic face) — External Apps declare their own faces per the estate convention.
|
|
32
|
+
// ---
|
|
33
|
+
// 2.0.0 removed 'SF Pro Display' / 'SF Pro' — D8 (no SF fonts, ever, for licensing). The
|
|
34
|
+
// repo had been SHIPPING them: 9 self-hosted woff2 faces, preloaded from index.html.
|
|
35
|
+
// Removing them changed NOTHING for ar/ur: SF Pro carries no unicode-range and no Arabic
|
|
36
|
+
// glyphs, so before Kufi those scripts always resolved to the system Arabic face.
|
|
37
|
+
--font-family: 'Geist', 'Inter', 'Noto Kufi Arabic', -apple-system, blinkmacsystemfont, 'Segoe UI', sans-serif;
|
|
29
38
|
--font-family-mono: 'Geist Mono', ui-monospace, 'SF Mono', menlo, monospace;
|
|
30
39
|
--font-xl-title1: 700 48px/56px var(--font-family);
|
|
31
40
|
--font-xl-title2: 700 38px/46px var(--font-family);
|
|
@@ -2859,6 +2859,27 @@ declare class FlyUserDirectoryService {
|
|
|
2859
2859
|
* single global stylesheet Angular emits. If a remote emits multiple stylesheets,
|
|
2860
2860
|
* only the first is loaded — acceptable for Wave A1.
|
|
2861
2861
|
*/
|
|
2862
|
+
/** Options for {@link loadRemoteStyles}. */
|
|
2863
|
+
interface LoadRemoteStylesOptions {
|
|
2864
|
+
/**
|
|
2865
|
+
* Suppress the "no stylesheet found" warning. For opportunistic warm-up calls
|
|
2866
|
+
* (the shell pre-fetches every registered remote's stylesheet at manifest
|
|
2867
|
+
* load) where an unreachable remote is expected — e.g. a stopped dev server
|
|
2868
|
+
* in mock mode. A real window open retries loudly.
|
|
2869
|
+
*/
|
|
2870
|
+
silent?: boolean;
|
|
2871
|
+
/**
|
|
2872
|
+
* Resolve only after the stylesheet's BYTES have been fetched (capped at
|
|
2873
|
+
* {@link APPLY_CAP_MS}), not merely after the element is injected. Without
|
|
2874
|
+
* this the returned promise settles while the CSS is still in flight, so a
|
|
2875
|
+
* caller that paints immediately afterwards can paint BEFORE the remote's
|
|
2876
|
+
* global rules apply — and any window-chrome override the remote ships then
|
|
2877
|
+
* lands as a visible layout shift (the stg CLS 0.638 finding). The shell's
|
|
2878
|
+
* registration-time warm-up passes this so the boot path can gate a window's
|
|
2879
|
+
* first paint on it. Fail-soft: timeouts and load errors still resolve.
|
|
2880
|
+
*/
|
|
2881
|
+
awaitApplied?: boolean;
|
|
2882
|
+
}
|
|
2862
2883
|
/**
|
|
2863
2884
|
* Injects the remote's stylesheet into `document.head`.
|
|
2864
2885
|
*
|
|
@@ -2884,7 +2905,7 @@ declare class FlyUserDirectoryService {
|
|
|
2884
2905
|
* The `data-fly-href` attribute stores the discovered href separately from the
|
|
2885
2906
|
* element content so idempotency checks can compare the URL without parsing CSS.
|
|
2886
2907
|
*/
|
|
2887
|
-
declare function loadRemoteStyles(appId: string, remoteBaseUrl: string): Promise<void>;
|
|
2908
|
+
declare function loadRemoteStyles(appId: string, remoteBaseUrl: string, opts?: LoadRemoteStylesOptions): Promise<void>;
|
|
2888
2909
|
/**
|
|
2889
2910
|
* Removes the injected stylesheet element (either `<link>` or `<style>`) for
|
|
2890
2911
|
* `appId` from `document.head` and clears all internal state for this appId.
|
|
@@ -3059,6 +3080,8 @@ declare class MockAuthService {
|
|
|
3059
3080
|
hasAnyRole(required: readonly string[]): boolean;
|
|
3060
3081
|
/** Parity with the real AuthService — patch profile fields on the mock session. */
|
|
3061
3082
|
patchProfile(patch: Partial<User>): void;
|
|
3083
|
+
/** A fresh 24h mock session from the app-supplied config — used at construction and by {@link startLogin}. */
|
|
3084
|
+
private createSession;
|
|
3062
3085
|
/** Override in subclass to supply app-specific mock data. */
|
|
3063
3086
|
protected getConfig(): MockAuthConfig;
|
|
3064
3087
|
init(): Promise<void>;
|
|
@@ -4713,10 +4736,24 @@ declare class MessageBoxService {
|
|
|
4713
4736
|
* current `MessageBoxService` request describes (icon, message, button set) and resolves that
|
|
4714
4737
|
* request with the user's choice — the design-system replacement for native `alert()`/`confirm()`
|
|
4715
4738
|
* dialogs, which the platform disallows (see `feedback_no_native_browser_dialogs`).
|
|
4739
|
+
*
|
|
4740
|
+
* ## The mobile confirm card (S5.4)
|
|
4741
|
+
* On mobile chrome the dialog stops being a fixed 400px plate floating in the middle of
|
|
4742
|
+
* a desktop and becomes the design's **confirm card**: full width less a 16px margin on
|
|
4743
|
+
* each side, one step rounder, and with its actions on a full-width row at the 44px
|
|
4744
|
+
* touch floor. That is a host class, not a media query, so the threshold stays where
|
|
4745
|
+
* S5.1 put it — see {@link FLY_VIEWPORT_IS_MOBILE}.
|
|
4746
|
+
*
|
|
4747
|
+
* This is the confirm surface users actually meet: `MessageBoxService` has ~59 call
|
|
4748
|
+
* sites across the shell and the core apps, while the DS's other confirm surface
|
|
4749
|
+
* (`fly-confirm-dialog`, the standalone business-app kit's port) has none outside the
|
|
4750
|
+
* design lab. Both got the treatment; only this one changes what anyone sees today.
|
|
4716
4751
|
*/
|
|
4717
4752
|
declare class MessageBoxComponent implements AfterViewInit {
|
|
4718
4753
|
private readonly injectedService;
|
|
4719
4754
|
private elRef;
|
|
4755
|
+
/** Mobile chrome → the full-bleed confirm card. Read by the host class binding. */
|
|
4756
|
+
protected readonly isMobile: _angular_core.Signal<boolean>;
|
|
4720
4757
|
/**
|
|
4721
4758
|
* Optional service override. When bound, the component renders THIS instance's
|
|
4722
4759
|
* state instead of the root singleton — the mechanism that lets each desktop
|
|
@@ -5088,15 +5125,25 @@ type FlyDrawerSide = 'end' | 'start';
|
|
|
5088
5125
|
/** Standard body padding tier. `none` = full-bleed (consumer draws its own). */
|
|
5089
5126
|
type FlyDrawerBodyPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
5090
5127
|
/**
|
|
5091
|
-
* `'
|
|
5092
|
-
*
|
|
5093
|
-
*
|
|
5094
|
-
*
|
|
5095
|
-
*
|
|
5096
|
-
*
|
|
5097
|
-
*
|
|
5098
|
-
|
|
5099
|
-
|
|
5128
|
+
* - `'auto'` (default) — `sheet` while the host application is wearing mobile chrome,
|
|
5129
|
+
* `side` otherwise. Reads {@link FLY_VIEWPORT_IS_MOBILE}, which the shell binds to
|
|
5130
|
+
* its ONE breakpoint predicate; unprovided (bare tests, a standalone External App
|
|
5131
|
+
* that has not opted in) it is `false`, so `auto` is `side` and nothing changes.
|
|
5132
|
+
* - `'side'` — the classic edge-pinned panel, sliding in along the inline axis (see
|
|
5133
|
+
* {@link FlyDrawerSide}). Pin this when a drawer must stay edge-anchored even on a
|
|
5134
|
+
* phone; it is an override of the platform default, so it wants a reason next to it.
|
|
5135
|
+
* - `'sheet'` — a bottom-anchored panel spanning the full inline size, sliding up from
|
|
5136
|
+
* the block-end edge with rounded top corners. `side` is ignored in this mode (there
|
|
5137
|
+
* is no edge to pick — a sheet always anchors to the bottom).
|
|
5138
|
+
*
|
|
5139
|
+
* S5.4 of the UX-refresh program converts every drawer to a sheet on mobile. It does
|
|
5140
|
+
* that HERE, once, rather than as ~50 per-call-site bindings: a viewport fact threaded
|
|
5141
|
+
* through fifty feature components is fifty chances to drift, and each one of those
|
|
5142
|
+
* components would be reaching for a viewport answer from inside an app surface —
|
|
5143
|
+
* precisely the container-vs-viewport trap. The call sites keep saying what the drawer
|
|
5144
|
+
* IS; the platform says how it presents.
|
|
5145
|
+
*/
|
|
5146
|
+
type FlyDrawerVariant = 'auto' | 'side' | 'sheet';
|
|
5100
5147
|
/**
|
|
5101
5148
|
* Where the drawer is anchored.
|
|
5102
5149
|
* - `absolute` (default) — clipped to the nearest positioned ancestor, i.e. the
|
|
@@ -5142,15 +5189,17 @@ type FlyDrawerPosition = 'absolute' | 'fixed';
|
|
|
5142
5189
|
declare class FlyDrawerComponent {
|
|
5143
5190
|
private host;
|
|
5144
5191
|
private destroyRef;
|
|
5192
|
+
/** The host app's mobile-chrome flag — the only thing `variant="auto"` consults. */
|
|
5193
|
+
private readonly hostIsMobile;
|
|
5145
5194
|
/** Drives mount + slide. Controlled by the parent. */
|
|
5146
5195
|
readonly open: _angular_core.InputSignal<boolean>;
|
|
5147
5196
|
/** Width tier → inline-size (sm 360 / md 480 / lg 640 / xl min(960px, 94%)). */
|
|
5148
5197
|
readonly size: _angular_core.InputSignal<FlyDrawerSize>;
|
|
5149
5198
|
/** Convenience title shown in the default header (ignored if `[flyDrawerHeader]` is projected). Treated as an i18n key. */
|
|
5150
5199
|
readonly heading: _angular_core.InputSignal<string | null>;
|
|
5151
|
-
/** Edge to pin to. `end` (default) slides from inline-end; RTL flips it. Ignored when
|
|
5200
|
+
/** Edge to pin to. `end` (default) slides from inline-end; RTL flips it. Ignored when the resolved variant is `sheet`. */
|
|
5152
5201
|
readonly side: _angular_core.InputSignal<FlyDrawerSide>;
|
|
5153
|
-
/** `
|
|
5202
|
+
/** `auto` (default — sheet on mobile), `side` (edge-pinned) or `sheet` (bottom-anchored). See {@link FlyDrawerVariant}. */
|
|
5154
5203
|
readonly variant: _angular_core.InputSignal<FlyDrawerVariant>;
|
|
5155
5204
|
/** Close when the scrim is clicked. */
|
|
5156
5205
|
readonly dismissOnScrim: _angular_core.InputSignal<boolean>;
|
|
@@ -5181,6 +5230,12 @@ declare class FlyDrawerComponent {
|
|
|
5181
5230
|
readonly leaving: _angular_core.WritableSignal<boolean>;
|
|
5182
5231
|
readonly headingId = "fly-drawer-heading";
|
|
5183
5232
|
readonly labelledBy: _angular_core.Signal<"fly-drawer-heading" | null>;
|
|
5233
|
+
/**
|
|
5234
|
+
* `variant` with `'auto'` collapsed to the concrete one that renders. Everything
|
|
5235
|
+
* downstream (the panel class, the sheet's own geometry) reads THIS, never the raw
|
|
5236
|
+
* input, so `auto` is resolved in exactly one place.
|
|
5237
|
+
*/
|
|
5238
|
+
readonly resolvedVariant: _angular_core.Signal<"side" | "sheet">;
|
|
5184
5239
|
/** Size/side classes as an ngClass map (kept off the `[class]` string binding,
|
|
5185
5240
|
* which can race the leaving toggle and stutter the animation). */
|
|
5186
5241
|
readonly panelClass: _angular_core.Signal<{
|
|
@@ -8212,6 +8267,13 @@ declare const FLY_MAGIC_BAR_ICONS: {
|
|
|
8212
8267
|
readonly assignRobot: "<rect x=\"4\" y=\"8\" width=\"16\" height=\"11\" rx=\"3\"/><path d=\"M12 8V4\"/><circle cx=\"12\" cy=\"3\" r=\"1.2\"/><path d=\"M8 13v2M16 13v2\"/>";
|
|
8213
8268
|
/** Task-detail "Add subtask". */
|
|
8214
8269
|
readonly addSubtask: "<path d=\"M9 6h11M9 12h11M9 18h7\"/><path d=\"M4 6h.01M4 12h.01\"/><path d=\"M4.5 16h3M6 14.5v3\"/>";
|
|
8270
|
+
/**
|
|
8271
|
+
* Calendar magic-bar "View" trigger (S4.2) — a 4-cell grid standing in for the
|
|
8272
|
+
* year/month/week/day/agenda mode switcher behind it. No standalone glyph for
|
|
8273
|
+
* this exists in the UX drop's curated set (`today`/`settings` cover Today and
|
|
8274
|
+
* the settings gear, not the mode switcher).
|
|
8275
|
+
*/
|
|
8276
|
+
readonly calendarView: "<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"2.5\"/><path d=\"M3.5 12h17M12 3.5v17\"/>";
|
|
8215
8277
|
/** `UX/FlyOS Desktop-app/MainContent.dc.html:927` (`pubTabActions`'s local `P` table). */
|
|
8216
8278
|
readonly addEvidence: "<path d=\"M10.5 13.5a4 4 0 0 0 5.7 0l2-2a4 4 0 0 0-5.7-5.7l-.6.6\"/><path d=\"M13.5 10.5a4 4 0 0 0-5.7 0l-2 2a4 4 0 0 0 4.2 6.5\"/><path d=\"M17.5 15.5v5M15 18h5\"/>";
|
|
8217
8279
|
/** `MainContent.dc.html:928`. Reused for every "Edit …" action (evidence, link, task). */
|
|
@@ -9296,6 +9358,21 @@ type FlyCurrencySelectorValue = string | readonly string[] | null;
|
|
|
9296
9358
|
* i18n is self-sufficient through the `currency_selector.*` keys in `DS_BASELINE_LOCALES`
|
|
9297
9359
|
* (en/ar/fr/ur); RTL works via logical CSS.
|
|
9298
9360
|
*
|
|
9361
|
+
* ## `locked`, vs `disabled`
|
|
9362
|
+
* `disabled` is UI convention for "not applicable right now" — greyed out, no explanation,
|
|
9363
|
+
* because none is owed (a form section that only exists once a prior step completes, say).
|
|
9364
|
+
* `locked` is a different claim entirely: **the value is fixed on purpose**, because
|
|
9365
|
+
* something downstream now depends on it (PPM freezes a project's currency the moment any
|
|
9366
|
+
* financial row exists — changing it would silently re-denominate every stored amount).
|
|
9367
|
+
* A dimmed control with no explanation is exactly the failure `skills/magic-bar-actions.md`
|
|
9368
|
+
* §3.6 names for actions ("a vanishing action teaches the user nothing"); the same argument
|
|
9369
|
+
* applies to a frozen field. So `locked` renders differently on purpose: full-opacity (never
|
|
9370
|
+
* dimmed — the value is not "unavailable", it is authoritative), no dropdown affordance at
|
|
9371
|
+
* all, and an always-visible reason caption instead of a hover-only tooltip, so the "why" is
|
|
9372
|
+
* legible to a screen reader without requiring focus and to a sighted user without hovering.
|
|
9373
|
+
* `locked` takes precedence when both are set — it is the more specific state and the
|
|
9374
|
+
* `disabled` trigger markup (with its dropdown affordances) never renders underneath it.
|
|
9375
|
+
*
|
|
9299
9376
|
* @example
|
|
9300
9377
|
* ```html
|
|
9301
9378
|
* <!-- Loads /api/currencies/brief itself: -->
|
|
@@ -9306,6 +9383,12 @@ type FlyCurrencySelectorValue = string | readonly string[] | null;
|
|
|
9306
9383
|
* mode="multi"
|
|
9307
9384
|
* [allowedCodes]="tenantCurrencies()"
|
|
9308
9385
|
* (selectionDetailChange)="onCurrenciesPicked($event)" />
|
|
9386
|
+
*
|
|
9387
|
+
* <!-- Frozen once the project has financial rows — reason is an i18n KEY, never text: -->
|
|
9388
|
+
* <fly-currency-selector
|
|
9389
|
+
* [(ngModel)]="project.currency"
|
|
9390
|
+
* [locked]="project.hasFinancialRows"
|
|
9391
|
+
* lockedReasonKey="projects.currency_locked_reason" />
|
|
9309
9392
|
* ```
|
|
9310
9393
|
*/
|
|
9311
9394
|
declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
|
|
@@ -9327,6 +9410,24 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
|
|
|
9327
9410
|
readonly pinnedCodes: _angular_core.InputSignal<readonly string[]>;
|
|
9328
9411
|
/** Disable the whole control (also driven by reactive-forms `setDisabledState`). */
|
|
9329
9412
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
9413
|
+
/**
|
|
9414
|
+
* Freeze the current selection because something downstream now depends on it — a
|
|
9415
|
+
* DIFFERENT claim than `disabled`. See the class doc's "`locked`, vs `disabled`"
|
|
9416
|
+
* section. Renders the current pick as a plain, non-interactive readout (no dropdown
|
|
9417
|
+
* affordance at all) plus an always-visible reason caption — never a dimmed clickable-
|
|
9418
|
+
* looking control. Takes precedence over `disabled` when both are set.
|
|
9419
|
+
*/
|
|
9420
|
+
readonly locked: _angular_core.InputSignal<boolean>;
|
|
9421
|
+
/**
|
|
9422
|
+
* i18n KEY (never resolved text — see `skills/magic-bar-actions.md` §3.4) explaining
|
|
9423
|
+
* WHY the control is locked. Omit to use the localized `currency_selector.locked_default_reason`
|
|
9424
|
+
* baseline key; supply your own only when that default reason is wrong for your case
|
|
9425
|
+
* (mirrors `MagicBarActionSpec.disabledTipKey`'s "supply only when the default is wrong"
|
|
9426
|
+
* contract). Ignored while `locked` is `false`.
|
|
9427
|
+
*/
|
|
9428
|
+
readonly lockedReasonKey: _angular_core.InputSignal<string | null>;
|
|
9429
|
+
/** `I18nService.t()` params for `lockedReasonKey`, e.g. `{ date: frozenOn }`. */
|
|
9430
|
+
readonly lockedReasonParams: _angular_core.InputSignal<Record<string, string | number> | undefined>;
|
|
9330
9431
|
/** Show the trigger clear (✕) affordance when there is a selection. */
|
|
9331
9432
|
readonly clearable: _angular_core.InputSignal<boolean>;
|
|
9332
9433
|
/** Trigger text when nothing is picked. Omit for the localized default. */
|
|
@@ -9344,6 +9445,8 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
|
|
|
9344
9445
|
private readonly _uid;
|
|
9345
9446
|
readonly listboxId: string;
|
|
9346
9447
|
readonly triggerId: string;
|
|
9448
|
+
/** id of the always-rendered locked-reason caption; `aria-describedby` target of the locked readout. */
|
|
9449
|
+
readonly lockedReasonId: string;
|
|
9347
9450
|
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
9348
9451
|
readonly searchTerm: _angular_core.WritableSignal<string>;
|
|
9349
9452
|
readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
@@ -9371,6 +9474,8 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
|
|
|
9371
9474
|
readonly clearText: _angular_core.Signal<string>;
|
|
9372
9475
|
readonly pinnedGroupText: _angular_core.Signal<string>;
|
|
9373
9476
|
readonly allGroupText: _angular_core.Signal<string>;
|
|
9477
|
+
/** Resolved locked-reason text — the default baseline key, or the host's `lockedReasonKey`. */
|
|
9478
|
+
readonly lockedReasonText: _angular_core.Signal<string>;
|
|
9374
9479
|
/** Every offered row, after the `allowedCodes` restriction. */
|
|
9375
9480
|
readonly available: _angular_core.Signal<readonly FlyCurrency[]>;
|
|
9376
9481
|
private readonly _byCode;
|
|
@@ -9422,7 +9527,105 @@ declare class FlyCurrencySelectorComponent implements ControlValueAccessor {
|
|
|
9422
9527
|
private _commit;
|
|
9423
9528
|
private _touch;
|
|
9424
9529
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyCurrencySelectorComponent, never>;
|
|
9425
|
-
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; }; "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>;
|
|
9530
|
+
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>;
|
|
9531
|
+
}
|
|
9532
|
+
|
|
9533
|
+
/**
|
|
9534
|
+
* Locale-aware money formatting — the primitive `fly-currency-selector` never shipped
|
|
9535
|
+
* (see D-B7-2 in `FlyOS.PPM/.workflow/design/DECISIONS.md`).
|
|
9536
|
+
*
|
|
9537
|
+
* `FlyCurrency.decimalDigits` exists precisely so a consumer "doesn't have to assume 2
|
|
9538
|
+
* and misprice a dinar" — and yet nothing in the design system read it. Every consuming
|
|
9539
|
+
* app hand-rolled its own money string, and the ones that hardcoded `.toFixed(2)` are
|
|
9540
|
+
* wrong for seven real ISO 4217 currencies (BHD, IQD, JOD, KWD, LYD, OMR, TND — all
|
|
9541
|
+
* 3-decimal, all Gulf/MENA, on a platform whose reference tenant is a UAE government
|
|
9542
|
+
* entity).
|
|
9543
|
+
*
|
|
9544
|
+
* ## Why `formatToParts`, not a hand-rolled `${symbol}${number}` template
|
|
9545
|
+
* Currency placement is not "symbol then number" everywhere: `en` prefixes (`$1,234.50`),
|
|
9546
|
+
* `fr` and `ar` suffix it (`1 234,50 €`, with `ar` additionally wrapping the whole
|
|
9547
|
+
* expression in RTL marks). Building the string manually would mean re-deriving that
|
|
9548
|
+
* placement table ourselves and getting it wrong for a locale nobody tested. Instead
|
|
9549
|
+
* this asks `Intl.NumberFormat` to lay out a real `style: 'currency'` string for the
|
|
9550
|
+
* given locale, then walks the parts and swaps only the `currency` token for our own
|
|
9551
|
+
* text (the platform's `symbol` field, the code, or nothing) — every digit, the sign,
|
|
9552
|
+
* the decimal/group separators and the placement itself stay exactly what `Intl` (and
|
|
9553
|
+
* therefore the platform's existing number-formatting surface, `format.ts`) already
|
|
9554
|
+
* gets right for that locale.
|
|
9555
|
+
*
|
|
9556
|
+
* ## Why the Intl template is always built with `currencyDisplay: 'code'`
|
|
9557
|
+
* The formatter that produces the parts to substitute into is ALWAYS built with
|
|
9558
|
+
* `currencyDisplay: 'code'`, never `'symbol'` — even when `display: 'symbol'` is what
|
|
9559
|
+
* the caller asked for. `'code'` is the one `currencyDisplay` value ICU renders with a
|
|
9560
|
+
* stable separator (a literal space) between the currency token and the number, in
|
|
9561
|
+
* every locale tested (`en`, `fr`, `ar`, `ar-EG`). `'symbol'` does NOT: whether ICU
|
|
9562
|
+
* inserts a space depends on whether ITS OWN symbol for that specific currency happens
|
|
9563
|
+
* to be a single glyph (`$`, no space) or a multi-letter fallback (`KWD`, WITH a space)
|
|
9564
|
+
* — a per-currency accident of ICU's data, not something this function controls. Using
|
|
9565
|
+
* `'symbol'` as the template would make `display: 'symbol'` output space-inconsistent
|
|
9566
|
+
* currency-to-currency for reasons that have nothing to do with what this function
|
|
9567
|
+
* actually renders (the platform's OWN `symbol` field, substituted in afterward).
|
|
9568
|
+
*
|
|
9569
|
+
* ## `decimalDigits` always wins over Intl's own idea of the currency
|
|
9570
|
+
* `minimumFractionDigits`/`maximumFractionDigits` are pinned to the caller's
|
|
9571
|
+
* `decimalDigits`, not left to Intl's built-in per-currency table. Intl's table is
|
|
9572
|
+
* usually right, but the platform's own `/api/currencies/brief` catalogue is the
|
|
9573
|
+
* authoritative source on this platform — pinning the digits is what makes this
|
|
9574
|
+
* function agree with the picker regardless of whether the two ever disagree.
|
|
9575
|
+
*/
|
|
9576
|
+
/** `'symbol'` (default): the row's own symbol (`$`, `د.إ`) — falls back to the ISO code
|
|
9577
|
+
* when no symbol is available (see the bare-code fallback below). `'code'`: always the
|
|
9578
|
+
* unambiguous ISO 4217 code — the right choice for a table column mixing currencies.
|
|
9579
|
+
* `'none'`: the bare number, for a headline figure whose currency is already named
|
|
9580
|
+
* elsewhere on screen (a currency selector next to it, a report title). */
|
|
9581
|
+
type FlyMoneyDisplay = 'symbol' | 'code' | 'none';
|
|
9582
|
+
interface FlyFormatMoneyOptions {
|
|
9583
|
+
/** @default 'symbol' */
|
|
9584
|
+
display?: FlyMoneyDisplay;
|
|
9585
|
+
/** BCP-47 locale tag. @default 'en' */
|
|
9586
|
+
locale?: string;
|
|
9587
|
+
}
|
|
9588
|
+
/**
|
|
9589
|
+
* Formats `amount` in `currency`, localized to `options.locale`.
|
|
9590
|
+
*
|
|
9591
|
+
* ```ts
|
|
9592
|
+
* flyFormatMoney(1234.5, kwdRow) // "د.ك 1,234.500" (KWD is 3-decimal)
|
|
9593
|
+
* flyFormatMoney(1234, 'JPY') // "JPY 1,234" (bare code, no symbol to read — degrades to the code)
|
|
9594
|
+
* flyFormatMoney(-42, usdRow, { display: 'code' }) // "-USD 42.00"
|
|
9595
|
+
* flyFormatMoney(99.9, eurRow, { display: 'none' }) // "99.90" (currency named elsewhere on screen)
|
|
9596
|
+
* flyFormatMoney(null, usdRow) // "—" (never "NaN")
|
|
9597
|
+
* ```
|
|
9598
|
+
*
|
|
9599
|
+
* `amount == null` or non-finite (`NaN`, `Infinity`), or an unresolvable `currency`,
|
|
9600
|
+
* renders {@link FLY_EMPTY_VALUE} — the same placeholder every other `format.ts`
|
|
9601
|
+
* primitive uses, so a money cell in a mixed table degrades exactly like its neighbours
|
|
9602
|
+
* instead of introducing a second "no value" convention.
|
|
9603
|
+
*/
|
|
9604
|
+
declare function flyFormatMoney(amount: number | null | undefined, currency: FlyCurrency | string | null | undefined, options?: FlyFormatMoneyOptions): string;
|
|
9605
|
+
|
|
9606
|
+
/**
|
|
9607
|
+
* `{{ amount | flyMoney: currencyRow }}` → `"$1,234.50"` / `{{ amount | flyMoney: 'KWD' }}`
|
|
9608
|
+
* → `"KD 1,234.500"`.
|
|
9609
|
+
*
|
|
9610
|
+
* Template wrapper over {@link flyFormatMoney}, defaulting the locale to the active
|
|
9611
|
+
* {@link I18nService} language the same way every other `Fly*Pipe` in `format.pipes.ts`
|
|
9612
|
+
* does — see that file's doc comment for the "pass the locale signal explicitly in a
|
|
9613
|
+
* view that must react live to the language switcher" caveat, which applies here too.
|
|
9614
|
+
*
|
|
9615
|
+
* A separate file from `format.pipes.ts` on purpose: this pipe's `currency` argument
|
|
9616
|
+
* depends on `FlyCurrency` (the currency-selector's data contract), a domain type the
|
|
9617
|
+
* pure number/byte/date formatters in `format.pipes.ts` have no reason to import.
|
|
9618
|
+
*
|
|
9619
|
+
* ```html
|
|
9620
|
+
* {{ invoice.total | flyMoney: invoice.currency }}
|
|
9621
|
+
* {{ invoice.total | flyMoney: invoice.currency : { display: 'code' } }}
|
|
9622
|
+
* ```
|
|
9623
|
+
*/
|
|
9624
|
+
declare class FlyMoneyPipe implements PipeTransform {
|
|
9625
|
+
private readonly i18n;
|
|
9626
|
+
transform(amount: number | null | undefined, currency: FlyCurrency | string | null | undefined, options?: FlyFormatMoneyOptions): string;
|
|
9627
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlyMoneyPipe, never>;
|
|
9628
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<FlyMoneyPipe, "flyMoney", true>;
|
|
9426
9629
|
}
|
|
9427
9630
|
|
|
9428
9631
|
/**
|
|
@@ -9587,6 +9790,47 @@ declare class FlyClickOutsideDirective {
|
|
|
9587
9790
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FlyClickOutsideDirective, "[flyClickOutside]", never, { "enabled": { "alias": "flyClickOutsideEnabled"; "required": false; "isSignal": true; }; }, { "flyClickOutside": "flyClickOutside"; }, never, never, true, never>;
|
|
9588
9791
|
}
|
|
9589
9792
|
|
|
9793
|
+
/**
|
|
9794
|
+
* Whether the host application is currently wearing MOBILE chrome.
|
|
9795
|
+
*
|
|
9796
|
+
* ## Why the DS asks instead of measuring
|
|
9797
|
+
* A second `matchMedia` inside the design system would be a second breakpoint
|
|
9798
|
+
* mechanism, and two predicates that answer "is this a phone" drift the first time
|
|
9799
|
+
* anyone retunes one of them. The shell already owns exactly one such predicate
|
|
9800
|
+
* (`ShellViewportService`, S5.1) and mirrors it three ways — a class on `<html>`, a
|
|
9801
|
+
* signal for templates, and the shell's own inset arithmetic. This token is the
|
|
9802
|
+
* fourth route to that SAME answer, not a new one: the shell binds it to
|
|
9803
|
+
* `ShellViewportService.isMobile` and nothing here evaluates a query.
|
|
9804
|
+
*
|
|
9805
|
+
* ## Default: `false`, deliberately
|
|
9806
|
+
* Unprovided, every DS overlay behaves exactly as it did before this token existed
|
|
9807
|
+
* — desktop geometry, no mobile branch. That matters for two populations:
|
|
9808
|
+
*
|
|
9809
|
+
* - **Standalone External Apps** (Circles/Thoughts/PPM) render on their own page
|
|
9810
|
+
* with no FlyOS shell. They opt in by providing this from their own breakpoint
|
|
9811
|
+
* source; until they do, nothing about them changes.
|
|
9812
|
+
* - **Tests and Storybook-style harnesses** that construct a DS component bare.
|
|
9813
|
+
*
|
|
9814
|
+
* A default of "measure the window" would have been the opposite trade: silently
|
|
9815
|
+
* correct in the shell, silently surprising everywhere else, and impossible to
|
|
9816
|
+
* override downward.
|
|
9817
|
+
*
|
|
9818
|
+
* ## Consumers
|
|
9819
|
+
* `fly-drawer` (`variant="auto"` → `sheet` on mobile) and `fly-message-box` /
|
|
9820
|
+
* `fly-confirm-dialog` (the full-bleed confirm card). Each reads the signal and
|
|
9821
|
+
* either resolves an input or stamps a host class — none of them re-derive a
|
|
9822
|
+
* width, so retuning the threshold is still a one-line change in the shell.
|
|
9823
|
+
*
|
|
9824
|
+
* @example Shell wiring (`app.config.ts`)
|
|
9825
|
+
* ```ts
|
|
9826
|
+
* {
|
|
9827
|
+
* provide: FLY_VIEWPORT_IS_MOBILE,
|
|
9828
|
+
* useFactory: () => inject(ShellViewportService).isMobile,
|
|
9829
|
+
* }
|
|
9830
|
+
* ```
|
|
9831
|
+
*/
|
|
9832
|
+
declare const FLY_VIEWPORT_IS_MOBILE: InjectionToken<Signal<boolean>>;
|
|
9833
|
+
|
|
9590
9834
|
/**
|
|
9591
9835
|
* Debounce primitives — the shared replacement for the `setTimeout` / `clearTimeout`
|
|
9592
9836
|
* pairs hand-rolled in every list screen and typeahead across the estate.
|
|
@@ -11437,6 +11681,7 @@ declare class FlyAppTopbarComponent {
|
|
|
11437
11681
|
protected readonly activeModule: _angular_core.Signal<FlyAppModule | null>;
|
|
11438
11682
|
protected readonly brandAriaLabel: _angular_core.Signal<string>;
|
|
11439
11683
|
protected readonly switchAriaLabel: _angular_core.Signal<string>;
|
|
11684
|
+
protected readonly triggerAriaLabel: _angular_core.Signal<string>;
|
|
11440
11685
|
constructor();
|
|
11441
11686
|
protected iconFor(key: string): TemplateRef<unknown> | null;
|
|
11442
11687
|
protected indexOf(mod: FlyAppModule): number;
|
|
@@ -12077,6 +12322,8 @@ declare function enterActivatesNatively(tagName: string, inputType?: string | nu
|
|
|
12077
12322
|
* focus is trapped while open and returns to the prior element on close.
|
|
12078
12323
|
*/
|
|
12079
12324
|
declare class FlyConfirmDialogComponent {
|
|
12325
|
+
/** Mobile chrome → the full-bleed confirm card. Read by the host class binding. */
|
|
12326
|
+
protected readonly isMobile: _angular_core.Signal<boolean>;
|
|
12080
12327
|
readonly open: _angular_core.InputSignal<boolean>;
|
|
12081
12328
|
readonly kind: _angular_core.InputSignal<ConfirmKind>;
|
|
12082
12329
|
readonly titleKey: _angular_core.InputSignal<string>;
|
|
@@ -12260,6 +12507,6 @@ declare const AUDIENCE_ERROR_CODES: {
|
|
|
12260
12507
|
};
|
|
12261
12508
|
type AudienceErrorCode = (typeof AUDIENCE_ERROR_CODES)[keyof typeof AUDIENCE_ERROR_CODES];
|
|
12262
12509
|
|
|
12263
|
-
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_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_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, FlyCurrencySelectorComponent, FlyDataTableComponent, FlyDatePipe, FlyDateTimePipe, FlyDebouncer, FlyDecimalNumberPipe, 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, 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, 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, flyFormatTime, flyFullNumber, flyNextEnabledIndex, flyNextSegmentIndex, flyRelativeTime, flyResolveActiveTab, flyRoleGuard, flyScanPendingDelayMs, flyScanRetry, flySignedCompact, flySkinToneLabelKey, flyStandaloneAuthGuard, flyStandaloneAuthInterceptor, flyToDateOnly, flyToPage, flyUnwrap, 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, 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 };
|
|
12264
|
-
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, EntityLinkSelection, FilterGroup, FlyAchievementRow, FlyApiError, FlyApiResponse, 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, FlyCurrency, FlyCurrencyFetchFn, FlyCurrencySelectorMode, FlyCurrencySelectorValue, FlyDrawerBodyPadding, FlyDrawerPosition, FlyDrawerSide, FlyDrawerSize, FlyDrawerVariant, FlyEmojiCategory, FlyEmojiCell, FlyEmojiEntry, FlyEmojiPack, FlyEmojiPackEntry, FlyEmojiPackManifest, FlyEmojiPickerSize, FlyEmojiPickerTab, FlyEmojiSection, FlyFileInfo, FlyFileSelection, FlyFormAnswer, FlyFormAnswerValue, FlyFormDefinition, FlyFormFieldOptions, FlyFormOption, FlyFormQuestion, FlyFormQuestionType, FlyFormScoreDisplay, FlyLaunchEventDetail, FlyLaunchRequestDetail, FlyLeaderboardRow, FlyLiveRefreshOptions, FlyLocaleEntry, FlyMagicBarIconName, FlyMetaItem, FlyModerationLoadPageRequest, FlyModerationLockThreadRequest, FlyModerationOpenSubjectRequest, FlyModerationReport, FlyModerationReportPage, FlyModerationResolutionStatus, FlyModerationResolveRequest, 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, GanttRow, GanttRowDatesChange, GanttRowKind, GanttZoom, IconButtonVariant, LaunchContext, LoadBundleOptions, 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, ShareOrgChartOption, ShareOuNode, SharePanelLevelOption, SharePermissionEntry, SharePrincipal, SharePrincipalKind, ShareUserResult, StateMessageKind, StepUpChallenge, StepUpReauthHandler, StepUpReauthRequest, TabsVariant, ToastAction, ToastEntry, ToastOptions, ToastVariant, User, UserPrincipal, UsersTerm, WindowHelpHint, WindowInstance, WindowState };
|
|
12510
|
+
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_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, 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, FlyCurrencySelectorComponent, FlyDataTableComponent, FlyDatePipe, FlyDateTimePipe, FlyDebouncer, FlyDecimalNumberPipe, 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, 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, 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, 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, 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 };
|
|
12511
|
+
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, EntityLinkSelection, FilterGroup, FlyAchievementRow, FlyApiError, FlyApiResponse, 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, FlyCurrency, FlyCurrencyFetchFn, FlyCurrencySelectorMode, FlyCurrencySelectorValue, 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, 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, ShareOrgChartOption, ShareOuNode, SharePanelLevelOption, SharePermissionEntry, SharePrincipal, SharePrincipalKind, ShareUserResult, StateMessageKind, StepUpChallenge, StepUpReauthHandler, StepUpReauthRequest, TabsVariant, ToastAction, ToastEntry, ToastOptions, ToastVariant, User, UserPrincipal, UsersTerm, WindowHelpHint, WindowInstance, WindowState };
|
|
12265
12512
|
//# sourceMappingURL=flyos-design-system.d.ts.map
|