@magmonium/one 0.4.41 → 0.4.43
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/assets/fields/app_color.json +5 -0
- package/assets/fields/logo_glyph_paste.json +7 -0
- package/assets/fields/logo_glyph_upload.json +12 -0
- package/assets/forms/logo_glyph_input.json +13 -0
- package/assets/i18n/ar.json +8 -0
- package/assets/i18n/de.json +8 -0
- package/assets/i18n/en.json +8 -0
- package/assets/i18n/es.json +8 -0
- package/assets/i18n/fr.json +8 -0
- package/assets/i18n/hi.json +8 -0
- package/assets/i18n/it.json +8 -0
- package/assets/i18n/ja.json +8 -0
- package/assets/i18n/ko.json +8 -0
- package/assets/i18n/nl.json +8 -0
- package/assets/i18n/pl.json +8 -0
- package/assets/i18n/pt.json +8 -0
- package/assets/i18n/ru.json +8 -0
- package/assets/i18n/tr.json +8 -0
- package/assets/i18n/zh.json +8 -0
- package/assets/index.json +1 -1
- package/fesm2022/{magmonium-one-attribute-value-DCTXt4Sr.mjs → magmonium-one-attribute-value-C1lqou2L.mjs} +3 -3
- package/fesm2022/{magmonium-one-attribute-value-DCTXt4Sr.mjs.map → magmonium-one-attribute-value-C1lqou2L.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-base-checkbox-BNQAkyYU.mjs → magmonium-one-base-checkbox-CIxAiA4Q.mjs} +2 -2
- package/fesm2022/{magmonium-one-base-checkbox-BNQAkyYU.mjs.map → magmonium-one-base-checkbox-CIxAiA4Q.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-base-dropdown-DU4B4w7c.mjs → magmonium-one-base-dropdown-XpTWe4Ii.mjs} +10 -10
- package/fesm2022/{magmonium-one-base-dropdown-DU4B4w7c.mjs.map → magmonium-one-base-dropdown-XpTWe4Ii.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-base-input-BTxhUtYO.mjs → magmonium-one-base-input-C1Ek0Ezm.mjs} +2 -2
- package/fesm2022/{magmonium-one-base-input-BTxhUtYO.mjs.map → magmonium-one-base-input-C1Ek0Ezm.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-base-text-BCSqKmVs.mjs → magmonium-one-base-text-Di2V2ojp.mjs} +2 -2
- package/fesm2022/{magmonium-one-base-text-BCSqKmVs.mjs.map → magmonium-one-base-text-Di2V2ojp.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-button-BWB3ZKIj.mjs → magmonium-one-button-DZ4wCJgb.mjs} +11 -9
- package/fesm2022/{magmonium-one-button-BWB3ZKIj.mjs.map → magmonium-one-button-DZ4wCJgb.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-checkbox-D5-5WhJ-.mjs → magmonium-one-checkbox-R-hPZrCa.mjs} +5 -5
- package/fesm2022/{magmonium-one-checkbox-D5-5WhJ-.mjs.map → magmonium-one-checkbox-R-hPZrCa.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-color-utl-D86GGpz5.mjs → magmonium-one-color-utl-DI5p24iQ.mjs} +209 -6
- package/fesm2022/magmonium-one-color-utl-DI5p24iQ.mjs.map +1 -0
- package/fesm2022/{magmonium-one-directives-DePukAj8.mjs → magmonium-one-directives-B93p5bAL.mjs} +4 -4
- package/fesm2022/{magmonium-one-directives-DePukAj8.mjs.map → magmonium-one-directives-B93p5bAL.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-group-m41SX_fL.mjs → magmonium-one-group-B7YeUd1u.mjs} +7 -7
- package/fesm2022/{magmonium-one-group-m41SX_fL.mjs.map → magmonium-one-group-B7YeUd1u.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-header-D8CB9CBJ.mjs → magmonium-one-header-DUiBhPUP.mjs} +6 -5
- package/fesm2022/{magmonium-one-header-D8CB9CBJ.mjs.map → magmonium-one-header-DUiBhPUP.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-icon-BTPHGpEN.mjs → magmonium-one-icon-C3jwzbb2.mjs} +80 -9
- package/fesm2022/magmonium-one-icon-C3jwzbb2.mjs.map +1 -0
- package/fesm2022/{magmonium-one-image-editor-Dn0ACfH0.mjs → magmonium-one-image-editor-BRTk8i4O.mjs} +4 -4
- package/fesm2022/{magmonium-one-image-editor-Dn0ACfH0.mjs.map → magmonium-one-image-editor-BRTk8i4O.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-label-DjvJthAB.mjs → magmonium-one-label-D_rU82nD.mjs} +2 -2
- package/fesm2022/{magmonium-one-label-DjvJthAB.mjs.map → magmonium-one-label-D_rU82nD.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-m-ref-C8c4Vf1G.mjs → magmonium-one-m-ref-CEms7B6-.mjs} +2 -2
- package/fesm2022/{magmonium-one-m-ref-C8c4Vf1G.mjs.map → magmonium-one-m-ref-CEms7B6-.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-menu-EIfPlZ4E.mjs → magmonium-one-menu-cO34OcJc.mjs} +8 -7
- package/fesm2022/{magmonium-one-menu-EIfPlZ4E.mjs.map → magmonium-one-menu-cO34OcJc.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-multi-range-o57TiVJU.mjs → magmonium-one-multi-range-Bq3_3NHg.mjs} +3 -3
- package/fesm2022/{magmonium-one-multi-range-o57TiVJU.mjs.map → magmonium-one-multi-range-Bq3_3NHg.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-options-asset-EVsv0DL7.mjs → magmonium-one-options-asset-BMd7W0Mk.mjs} +2 -2
- package/fesm2022/{magmonium-one-options-asset-EVsv0DL7.mjs.map → magmonium-one-options-asset-BMd7W0Mk.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-otp-CE4L1RcG.mjs → magmonium-one-otp-V2tFztLx.mjs} +5 -5
- package/fesm2022/{magmonium-one-otp-CE4L1RcG.mjs.map → magmonium-one-otp-V2tFztLx.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-BjqYmT1s.mjs → magmonium-one-password-IdllPMUw.mjs} +6 -6
- package/fesm2022/{magmonium-one-password-BjqYmT1s.mjs.map → magmonium-one-password-IdllPMUw.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-radio-C2wOB_Nb.mjs → magmonium-one-radio-BAL3-3j5.mjs} +3 -3
- package/fesm2022/{magmonium-one-radio-C2wOB_Nb.mjs.map → magmonium-one-radio-BAL3-3j5.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-range-rgDe4O8u.mjs → magmonium-one-range-Cf7yUnhN.mjs} +4 -4
- package/fesm2022/{magmonium-one-range-rgDe4O8u.mjs.map → magmonium-one-range-Cf7yUnhN.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-selector-DeRIUUBA.mjs → magmonium-one-selector-DAEI_0JX.mjs} +4 -4
- package/fesm2022/{magmonium-one-selector-DeRIUUBA.mjs.map → magmonium-one-selector-DAEI_0JX.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-size-converter-C5fG_dgw.mjs → magmonium-one-size-converter-BOBD8nHy.mjs} +8 -1
- package/fesm2022/magmonium-one-size-converter-BOBD8nHy.mjs.map +1 -0
- package/fesm2022/{magmonium-one-text-BL-1lWST.mjs → magmonium-one-text-BnTkYLJe.mjs} +8 -7
- package/fesm2022/{magmonium-one-text-BL-1lWST.mjs.map → magmonium-one-text-BnTkYLJe.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-text-output-Ci93Hi9Y.mjs → magmonium-one-text-output-BZU61QIF.mjs} +4 -4
- package/fesm2022/{magmonium-one-text-output-Ci93Hi9Y.mjs.map → magmonium-one-text-output-BZU61QIF.mjs.map} +1 -1
- package/fesm2022/magmonium-one-theme-DYvNIWmo.mjs +1 -0
- package/fesm2022/{magmonium-one-toggle-BTK2lzqA.mjs → magmonium-one-toggle-V_YnZXx5.mjs} +3 -3
- package/fesm2022/{magmonium-one-toggle-BTK2lzqA.mjs.map → magmonium-one-toggle-V_YnZXx5.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +788 -185
- package/fesm2022/magmonium-one.mjs.map +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +355 -53
- package/fesm2022/magmonium-one-color-utl-D86GGpz5.mjs.map +0 -1
- package/fesm2022/magmonium-one-icon-BTPHGpEN.mjs.map +0 -1
- package/fesm2022/magmonium-one-size-converter-C5fG_dgw.mjs.map +0 -1
- package/fesm2022/magmonium-one-theme-CT4cWpe7.mjs +0 -1
package/types/magmonium-one.d.ts
CHANGED
|
@@ -714,6 +714,8 @@ export interface LoadingActionsApi {
|
|
|
714
714
|
export declare class SharedStoreRegistry {
|
|
715
715
|
static setNavStore(store: unknown): void;
|
|
716
716
|
static getNavStore(): unknown;
|
|
717
|
+
static setAppLogoState(state: unknown): void;
|
|
718
|
+
static getAppLogoState(): unknown;
|
|
717
719
|
static setLoginStore(store: unknown): void;
|
|
718
720
|
static getLoginStore(): unknown;
|
|
719
721
|
/** First-write-wins: host registers its store; WC bundles reuse it so popups render in the host outlet. */
|
|
@@ -747,15 +749,15 @@ export interface RemoteSelectorConfig {
|
|
|
747
749
|
prefix?: string;
|
|
748
750
|
separator?: string;
|
|
749
751
|
}
|
|
752
|
+
/**
|
|
753
|
+
* A WC app's runtime wiring. Never its name, description, AppLogo or App
|
|
754
|
+
* Color — those are the Store App's (nx ADR 0007, `AppIdentity`).
|
|
755
|
+
*/
|
|
750
756
|
export interface WebComponentConfig {
|
|
751
757
|
selector?: string;
|
|
752
758
|
app: string;
|
|
753
|
-
/** What the app is called, from Store's App — `app` is its link. */
|
|
754
|
-
name?: string;
|
|
755
759
|
version: string;
|
|
756
|
-
company?: string;
|
|
757
760
|
timestamp?: string;
|
|
758
|
-
logo?: string;
|
|
759
761
|
inputs?: string[];
|
|
760
762
|
outputs?: string[];
|
|
761
763
|
autoRegister?: boolean;
|
|
@@ -2575,6 +2577,137 @@ export declare abstract class ResizeElementComponent<T extends Config> extends C
|
|
|
2575
2577
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResizeElementComponent<any>, never>;
|
|
2576
2578
|
static ɵcmp: i0.ɵɵComponentDeclaration<ResizeElementComponent<any>, "ng-component", never, {}, {}, never, never, true, never>;
|
|
2577
2579
|
}
|
|
2580
|
+
/**
|
|
2581
|
+
* LogoGlyph rules (nx ADR 0007) — the same allowlist rebuild api runs on
|
|
2582
|
+
* save, so the editor refuses what api would refuse before anything is sent.
|
|
2583
|
+
* api's rebuild is the rule; this one is the early answer.
|
|
2584
|
+
*/
|
|
2585
|
+
/** The size bound on a LogoGlyph's markup, in UTF-8 bytes. */
|
|
2586
|
+
export declare const LOGO_GLYPH_MAX_BYTES: number;
|
|
2587
|
+
/** Why a glyph was refused — the codes api answers with. */
|
|
2588
|
+
export type LogoGlyphError = '' | 'logo_invalid' | 'logo_too_large';
|
|
2589
|
+
/**
|
|
2590
|
+
* A rebuilt glyph. Flat rather than a union: the wc build does not narrow
|
|
2591
|
+
* discriminated unions. `error` is empty on success, `svg` empty on refusal.
|
|
2592
|
+
*/
|
|
2593
|
+
export type LogoGlyphResult = {
|
|
2594
|
+
svg: string;
|
|
2595
|
+
error: LogoGlyphError;
|
|
2596
|
+
};
|
|
2597
|
+
/**
|
|
2598
|
+
* The LogoGlyph as it will be stored: shape elements, their geometry and
|
|
2599
|
+
* on/off paint inside a fresh `<svg>` root. Refuses `logo_too_large` over
|
|
2600
|
+
* the size bound and `logo_invalid` for anything not a drawable SVG.
|
|
2601
|
+
*/
|
|
2602
|
+
export declare function rebuildLogoGlyph(markup: string): LogoGlyphResult;
|
|
2603
|
+
/** App Color as stored: `#rrggbb`, lowercased — or undefined when it is not one. */
|
|
2604
|
+
export declare const normalizeAppColor: (value: string) => string | undefined;
|
|
2605
|
+
/** The AppLogo's shadow: App Color mixed with 20% black. */
|
|
2606
|
+
export declare const appLogoShadowColor: (color: string) => string;
|
|
2607
|
+
/**
|
|
2608
|
+
* The theme's brand tokens (`mm`, `mmLite`, `mmDark`) as one App Color draws
|
|
2609
|
+
* them — what an app's own boundary paints its `mm` with in place of the
|
|
2610
|
+
* theme's.
|
|
2611
|
+
*/
|
|
2612
|
+
export declare const appColorBrand: (color: string) => {
|
|
2613
|
+
mm: string;
|
|
2614
|
+
mmLite: string;
|
|
2615
|
+
mmDark: string;
|
|
2616
|
+
};
|
|
2617
|
+
/**
|
|
2618
|
+
* Whether a white glyph reads poorly over this App Color: contrast under 3:1,
|
|
2619
|
+
* the WCAG floor for graphical objects. A warning, never a refusal.
|
|
2620
|
+
*/
|
|
2621
|
+
export declare const isLightAppColor: (color: string) => boolean;
|
|
2622
|
+
/** A LogoGlyph as a CSS `url(...)`, for painting it through a mask. */
|
|
2623
|
+
export declare const logoGlyphMaskUrl: (svg: string) => string;
|
|
2624
|
+
/**
|
|
2625
|
+
* What a Store App says about itself (nx ADR 0007), as `GET
|
|
2626
|
+
* store/v1/identity/<link>` answers it. The one source of an app's name,
|
|
2627
|
+
* description, AppLogo and App Color — never a WebComponentConfig.
|
|
2628
|
+
*/
|
|
2629
|
+
export type AppIdentity = {
|
|
2630
|
+
id: string;
|
|
2631
|
+
link: string;
|
|
2632
|
+
name: string;
|
|
2633
|
+
description: string | null;
|
|
2634
|
+
/** The LogoGlyph, rebuilt from the shape allowlist; null until the Owner sets one. */
|
|
2635
|
+
logoGlyph: string | null;
|
|
2636
|
+
/** App Color, `#rrggbb`; null until the Owner sets one. */
|
|
2637
|
+
appColor: string | null;
|
|
2638
|
+
/** Availability `open` — AppLogo optional, never released as a PWA. */
|
|
2639
|
+
open: boolean;
|
|
2640
|
+
};
|
|
2641
|
+
/**
|
|
2642
|
+
* Reads App Identity from Store — the one read every surface shares (host
|
|
2643
|
+
* nav, a standalone app's chrome, store cards that hold only a link). One
|
|
2644
|
+
* request per link per session; a failed read is not cached, so the next
|
|
2645
|
+
* ask retries.
|
|
2646
|
+
*/
|
|
2647
|
+
export declare class AppIdentityService {
|
|
2648
|
+
#private;
|
|
2649
|
+
readonly identity: (link: string) => Observable<AppIdentity | undefined>;
|
|
2650
|
+
/** Drops a link's held read, after its Owner changed it. */
|
|
2651
|
+
readonly forget: (link: string) => void;
|
|
2652
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppIdentityService, never>;
|
|
2653
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
2654
|
+
}
|
|
2655
|
+
/**
|
|
2656
|
+
* The reserved icon name that draws the running app's own AppLogo as a glyph
|
|
2657
|
+
* (GLOSSARY.md AppLogoIcon). Never an IconAsset or a file in `icons/`: `m-icon`
|
|
2658
|
+
* reads it from APP_LOGO_SOURCE instead of fetching anything. Its own file so
|
|
2659
|
+
* codegen can read it without Angular.
|
|
2660
|
+
*/
|
|
2661
|
+
export declare const APP_LOGO_ICON = "app_logo";
|
|
2662
|
+
/**
|
|
2663
|
+
* The running app's AppLogo as an icon draws it. `glyph` is a Store App's
|
|
2664
|
+
* LogoGlyph (already rebuilt from the allowlist); `src` is the host's
|
|
2665
|
+
* file-based AppLogo; neither is the first letter of `name`.
|
|
2666
|
+
*/
|
|
2667
|
+
export type AppLogoSource = {
|
|
2668
|
+
glyph?: string | null;
|
|
2669
|
+
src?: string;
|
|
2670
|
+
name?: string | null;
|
|
2671
|
+
/** App Color, `#rrggbb`, as Store holds it; null until the Owner sets one. */
|
|
2672
|
+
color?: string | null;
|
|
2673
|
+
};
|
|
2674
|
+
/**
|
|
2675
|
+
* Where NavStore publishes the AppLogo. Shared rather than read off NavStore
|
|
2676
|
+
* because `m-icon` sits below features and cannot import it — and handed to a
|
|
2677
|
+
* mounted WC through SharedStoreRegistry, since a WC reads the host's NavStore.
|
|
2678
|
+
* `logos` is every app NavStore knows the identity of, by AppLink: a host may
|
|
2679
|
+
* mount several at once, so each WC looks up its own. `source` is the fallback.
|
|
2680
|
+
*/
|
|
2681
|
+
export declare class AppLogoState {
|
|
2682
|
+
#private;
|
|
2683
|
+
readonly source: Signal<AppLogoSource | undefined>;
|
|
2684
|
+
readonly logos: Signal<Record<string, AppLogoSource>>;
|
|
2685
|
+
readonly set: (source: AppLogoSource | undefined) => void;
|
|
2686
|
+
readonly setLogos: (logos: Record<string, AppLogoSource>) => void;
|
|
2687
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppLogoState, never>;
|
|
2688
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
2689
|
+
}
|
|
2690
|
+
/**
|
|
2691
|
+
* What `m-icon name="app_logo"` draws: this app's own entry, by the AppLink
|
|
2692
|
+
* AssetStore holds (a mounted WC's, from `bindApp`), else the fallback. A
|
|
2693
|
+
* visual editor provides its own so the Canvas shows the AppTarget's logo.
|
|
2694
|
+
*/
|
|
2695
|
+
export declare const APP_LOGO_SOURCE: InjectionToken<Signal<AppLogoSource | undefined>>;
|
|
2696
|
+
/**
|
|
2697
|
+
* This app's App Color, which its own boundary paints as the theme's `mm`
|
|
2698
|
+
* (ThemeStore `color`). Unset at the host's root, so the host's chrome keeps
|
|
2699
|
+
* the theme's brand; a WC and a standalone Run provide it from
|
|
2700
|
+
* `appThemeColorFactory`. Unset too while the Owner has set none, and the
|
|
2701
|
+
* theme's own `mm` stands.
|
|
2702
|
+
*/
|
|
2703
|
+
export declare const APP_THEME_COLOR: InjectionToken<Signal<string | undefined>>;
|
|
2704
|
+
/** This app's App Color off the identities NavStore publishes, by its AppLink. */
|
|
2705
|
+
export declare const appThemeColorFactory: () => Signal<string | undefined>;
|
|
2706
|
+
/**
|
|
2707
|
+
* Paints an App Color's brand tokens onto the element that bounds the app —
|
|
2708
|
+
* every `m.$mm` inside it reads them — or clears them, leaving the theme's.
|
|
2709
|
+
*/
|
|
2710
|
+
export declare const paintAppColor: (element: HTMLElement, color: string | undefined) => void;
|
|
2578
2711
|
type ButtonBadge = {
|
|
2579
2712
|
count?: number;
|
|
2580
2713
|
variant?: 'default' | 'primary' | 'danger';
|
|
@@ -2627,7 +2760,7 @@ export declare class ButtonComponent extends ReactiveElementComponent<Button> {
|
|
|
2627
2760
|
navParams: import("@angular/core").InputSignal<Record<string, string | number> | undefined>;
|
|
2628
2761
|
href: import("@angular/core").InputSignal<string | undefined>;
|
|
2629
2762
|
disabled: import("@angular/core").InputSignal<boolean | undefined>;
|
|
2630
|
-
variant: import("@angular/core").InputSignal<"
|
|
2763
|
+
variant: import("@angular/core").InputSignal<"primary" | "ghost" | "secondary" | "tab" | undefined>;
|
|
2631
2764
|
name: import("@angular/core").InputSignal<string | undefined>;
|
|
2632
2765
|
baseUrl: import("@angular/core").InputSignal<string | undefined>;
|
|
2633
2766
|
one: import("@angular/core").InputSignal<boolean | undefined>;
|
|
@@ -2822,16 +2955,19 @@ type CustomIconEdit = {
|
|
|
2822
2955
|
linecap: 'butt' | 'round' | 'square';
|
|
2823
2956
|
linejoin: 'miter' | 'round' | 'bevel';
|
|
2824
2957
|
};
|
|
2825
|
-
type Icon = Partial<Config
|
|
2958
|
+
type Icon = Partial<Config> & {
|
|
2959
|
+
shadow?: boolean;
|
|
2960
|
+
};
|
|
2826
2961
|
export declare class IconComponent {
|
|
2827
|
-
config: import("@angular/core").ModelSignal<
|
|
2962
|
+
config: import("@angular/core").ModelSignal<Icon | undefined>;
|
|
2828
2963
|
readonly name: import("@angular/core").InputSignal<string | undefined>;
|
|
2829
2964
|
readonly color: import("@angular/core").InputSignal<string | undefined>;
|
|
2830
2965
|
readonly size: import("@angular/core").InputSignal<string | number | undefined>;
|
|
2831
2966
|
readonly one: import("@angular/core").InputSignal<boolean | undefined>;
|
|
2832
2967
|
readonly baseUrl: import("@angular/core").InputSignal<string | undefined>;
|
|
2833
2968
|
readonly remote: import("@angular/core").InputSignal<string | undefined>;
|
|
2834
|
-
|
|
2969
|
+
readonly shadow: import("@angular/core").InputSignalWithTransform<boolean | undefined, unknown>;
|
|
2970
|
+
protected readonly resolvedConfig: import("@angular/core").Signal<Icon | undefined>;
|
|
2835
2971
|
private readonly elementRef;
|
|
2836
2972
|
private readonly sizeContext;
|
|
2837
2973
|
private readonly assetStore;
|
|
@@ -2842,9 +2978,12 @@ export declare class IconComponent {
|
|
|
2842
2978
|
private readonly remoteBaseUrl;
|
|
2843
2979
|
private readonly iconSource;
|
|
2844
2980
|
private readonly inlineSvg;
|
|
2981
|
+
private readonly appLogoSource;
|
|
2982
|
+
private readonly appLogo;
|
|
2845
2983
|
private readonly text;
|
|
2846
2984
|
private readonly pallet;
|
|
2847
2985
|
constructor();
|
|
2986
|
+
private readonly applyShadow;
|
|
2848
2987
|
private readonly applySize;
|
|
2849
2988
|
private readonly updateElement;
|
|
2850
2989
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
|
|
@@ -2884,6 +3023,11 @@ export declare class IconComponent {
|
|
|
2884
3023
|
"required": false;
|
|
2885
3024
|
"isSignal": true;
|
|
2886
3025
|
};
|
|
3026
|
+
"shadow": {
|
|
3027
|
+
"alias": "shadow";
|
|
3028
|
+
"required": false;
|
|
3029
|
+
"isSignal": true;
|
|
3030
|
+
};
|
|
2887
3031
|
}, {
|
|
2888
3032
|
"config": "configChange";
|
|
2889
3033
|
}, never, ["*"], true, never>;
|
|
@@ -3236,7 +3380,7 @@ export declare class ButtonGroupComponent extends ConfigComponent<ButtonGroup> {
|
|
|
3236
3380
|
color?: string | keyof import("dist/libs/cli/src").ThemeColor;
|
|
3237
3381
|
align?: ConfigAlign;
|
|
3238
3382
|
isLoading?: boolean;
|
|
3239
|
-
variant?: "
|
|
3383
|
+
variant?: "primary" | "ghost" | "secondary" | "tab" | undefined;
|
|
3240
3384
|
label?: string;
|
|
3241
3385
|
noTranslate?: boolean;
|
|
3242
3386
|
params?: Record<string, string>;
|
|
@@ -4598,7 +4742,7 @@ export declare class SectionFilterGroupComponent {
|
|
|
4598
4742
|
readonly paddingX: import("@angular/core").InputSignal<boolean | undefined>;
|
|
4599
4743
|
readonly paddingY: import("@angular/core").InputSignal<boolean | undefined>;
|
|
4600
4744
|
readonly maxWidth: import("@angular/core").InputSignal<string | undefined>;
|
|
4601
|
-
readonly align: import("@angular/core").InputSignal<"
|
|
4745
|
+
readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
|
|
4602
4746
|
readonly config: import("@angular/core").InputSignal<SectionFilterGroupConfig | undefined>;
|
|
4603
4747
|
/**
|
|
4604
4748
|
* The whole group's selection, keyed by each Filter's `name` — one key per
|
|
@@ -4616,7 +4760,7 @@ export declare class SectionFilterGroupComponent {
|
|
|
4616
4760
|
protected readonly resolvedPadding: import("@angular/core").Signal<boolean>;
|
|
4617
4761
|
protected readonly resolvedPaddingX: import("@angular/core").Signal<boolean>;
|
|
4618
4762
|
protected readonly resolvedPaddingY: import("@angular/core").Signal<boolean>;
|
|
4619
|
-
protected readonly resolvedAlign: import("@angular/core").Signal<"
|
|
4763
|
+
protected readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right">;
|
|
4620
4764
|
protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
|
|
4621
4765
|
protected readonly noBorder: import("@angular/core").Signal<boolean>;
|
|
4622
4766
|
/**
|
|
@@ -4795,7 +4939,7 @@ export declare class SectionStepperComponent implements OnDestroy {
|
|
|
4795
4939
|
export declare class SectionBadgesComponent {
|
|
4796
4940
|
readonly wrap: import("@angular/core").InputSignal<boolean>;
|
|
4797
4941
|
readonly border: import("@angular/core").InputSignal<boolean>;
|
|
4798
|
-
readonly align: import("@angular/core").InputSignal<"
|
|
4942
|
+
readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
|
|
4799
4943
|
private readonly sectionContext;
|
|
4800
4944
|
protected readonly hasBorder: import("@angular/core").Signal<boolean>;
|
|
4801
4945
|
static ɵfac: i0.ɵɵFactoryDeclaration<SectionBadgesComponent, never>;
|
|
@@ -4912,7 +5056,7 @@ export declare class SectionToggleComponent<T extends SectionToggleItem = Sectio
|
|
|
4912
5056
|
}
|
|
4913
5057
|
export declare class SectionFooterComponent {
|
|
4914
5058
|
readonly sticky: import("@angular/core").InputSignal<boolean>;
|
|
4915
|
-
readonly align: import("@angular/core").InputSignal<"
|
|
5059
|
+
readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
|
|
4916
5060
|
private readonly scrollSticky;
|
|
4917
5061
|
protected readonly isSticky: import("@angular/core").Signal<boolean>;
|
|
4918
5062
|
private readonly sectionContext;
|
|
@@ -4965,7 +5109,7 @@ export declare class SectionPaginationComponent {
|
|
|
4965
5109
|
* Entries that are not positive numbers drop rather than throw.
|
|
4966
5110
|
*/
|
|
4967
5111
|
readonly perPageOptions: import("@angular/core").InputSignal<string | undefined>;
|
|
4968
|
-
readonly align: import("@angular/core").InputSignal<"
|
|
5112
|
+
readonly align: import("@angular/core").InputSignal<"left" | "center" | "right">;
|
|
4969
5113
|
readonly showPerPage: import("@angular/core").InputSignal<boolean>;
|
|
4970
5114
|
/** Hides the band outright once everything fits one page. */
|
|
4971
5115
|
readonly hideOnSinglePage: import("@angular/core").InputSignal<boolean>;
|
|
@@ -5303,7 +5447,7 @@ export declare class SectionComponent extends ConfigComponent<SectionConfig> {
|
|
|
5303
5447
|
readonly align: import("@angular/core").InputSignal<SectionAlign | undefined>;
|
|
5304
5448
|
readonly alignX: import("@angular/core").InputSignal<GridAlignX | undefined>;
|
|
5305
5449
|
readonly alignY: import("@angular/core").InputSignal<GridAlignY | undefined>;
|
|
5306
|
-
readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" |
|
|
5450
|
+
readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
|
|
5307
5451
|
private readonly parentSize;
|
|
5308
5452
|
readonly resolvedSize: import("@angular/core").Signal<Size>;
|
|
5309
5453
|
protected readonly sizeLength: import("@angular/core").Signal<string>;
|
|
@@ -5443,8 +5587,8 @@ export declare class SectionHeaderComponent {
|
|
|
5443
5587
|
readonly visibilityRule: import("@angular/core").InputSignal<((key: string, data?: unknown) => boolean) | undefined>;
|
|
5444
5588
|
readonly disableRule: import("@angular/core").InputSignal<((key: string, data?: unknown) => boolean) | undefined>;
|
|
5445
5589
|
readonly extraData: import("@angular/core").InputSignal<unknown>;
|
|
5446
|
-
readonly align: import("@angular/core").InputSignal<"
|
|
5447
|
-
readonly alignment: import("@angular/core").Signal<"
|
|
5590
|
+
readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
|
|
5591
|
+
readonly alignment: import("@angular/core").Signal<"left" | "center" | "right">;
|
|
5448
5592
|
readonly showBack: import("@angular/core").InputSignal<boolean>;
|
|
5449
5593
|
readonly actionButton: import("@angular/core").InputSignal<string | undefined>;
|
|
5450
5594
|
readonly actionLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
@@ -5461,7 +5605,7 @@ export declare class SectionHeaderComponent {
|
|
|
5461
5605
|
protected readonly sidepanel: import("@angular/core").Signal<boolean>;
|
|
5462
5606
|
protected readonly noBorder: import("@angular/core").Signal<boolean>;
|
|
5463
5607
|
protected readonly resolvedMaxWidth: import("@angular/core").Signal<string | undefined>;
|
|
5464
|
-
protected readonly boxAlign: import("@angular/core").Signal<"
|
|
5608
|
+
protected readonly boxAlign: import("@angular/core").Signal<"left" | "center" | "right">;
|
|
5465
5609
|
protected readonly iconBox: import("@angular/core").Signal<string>;
|
|
5466
5610
|
protected readonly isSticky: import("@angular/core").Signal<boolean>;
|
|
5467
5611
|
protected readonly hasMenu: import("@angular/core").Signal<boolean>;
|
|
@@ -5572,7 +5716,7 @@ export declare class SectionHeaderComponent {
|
|
|
5572
5716
|
"actionClick": "actionClick";
|
|
5573
5717
|
"action": "action";
|
|
5574
5718
|
"back": "back";
|
|
5575
|
-
}, never, ["*", "m-section-filter-group"], true, never>;
|
|
5719
|
+
}, never, ["m-app-logo", "*", "m-section-filter-group"], true, never>;
|
|
5576
5720
|
}
|
|
5577
5721
|
/**
|
|
5578
5722
|
* Config for `m-section-button-group`. Carries no `names` and no `buttons` —
|
|
@@ -5601,7 +5745,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
|
|
|
5601
5745
|
readonly vertical: import("@angular/core").InputSignal<boolean | undefined>;
|
|
5602
5746
|
readonly align: import("@angular/core").InputSignal<ConfigAlign>;
|
|
5603
5747
|
readonly variant: import("@angular/core").InputSignal<"spaced" | "joined" | undefined>;
|
|
5604
|
-
readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" |
|
|
5748
|
+
readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
|
|
5605
5749
|
readonly fullWidth: import("@angular/core").InputSignal<boolean | undefined>;
|
|
5606
5750
|
private readonly parentSize;
|
|
5607
5751
|
readonly resolvedSize: import("@angular/core").Signal<Size>;
|
|
@@ -5609,7 +5753,7 @@ export declare class SectionButtonGroupComponent extends ConfigComponent<Section
|
|
|
5609
5753
|
protected readonly resolvedFullWidth: import("@angular/core").Signal<boolean>;
|
|
5610
5754
|
protected readonly resolvedVertical: import("@angular/core").Signal<boolean>;
|
|
5611
5755
|
protected readonly resolvedVariant: import("@angular/core").Signal<"spaced" | "joined">;
|
|
5612
|
-
protected readonly resolvedAlign: import("@angular/core").Signal<"
|
|
5756
|
+
protected readonly resolvedAlign: import("@angular/core").Signal<"left" | "top" | "bottom" | "center" | "right">;
|
|
5613
5757
|
static ɵfac: i0.ɵɵFactoryDeclaration<SectionButtonGroupComponent, never>;
|
|
5614
5758
|
static ɵcmp: i0.ɵɵComponentDeclaration<SectionButtonGroupComponent, "m-section-button-group", never, {
|
|
5615
5759
|
"vertical": {
|
|
@@ -7117,7 +7261,7 @@ declare class DropdownBoxComponent {
|
|
|
7117
7261
|
}
|
|
7118
7262
|
/** The trigger both option Fields draw: a searchable text input and a chevron. */
|
|
7119
7263
|
declare const DROPDOWN_TEMPLATE = "\n @if (config(); as dropdown) {\n @if (dropdown.label) {\n <m-label\n [for]=\"dropdown.name ?? ''\"\n [placeholder]=\"dropdown.label\"\n [params]=\"dropdown.params\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n />\n }\n <div\n class=\"trigger-wrap\"\n #wrapper\n [mSelector]=\"selectorConfig()\"\n [disabled]=\"disabled() || readonly() || !!config()?.readonly\"\n (opened)=\"onOpened()\"\n (closed)=\"onClosed()\"\n (focusin)=\"isFocused.set(true)\"\n (focusout)=\"isFocused.set(false)\"\n >\n <m-text-input\n [config]=\"triggerInputConfig()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [hideErrors]=\"true\"\n [(touched)]=\"touched\"\n [focused]=\"focused()\"\n (valueChange)=\"onInput($event)\"\n (click)=\"preventToggleWhenOpen($event)\"\n (keydown.space)=\"$event.stopPropagation()\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.arrowdown)=\"onArrow($event, 1)\"\n (keydown.arrowup)=\"onArrow($event, -1)\"\n (keydown.tab)=\"$event.stopPropagation()\"\n />\n <m-button [disabled]=\"disabled()\" [config]=\"chevron()\" />\n </div>\n @if (showErrors()) {\n @for (error of errors(); track $index) {\n <m-text-output\n variant=\"footer\"\n color=\"error\"\n [label]=\"error.message\"\n />\n }\n }\n }\n";
|
|
7120
|
-
declare const DROPDOWN_IMPORTS: (typeof
|
|
7264
|
+
declare const DROPDOWN_IMPORTS: (typeof TextOutputComponent | typeof ButtonComponent | typeof LabelComponent | typeof SelectorDirective | typeof TextInputComponent)[];
|
|
7121
7265
|
/**
|
|
7122
7266
|
* Everything a Dropdown and a Multiselect share: the options, the search, the
|
|
7123
7267
|
* keyboard walk and the panel. What differs is only what the Field holds — one
|
|
@@ -8472,14 +8616,14 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
|
|
|
8472
8616
|
readonly heightMode: import("@angular/core").InputSignal<"fixed" | "full" | undefined>;
|
|
8473
8617
|
readonly maxHeight: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8474
8618
|
readonly height: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8475
|
-
readonly align: import("@angular/core").InputSignal<"
|
|
8619
|
+
readonly align: import("@angular/core").InputSignal<"left" | "center" | "right" | undefined>;
|
|
8476
8620
|
readonly padding: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8477
8621
|
readonly paddingX: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8478
8622
|
readonly paddingY: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8479
8623
|
readonly margin: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8480
8624
|
readonly marginX: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8481
8625
|
readonly marginY: import("@angular/core").InputSignal<string | number | undefined>;
|
|
8482
|
-
readonly size: import("@angular/core").InputSignal<"sm" | "md" | "lg" |
|
|
8626
|
+
readonly size: import("@angular/core").InputSignal<Size | "sm" | "md" | "lg" | undefined>;
|
|
8483
8627
|
readonly autofocus: import("@angular/core").InputSignal<boolean>;
|
|
8484
8628
|
data: import("@angular/core").InputSignal<T | undefined>;
|
|
8485
8629
|
readonly dataChange: import("@angular/core").OutputEmitterRef<T>;
|
|
@@ -8524,7 +8668,7 @@ export declare class SectionFormComponent<T extends object = Record<string, unkn
|
|
|
8524
8668
|
protected readonly handleSubmit: (event: Event) => void;
|
|
8525
8669
|
readonly resolvedSize: import("@angular/core").Signal<Size>;
|
|
8526
8670
|
protected readonly sizeLength: import("@angular/core").Signal<string | null>;
|
|
8527
|
-
readonly resolvedAlign: import("@angular/core").Signal<"
|
|
8671
|
+
readonly resolvedAlign: import("@angular/core").Signal<"left" | "center" | "right">;
|
|
8528
8672
|
readonly resolvedVariant: import("@angular/core").Signal<string | undefined>;
|
|
8529
8673
|
readonly resolvedMaxWidth: import("@angular/core").Signal<string | number | undefined>;
|
|
8530
8674
|
private readonly resolvedPadding;
|
|
@@ -10153,6 +10297,7 @@ export declare class RemoteComponent implements OnDestroy {
|
|
|
10153
10297
|
private readonly navRef;
|
|
10154
10298
|
private readonly reloadPage;
|
|
10155
10299
|
private readonly assetStore;
|
|
10300
|
+
private readonly appLogoState;
|
|
10156
10301
|
private loadedElement?;
|
|
10157
10302
|
/** Bumped per load, so an answer for a link since replaced is dropped. */
|
|
10158
10303
|
private loadId;
|
|
@@ -10205,6 +10350,8 @@ export declare class RemoteComponent implements OnDestroy {
|
|
|
10205
10350
|
private readonly carriesQuery;
|
|
10206
10351
|
private readonly remotePath;
|
|
10207
10352
|
private readonly ownTail;
|
|
10353
|
+
/** The mounted app's App Color — the `mm` everything inside this mount draws. */
|
|
10354
|
+
private readonly appColor;
|
|
10208
10355
|
constructor();
|
|
10209
10356
|
ngOnDestroy(): void;
|
|
10210
10357
|
private mountName;
|
|
@@ -10588,7 +10735,7 @@ export declare class SortComponent extends ConfigComponent<Sort> {
|
|
|
10588
10735
|
protected readonly currentSortLabel: import("@angular/core").Signal<string>;
|
|
10589
10736
|
protected readonly remainingOptions: import("@angular/core").Signal<import("@magmonium/one").SortOption[]>;
|
|
10590
10737
|
readonly toggleButtonConfig: import("@angular/core").Signal<Button>;
|
|
10591
|
-
readonly menuIconConfig: import("@angular/core").Signal<Partial<
|
|
10738
|
+
readonly menuIconConfig: import("@angular/core").Signal<Partial<Icon>>;
|
|
10592
10739
|
readonly menuItems: import("@angular/core").Signal<MenuItem[][]>;
|
|
10593
10740
|
readonly menuSelectorConfig: import("@angular/core").Signal<SelectorConfig<ContextMenuBoxComponent>>;
|
|
10594
10741
|
readonly selectOption: (value: string) => void;
|
|
@@ -10669,7 +10816,7 @@ export declare class ImgComponent {
|
|
|
10669
10816
|
readonly boxHeight: import("@angular/core").Signal<number | null>;
|
|
10670
10817
|
readonly isSized: import("@angular/core").Signal<boolean>;
|
|
10671
10818
|
readonly autoNgSrcset: import("@angular/core").Signal<string | undefined>;
|
|
10672
|
-
readonly status: import("@angular/core").WritableSignal<"
|
|
10819
|
+
readonly status: import("@angular/core").WritableSignal<"loading" | "loaded" | "error">;
|
|
10673
10820
|
readonly effectiveSrc: import("@angular/core").Signal<string | null | undefined>;
|
|
10674
10821
|
readonly showFallback: import("@angular/core").Signal<boolean>;
|
|
10675
10822
|
readonly isDataUri: import("@angular/core").Signal<boolean>;
|
|
@@ -11013,7 +11160,7 @@ export type DocAiPhase = 'idle' | 'asking' | 'question' | 'outline' | 'writing'
|
|
|
11013
11160
|
*/
|
|
11014
11161
|
export declare class DocEditorComponent implements ControlValueAccessor {
|
|
11015
11162
|
protected readonly groups: readonly import("@magmonium/one").DocToolbarGroup[];
|
|
11016
|
-
protected readonly icons: Record<"
|
|
11163
|
+
protected readonly icons: Record<"list" | "code" | "link" | "table" | "strike" | "bold" | "heading" | "italic" | "quote", string>;
|
|
11017
11164
|
protected readonly docActionKey: typeof docActionKey;
|
|
11018
11165
|
private readonly translate;
|
|
11019
11166
|
protected readonly value: import("@angular/core").WritableSignal<string>;
|
|
@@ -11943,20 +12090,20 @@ export declare class ScrollComponent implements OnDestroy {
|
|
|
11943
12090
|
}
|
|
11944
12091
|
type AppCardVariant = 'small' | 'row' | 'card' | 'tile';
|
|
11945
12092
|
/**
|
|
11946
|
-
* Deployed app-wc.json manifest. Card consumes only
|
|
11947
|
-
*
|
|
11948
|
-
*
|
|
12093
|
+
* Deployed app-wc.json manifest. Card consumes only version and timestamp
|
|
12094
|
+
* (-> AppCardData.lastUpdated) — never identity, which is the Store App's
|
|
12095
|
+
* (nx ADR 0007).
|
|
11949
12096
|
*/
|
|
11950
|
-
|
|
11951
|
-
pwa?: {
|
|
11952
|
-
color?: string;
|
|
11953
|
-
};
|
|
11954
|
-
}
|
|
12097
|
+
type AppManifest = WebComponentConfig$1;
|
|
11955
12098
|
interface AppCardData {
|
|
11956
12099
|
id: string;
|
|
11957
12100
|
name: string;
|
|
11958
|
-
|
|
11959
|
-
|
|
12101
|
+
/** The app's AppLink. */
|
|
12102
|
+
link?: string;
|
|
12103
|
+
/** The Store App's LogoGlyph; the AppLogo draws a letter without one. */
|
|
12104
|
+
logoGlyph?: string | null;
|
|
12105
|
+
/** The Store App's App Color — the AppLogo's ground and the card's accent. */
|
|
12106
|
+
appColor?: string | null;
|
|
11960
12107
|
notificationsCount?: number;
|
|
11961
12108
|
lastUsed?: number;
|
|
11962
12109
|
latestNotification?: string;
|
|
@@ -11968,9 +12115,6 @@ interface AppCardData {
|
|
|
11968
12115
|
statusLabel?: string;
|
|
11969
12116
|
created?: string;
|
|
11970
12117
|
version?: string;
|
|
11971
|
-
company?: string;
|
|
11972
|
-
/** Accent tint sourced from deployed manifest pwa.color. */
|
|
11973
|
-
accentColor?: string;
|
|
11974
12118
|
/** Deployed build time sourced from manifest timestamp. */
|
|
11975
12119
|
lastUpdated?: string;
|
|
11976
12120
|
}
|
|
@@ -12029,6 +12173,109 @@ export declare class AppCardComponent {
|
|
|
12029
12173
|
"actionClick": "actionClick";
|
|
12030
12174
|
}, never, never, true, never>;
|
|
12031
12175
|
}
|
|
12176
|
+
/**
|
|
12177
|
+
* The one renderer of an AppLogo (nx ADR 0007): the LogoGlyph painted white
|
|
12178
|
+
* over App Color, with a shadow in App Color mixed with 20% black. The glyph
|
|
12179
|
+
* is a mask, never inserted markup — its own colours never show and nothing
|
|
12180
|
+
* in it can run. Without a glyph it draws the name's first letter instead.
|
|
12181
|
+
* Fills its box; the caller sizes the host.
|
|
12182
|
+
*/
|
|
12183
|
+
export declare class AppLogoComponent {
|
|
12184
|
+
/** The LogoGlyph as Store holds it — already rebuilt from the allowlist. */
|
|
12185
|
+
readonly glyph: import("@angular/core").InputSignal<string | null | undefined>;
|
|
12186
|
+
/** App Color, `#rrggbb`. A neutral ground when unset. */
|
|
12187
|
+
readonly appColor: import("@angular/core").InputSignal<string | null | undefined>;
|
|
12188
|
+
/** The app's name (or AppLink): the accessible label and the letter fallback. */
|
|
12189
|
+
readonly name: import("@angular/core").InputSignal<string | null | undefined>;
|
|
12190
|
+
protected readonly color: import("@angular/core").Signal<string | null>;
|
|
12191
|
+
protected readonly shadow: import("@angular/core").Signal<string | null>;
|
|
12192
|
+
protected readonly mask: import("@angular/core").Signal<string | undefined>;
|
|
12193
|
+
protected readonly letter: import("@angular/core").Signal<string>;
|
|
12194
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AppLogoComponent, never>;
|
|
12195
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AppLogoComponent, "m-app-logo", never, {
|
|
12196
|
+
"glyph": {
|
|
12197
|
+
"alias": "glyph";
|
|
12198
|
+
"required": false;
|
|
12199
|
+
"isSignal": true;
|
|
12200
|
+
};
|
|
12201
|
+
"appColor": {
|
|
12202
|
+
"alias": "appColor";
|
|
12203
|
+
"required": false;
|
|
12204
|
+
"isSignal": true;
|
|
12205
|
+
};
|
|
12206
|
+
"name": {
|
|
12207
|
+
"alias": "name";
|
|
12208
|
+
"required": false;
|
|
12209
|
+
"isSignal": true;
|
|
12210
|
+
};
|
|
12211
|
+
}, {}, never, never, true, never>;
|
|
12212
|
+
}
|
|
12213
|
+
/**
|
|
12214
|
+
* Where an Owner sets a LogoGlyph and App Color (libs/one GLOSSARY
|
|
12215
|
+
* LogoGlyphInput): an SVG uploaded or pasted, rebuilt from the shape
|
|
12216
|
+
* allowlist before it is kept, and a colour — picked, or one of the
|
|
12217
|
+
* suggestions a host offers. Previewed live as the AppLogo it becomes. A
|
|
12218
|
+
* host's AI panel rides the `[logoAi]` slot and writes through the same two
|
|
12219
|
+
* models. Nothing here saves: the host decides when.
|
|
12220
|
+
*/
|
|
12221
|
+
export declare class LogoGlyphInputComponent {
|
|
12222
|
+
/** The kept LogoGlyph — only ever a rebuilt one. */
|
|
12223
|
+
readonly glyph: import("@angular/core").ModelSignal<string | null>;
|
|
12224
|
+
/** The kept App Color, `#rrggbb`. */
|
|
12225
|
+
readonly appColor: import("@angular/core").ModelSignal<string | null>;
|
|
12226
|
+
/** The app's name: the preview's label and its letter fallback. */
|
|
12227
|
+
readonly name: import("@angular/core").InputSignal<string | null | undefined>;
|
|
12228
|
+
/** Colours a host suggests (an AI's ten); picking one sets App Color. */
|
|
12229
|
+
readonly suggestedColors: import("@angular/core").InputSignal<readonly string[]>;
|
|
12230
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
12231
|
+
/** What was pasted or uploaded, as typed — kept even while it is refused. */
|
|
12232
|
+
protected readonly markup: import("@angular/core").WritableSignal<string>;
|
|
12233
|
+
protected readonly error: import("@angular/core").WritableSignal<LogoGlyphError>;
|
|
12234
|
+
protected readonly errorKey: import("@angular/core").Signal<string | undefined>;
|
|
12235
|
+
protected readonly lightColor: import("@angular/core").Signal<boolean>;
|
|
12236
|
+
protected readonly suggestions: import("@angular/core").Signal<string[]>;
|
|
12237
|
+
/** The form's fields: upload and paste both feed `take`, the colour picker App Color. */
|
|
12238
|
+
protected readonly formData: import("@angular/core").Signal<{
|
|
12239
|
+
logo_glyph_paste: string;
|
|
12240
|
+
app_color: string;
|
|
12241
|
+
}>;
|
|
12242
|
+
private lastUpload;
|
|
12243
|
+
/** Takes markup from any path: kept when it rebuilds, told why when not. */
|
|
12244
|
+
readonly take: (markup: string) => void;
|
|
12245
|
+
protected readonly onForm: (data: Record<string, unknown>) => void;
|
|
12246
|
+
protected readonly pickSuggestion: (color: string) => void;
|
|
12247
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LogoGlyphInputComponent, never>;
|
|
12248
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LogoGlyphInputComponent, "m-logo-glyph-input", never, {
|
|
12249
|
+
"glyph": {
|
|
12250
|
+
"alias": "glyph";
|
|
12251
|
+
"required": false;
|
|
12252
|
+
"isSignal": true;
|
|
12253
|
+
};
|
|
12254
|
+
"appColor": {
|
|
12255
|
+
"alias": "appColor";
|
|
12256
|
+
"required": false;
|
|
12257
|
+
"isSignal": true;
|
|
12258
|
+
};
|
|
12259
|
+
"name": {
|
|
12260
|
+
"alias": "name";
|
|
12261
|
+
"required": false;
|
|
12262
|
+
"isSignal": true;
|
|
12263
|
+
};
|
|
12264
|
+
"suggestedColors": {
|
|
12265
|
+
"alias": "suggestedColors";
|
|
12266
|
+
"required": false;
|
|
12267
|
+
"isSignal": true;
|
|
12268
|
+
};
|
|
12269
|
+
"disabled": {
|
|
12270
|
+
"alias": "disabled";
|
|
12271
|
+
"required": false;
|
|
12272
|
+
"isSignal": true;
|
|
12273
|
+
};
|
|
12274
|
+
}, {
|
|
12275
|
+
"glyph": "glyphChange";
|
|
12276
|
+
"appColor": "appColorChange";
|
|
12277
|
+
}, never, ["[logoAi]"], true, never>;
|
|
12278
|
+
}
|
|
12032
12279
|
export declare class PlaygroundComponent {
|
|
12033
12280
|
config: import("@angular/core").InputSignal<unknown>;
|
|
12034
12281
|
copied: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -12798,6 +13045,15 @@ export type BreadcrumbTrail = {
|
|
|
12798
13045
|
* Browses into it while the row itself follows it (GLOSSARY.md Browse).
|
|
12799
13046
|
*/
|
|
12800
13047
|
browsable?: boolean;
|
|
13048
|
+
/**
|
|
13049
|
+
* A row standing for a mounted app draws that app's AppLogo instead of an
|
|
13050
|
+
* icon (nx ADR 0007) — its root carries no `icon:` of its own.
|
|
13051
|
+
*/
|
|
13052
|
+
appLogo?: {
|
|
13053
|
+
glyph: string | null;
|
|
13054
|
+
color: string | null;
|
|
13055
|
+
name: string;
|
|
13056
|
+
};
|
|
12801
13057
|
};
|
|
12802
13058
|
export type BreadCrumb = {
|
|
12803
13059
|
trail?: BreadcrumbTrail[];
|
|
@@ -13140,6 +13396,7 @@ export declare class FrameComponent {
|
|
|
13140
13396
|
remoteWidgets: import("@angular/core").Signal<Record<string, NavWidgetRegistryEntry>>;
|
|
13141
13397
|
navMap: import("@angular/core").Signal<import("@magmonium/one").NavMap>;
|
|
13142
13398
|
wcConfigMap: import("@angular/core").Signal<Record<string, import("dist/libs/cli/src").WebComponentConfig>>;
|
|
13399
|
+
identityMap: import("@angular/core").Signal<Record<string, import("@magmonium/one").AppIdentity>>;
|
|
13143
13400
|
navLoading: import("@angular/core").Signal<boolean>;
|
|
13144
13401
|
visibilityAnswers: import("@angular/core").Signal<Record<string, boolean>>;
|
|
13145
13402
|
navigationEnd: import("@angular/core").Signal<import("@angular/router").RouterStateSnapshot>;
|
|
@@ -13174,6 +13431,10 @@ export declare class FrameComponent {
|
|
|
13174
13431
|
navMenus: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail[]>;
|
|
13175
13432
|
navHasContent: import("@angular/core").Signal<boolean>;
|
|
13176
13433
|
currentWcConfig: import("@angular/core").Signal<import("dist/libs/cli/src").WebComponentConfig | undefined>;
|
|
13434
|
+
currentIdentity: import("@angular/core").Signal<import("@magmonium/one").AppIdentity | undefined>;
|
|
13435
|
+
appLogoLink: import("@angular/core").Signal<string | undefined>;
|
|
13436
|
+
appLogo: import("@angular/core").Signal<import("@magmonium/one").AppLogoSource | undefined>;
|
|
13437
|
+
appLogos: import("@angular/core").Signal<Record<string, import("@magmonium/one").AppLogoSource>>;
|
|
13177
13438
|
activeAppOpen: import("@angular/core").Signal<boolean>;
|
|
13178
13439
|
transparentNavIds: import("@angular/core").Signal<ReadonlySet<string>>;
|
|
13179
13440
|
resolvedNavMenuConfig: import("@angular/core").Signal<import("@magmonium/one").NavMenuConfig | null>;
|
|
@@ -13220,6 +13481,8 @@ export declare class FrameComponent {
|
|
|
13220
13481
|
mountOf: (navId: string) => import("@magmonium/one").RemoteMount | undefined;
|
|
13221
13482
|
setWcConfig: (appLink: string, config: import("dist/libs/cli/src").WebComponentConfig) => void;
|
|
13222
13483
|
loadWcConfig: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
13484
|
+
setIdentity: (identity: import("@magmonium/one").AppIdentity) => void;
|
|
13485
|
+
loadIdentity: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
13223
13486
|
loadNav: import("@ngrx/signals/rxjs-interop").RxMethod<{
|
|
13224
13487
|
navId: string;
|
|
13225
13488
|
appNavId: string | undefined;
|
|
@@ -13265,6 +13528,7 @@ export declare class FrameComponent {
|
|
|
13265
13528
|
remoteWidgets: Record<string, NavWidgetRegistryEntry>;
|
|
13266
13529
|
navMap: import("@magmonium/one").NavMap;
|
|
13267
13530
|
wcConfigMap: Record<string, import("dist/libs/cli/src").WebComponentConfig>;
|
|
13531
|
+
identityMap: Record<string, import("@magmonium/one").AppIdentity>;
|
|
13268
13532
|
navLoading: boolean;
|
|
13269
13533
|
visibilityAnswers: Record<string, boolean>;
|
|
13270
13534
|
}>;
|
|
@@ -13485,6 +13749,11 @@ interface NavState {
|
|
|
13485
13749
|
*/
|
|
13486
13750
|
navMap: NavMap;
|
|
13487
13751
|
wcConfigMap: Record<string, WebComponentConfig$1>;
|
|
13752
|
+
/**
|
|
13753
|
+
* Each app's name, AppLogo and App Color as Store holds them (nx ADR 0007),
|
|
13754
|
+
* keyed by AppLink — the chrome's only source of an app's identity.
|
|
13755
|
+
*/
|
|
13756
|
+
identityMap: Record<string, AppIdentity>;
|
|
13488
13757
|
navLoading: boolean;
|
|
13489
13758
|
/**
|
|
13490
13759
|
* What an **async** NavVisibilityConfig answered, keyed by NavId and the
|
|
@@ -13550,6 +13819,7 @@ export declare const NavStore: import("@angular/core").Type<{
|
|
|
13550
13819
|
remoteWidgets: Signal<Record<string, NavWidgetRegistryEntry>>;
|
|
13551
13820
|
navMap: Signal<NavMap>;
|
|
13552
13821
|
wcConfigMap: Signal<Record<string, WebComponentConfig$1>>;
|
|
13822
|
+
identityMap: Signal<Record<string, AppIdentity>>;
|
|
13553
13823
|
navLoading: Signal<boolean>;
|
|
13554
13824
|
visibilityAnswers: Signal<Record<string, boolean>>;
|
|
13555
13825
|
navigationEnd: Signal<RouterStateSnapshot>;
|
|
@@ -13581,9 +13851,13 @@ export declare const NavStore: import("@angular/core").Type<{
|
|
|
13581
13851
|
}) | null>;
|
|
13582
13852
|
searchLabel: Signal<string | null>;
|
|
13583
13853
|
breadcrumb: Signal<BreadCrumb>;
|
|
13584
|
-
navMenus: Signal<
|
|
13854
|
+
navMenus: Signal<BreadcrumbTrail[]>;
|
|
13585
13855
|
navHasContent: Signal<boolean>;
|
|
13586
13856
|
currentWcConfig: Signal<WebComponentConfig$1 | undefined>;
|
|
13857
|
+
currentIdentity: Signal<AppIdentity | undefined>;
|
|
13858
|
+
appLogoLink: Signal<string | undefined>;
|
|
13859
|
+
appLogo: Signal<AppLogoSource | undefined>;
|
|
13860
|
+
appLogos: Signal<Record<string, AppLogoSource>>;
|
|
13587
13861
|
activeAppOpen: Signal<boolean>;
|
|
13588
13862
|
transparentNavIds: Signal<ReadonlySet<string>>;
|
|
13589
13863
|
resolvedNavMenuConfig: Signal<NavMenuConfig | null>;
|
|
@@ -13630,6 +13904,8 @@ export declare const NavStore: import("@angular/core").Type<{
|
|
|
13630
13904
|
mountOf: (navId: string) => RemoteMount | undefined;
|
|
13631
13905
|
setWcConfig: (appLink: string, config: WebComponentConfig$1) => void;
|
|
13632
13906
|
loadWcConfig: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
13907
|
+
setIdentity: (identity: AppIdentity) => void;
|
|
13908
|
+
loadIdentity: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
13633
13909
|
loadNav: import("@ngrx/signals/rxjs-interop").RxMethod<{
|
|
13634
13910
|
navId: string;
|
|
13635
13911
|
appNavId: string | undefined;
|
|
@@ -13675,6 +13951,7 @@ export declare const NavStore: import("@angular/core").Type<{
|
|
|
13675
13951
|
remoteWidgets: Record<string, NavWidgetRegistryEntry>;
|
|
13676
13952
|
navMap: NavMap;
|
|
13677
13953
|
wcConfigMap: Record<string, WebComponentConfig$1>;
|
|
13954
|
+
identityMap: Record<string, AppIdentity>;
|
|
13678
13955
|
navLoading: boolean;
|
|
13679
13956
|
visibilityAnswers: Record<string, boolean>;
|
|
13680
13957
|
}>>;
|
|
@@ -13925,14 +14202,23 @@ export declare class NavComponent {
|
|
|
13925
14202
|
/** An Open App draws as part of the host: the host's logo, no apps button. */
|
|
13926
14203
|
protected activeAppOpen: import("@angular/core").Signal<boolean>;
|
|
13927
14204
|
protected logoPending: import("@angular/core").Signal<boolean>;
|
|
14205
|
+
/**
|
|
14206
|
+
* A WC app's AppLogo is drawn from its Store identity (nx ADR 0007) — its
|
|
14207
|
+
* first letter until the identity arrives or while it has no LogoGlyph. The
|
|
14208
|
+
* host, which is not a Store App, keeps its file-based AppLogo.
|
|
14209
|
+
*/
|
|
13928
14210
|
protected logo: import("@angular/core").Signal<{
|
|
13929
|
-
src: string;
|
|
13930
|
-
alt: string;
|
|
13931
14211
|
app: string;
|
|
13932
|
-
} | {
|
|
13933
|
-
src: string;
|
|
13934
14212
|
alt: string;
|
|
14213
|
+
glyph: string | null;
|
|
14214
|
+
color: string | null;
|
|
14215
|
+
src: undefined;
|
|
14216
|
+
} | {
|
|
13935
14217
|
app: undefined;
|
|
14218
|
+
alt: string;
|
|
14219
|
+
glyph: null;
|
|
14220
|
+
color: null;
|
|
14221
|
+
src: string;
|
|
13936
14222
|
} | undefined>;
|
|
13937
14223
|
/**
|
|
13938
14224
|
* The App Rail below the AppLogo (GLOSSARY.md App Rail): the Main Slot's App,
|
|
@@ -13943,8 +14229,8 @@ export declare class NavComponent {
|
|
|
13943
14229
|
key: string;
|
|
13944
14230
|
appNavId: string;
|
|
13945
14231
|
pending: boolean;
|
|
13946
|
-
|
|
13947
|
-
|
|
14232
|
+
glyph: string | null;
|
|
14233
|
+
color: string | null;
|
|
13948
14234
|
alt: string;
|
|
13949
14235
|
active: boolean;
|
|
13950
14236
|
}[]>;
|
|
@@ -14025,6 +14311,7 @@ export declare class NavDetailsComponent {
|
|
|
14025
14311
|
remoteWidgets: import("@angular/core").Signal<Record<string, NavWidgetRegistryEntry>>;
|
|
14026
14312
|
navMap: import("@angular/core").Signal<import("@magmonium/one").NavMap>;
|
|
14027
14313
|
wcConfigMap: import("@angular/core").Signal<Record<string, import("dist/libs/cli/src").WebComponentConfig>>;
|
|
14314
|
+
identityMap: import("@angular/core").Signal<Record<string, import("@magmonium/one").AppIdentity>>;
|
|
14028
14315
|
navLoading: import("@angular/core").Signal<boolean>;
|
|
14029
14316
|
visibilityAnswers: import("@angular/core").Signal<Record<string, boolean>>;
|
|
14030
14317
|
navigationEnd: import("@angular/core").Signal<import("@angular/router").RouterStateSnapshot>;
|
|
@@ -14059,6 +14346,10 @@ export declare class NavDetailsComponent {
|
|
|
14059
14346
|
navMenus: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail[]>;
|
|
14060
14347
|
navHasContent: import("@angular/core").Signal<boolean>;
|
|
14061
14348
|
currentWcConfig: import("@angular/core").Signal<import("dist/libs/cli/src").WebComponentConfig | undefined>;
|
|
14349
|
+
currentIdentity: import("@angular/core").Signal<import("@magmonium/one").AppIdentity | undefined>;
|
|
14350
|
+
appLogoLink: import("@angular/core").Signal<string | undefined>;
|
|
14351
|
+
appLogo: import("@angular/core").Signal<import("@magmonium/one").AppLogoSource | undefined>;
|
|
14352
|
+
appLogos: import("@angular/core").Signal<Record<string, import("@magmonium/one").AppLogoSource>>;
|
|
14062
14353
|
activeAppOpen: import("@angular/core").Signal<boolean>;
|
|
14063
14354
|
transparentNavIds: import("@angular/core").Signal<ReadonlySet<string>>;
|
|
14064
14355
|
resolvedNavMenuConfig: import("@angular/core").Signal<import("@magmonium/one").NavMenuConfig | null>;
|
|
@@ -14105,6 +14396,8 @@ export declare class NavDetailsComponent {
|
|
|
14105
14396
|
mountOf: (navId: string) => import("@magmonium/one").RemoteMount | undefined;
|
|
14106
14397
|
setWcConfig: (appLink: string, config: import("dist/libs/cli/src").WebComponentConfig) => void;
|
|
14107
14398
|
loadWcConfig: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
14399
|
+
setIdentity: (identity: import("@magmonium/one").AppIdentity) => void;
|
|
14400
|
+
loadIdentity: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
14108
14401
|
loadNav: import("@ngrx/signals/rxjs-interop").RxMethod<{
|
|
14109
14402
|
navId: string;
|
|
14110
14403
|
appNavId: string | undefined;
|
|
@@ -14150,6 +14443,7 @@ export declare class NavDetailsComponent {
|
|
|
14150
14443
|
remoteWidgets: Record<string, NavWidgetRegistryEntry>;
|
|
14151
14444
|
navMap: import("@magmonium/one").NavMap;
|
|
14152
14445
|
wcConfigMap: Record<string, import("dist/libs/cli/src").WebComponentConfig>;
|
|
14446
|
+
identityMap: Record<string, import("@magmonium/one").AppIdentity>;
|
|
14153
14447
|
navLoading: boolean;
|
|
14154
14448
|
visibilityAnswers: Record<string, boolean>;
|
|
14155
14449
|
}>;
|
|
@@ -14278,6 +14572,7 @@ export declare class NavHeaderComponent {
|
|
|
14278
14572
|
remoteWidgets: import("@angular/core").Signal<Record<string, NavWidgetRegistryEntry>>;
|
|
14279
14573
|
navMap: import("@angular/core").Signal<import("@magmonium/one").NavMap>;
|
|
14280
14574
|
wcConfigMap: import("@angular/core").Signal<Record<string, import("dist/libs/cli/src").WebComponentConfig>>;
|
|
14575
|
+
identityMap: import("@angular/core").Signal<Record<string, import("@magmonium/one").AppIdentity>>;
|
|
14281
14576
|
navLoading: import("@angular/core").Signal<boolean>;
|
|
14282
14577
|
visibilityAnswers: import("@angular/core").Signal<Record<string, boolean>>;
|
|
14283
14578
|
navigationEnd: import("@angular/core").Signal<import("@angular/router").RouterStateSnapshot>;
|
|
@@ -14312,6 +14607,10 @@ export declare class NavHeaderComponent {
|
|
|
14312
14607
|
navMenus: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail[]>;
|
|
14313
14608
|
navHasContent: import("@angular/core").Signal<boolean>;
|
|
14314
14609
|
currentWcConfig: import("@angular/core").Signal<import("dist/libs/cli/src").WebComponentConfig | undefined>;
|
|
14610
|
+
currentIdentity: import("@angular/core").Signal<import("@magmonium/one").AppIdentity | undefined>;
|
|
14611
|
+
appLogoLink: import("@angular/core").Signal<string | undefined>;
|
|
14612
|
+
appLogo: import("@angular/core").Signal<import("@magmonium/one").AppLogoSource | undefined>;
|
|
14613
|
+
appLogos: import("@angular/core").Signal<Record<string, import("@magmonium/one").AppLogoSource>>;
|
|
14315
14614
|
activeAppOpen: import("@angular/core").Signal<boolean>;
|
|
14316
14615
|
transparentNavIds: import("@angular/core").Signal<ReadonlySet<string>>;
|
|
14317
14616
|
resolvedNavMenuConfig: import("@angular/core").Signal<import("@magmonium/one").NavMenuConfig | null>;
|
|
@@ -14358,6 +14657,8 @@ export declare class NavHeaderComponent {
|
|
|
14358
14657
|
mountOf: (navId: string) => import("@magmonium/one").RemoteMount | undefined;
|
|
14359
14658
|
setWcConfig: (appLink: string, config: import("dist/libs/cli/src").WebComponentConfig) => void;
|
|
14360
14659
|
loadWcConfig: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
14660
|
+
setIdentity: (identity: import("@magmonium/one").AppIdentity) => void;
|
|
14661
|
+
loadIdentity: import("@ngrx/signals/rxjs-interop").RxMethod<string | undefined>;
|
|
14361
14662
|
loadNav: import("@ngrx/signals/rxjs-interop").RxMethod<{
|
|
14362
14663
|
navId: string;
|
|
14363
14664
|
appNavId: string | undefined;
|
|
@@ -14403,6 +14704,7 @@ export declare class NavHeaderComponent {
|
|
|
14403
14704
|
remoteWidgets: Record<string, NavWidgetRegistryEntry>;
|
|
14404
14705
|
navMap: import("@magmonium/one").NavMap;
|
|
14405
14706
|
wcConfigMap: Record<string, import("dist/libs/cli/src").WebComponentConfig>;
|
|
14707
|
+
identityMap: Record<string, import("@magmonium/one").AppIdentity>;
|
|
14406
14708
|
navLoading: boolean;
|
|
14407
14709
|
visibilityAnswers: Record<string, boolean>;
|
|
14408
14710
|
}>;
|
|
@@ -15300,7 +15602,7 @@ type AvatarUser = {
|
|
|
15300
15602
|
};
|
|
15301
15603
|
export declare class UserAvatarComponent {
|
|
15302
15604
|
user: import("@angular/core").InputSignal<AvatarUser | null | undefined>;
|
|
15303
|
-
variant: import("@angular/core").InputSignal<"
|
|
15605
|
+
variant: import("@angular/core").InputSignal<"square" | "rounded">;
|
|
15304
15606
|
protected readonly name: import("@angular/core").Signal<string>;
|
|
15305
15607
|
protected readonly abbr: import("@angular/core").Signal<string>;
|
|
15306
15608
|
protected readonly profilePic: import("@angular/core").Signal<string | undefined>;
|
|
@@ -15722,8 +16024,11 @@ export declare function settingsWidgets(): Record<string, NavWidgetEntry>;
|
|
|
15722
16024
|
interface AppTileData {
|
|
15723
16025
|
id: string;
|
|
15724
16026
|
name: string;
|
|
16027
|
+
/** An icon name, for a tile that is not an app; an app draws its AppLogo. */
|
|
15725
16028
|
icon?: string;
|
|
15726
|
-
|
|
16029
|
+
/** The Store App's LogoGlyph and App Color (nx ADR 0007). */
|
|
16030
|
+
logoGlyph?: string | null;
|
|
16031
|
+
appColor?: string | null;
|
|
15727
16032
|
link: string;
|
|
15728
16033
|
isDraft: boolean;
|
|
15729
16034
|
}
|
|
@@ -15734,10 +16039,7 @@ export declare class AppTileComponent {
|
|
|
15734
16039
|
readonly openApp: import("@angular/core").OutputEmitterRef<AppTileData>;
|
|
15735
16040
|
readonly clearAll: import("@angular/core").OutputEmitterRef<void>;
|
|
15736
16041
|
protected readonly expanded: import("@angular/core").WritableSignal<boolean>;
|
|
15737
|
-
protected readonly fallback = "apps";
|
|
15738
16042
|
protected readonly icon: import("@angular/core").Signal<string | undefined>;
|
|
15739
|
-
protected readonly remote: import("@angular/core").Signal<string | undefined>;
|
|
15740
|
-
protected readonly isUrl: import("@angular/core").Signal<boolean>;
|
|
15741
16043
|
protected readonly notificationCount: import("@angular/core").Signal<number>;
|
|
15742
16044
|
protected readonly expandOrNavigate: (_event: Event) => void;
|
|
15743
16045
|
protected readonly handleAction: (button: Button | undefined) => void;
|