@magmonium/one 0.4.40 → 0.4.42
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-base-dropdown-DU4B4w7c.mjs → magmonium-one-base-dropdown-CcZ0lBQv.mjs} +3 -3
- package/fesm2022/{magmonium-one-base-dropdown-DU4B4w7c.mjs.map → magmonium-one-base-dropdown-CcZ0lBQv.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-button-BWB3ZKIj.mjs → magmonium-one-button-BZQOf-Pm.mjs} +6 -4
- package/fesm2022/{magmonium-one-button-BWB3ZKIj.mjs.map → magmonium-one-button-BZQOf-Pm.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-group-m41SX_fL.mjs → magmonium-one-group-Dl2bp-y-.mjs} +4 -4
- package/fesm2022/{magmonium-one-group-m41SX_fL.mjs.map → magmonium-one-group-Dl2bp-y-.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-header-D8CB9CBJ.mjs → magmonium-one-header-DhK9NuZW.mjs} +5 -4
- package/fesm2022/{magmonium-one-header-D8CB9CBJ.mjs.map → magmonium-one-header-DhK9NuZW.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-icon-BTPHGpEN.mjs → magmonium-one-icon-BgbtOdMv.mjs} +229 -6
- package/fesm2022/magmonium-one-icon-BgbtOdMv.mjs.map +1 -0
- package/fesm2022/{magmonium-one-image-editor-Dn0ACfH0.mjs → magmonium-one-image-editor-oGxg59hV.mjs} +3 -3
- package/fesm2022/{magmonium-one-image-editor-Dn0ACfH0.mjs.map → magmonium-one-image-editor-oGxg59hV.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-menu-EIfPlZ4E.mjs → magmonium-one-menu-bI7lVUYI.mjs} +5 -4
- package/fesm2022/{magmonium-one-menu-EIfPlZ4E.mjs.map → magmonium-one-menu-bI7lVUYI.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-BjqYmT1s.mjs → magmonium-one-password-BIs_YxJ5.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-BjqYmT1s.mjs.map → magmonium-one-password-BIs_YxJ5.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-text-BL-1lWST.mjs → magmonium-one-text-BvXdAX0i.mjs} +4 -3
- package/fesm2022/{magmonium-one-text-BL-1lWST.mjs.map → magmonium-one-text-BvXdAX0i.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +627 -144
- package/fesm2022/magmonium-one.mjs.map +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +283 -31
- package/fesm2022/magmonium-one-icon-BTPHGpEN.mjs.map +0 -1
|
@@ -6,21 +6,21 @@ import { a as calculateLuminance, c as hexToRgb, d as derivePropertyName, f as g
|
|
|
6
6
|
import "./magmonium-one-theme-CT4cWpe7.mjs";
|
|
7
7
|
import { a as sectionTableColumnWidths, c as AssetUrlPipe, d as MoneyPipe, f as TimeAgoPipe, i as sectionTableColumnId, l as CompactNumberPipe, n as SectionTableSortPipe, o as sectionTableFrozenCount, r as nextSectionTableSort, s as sortSectionTableRows, t as LabelComponent, u as PercentagePipe } from "./magmonium-one-label-DjvJthAB.mjs";
|
|
8
8
|
import { i as getScrollParent, n as activeElementWithin, r as classListSignal, t as BaseTextInputComponent } from "./magmonium-one-base-text-BCSqKmVs.mjs";
|
|
9
|
-
import { a as injectParentSize, i as
|
|
9
|
+
import { a as appLogoShadowColor, c as normalizeAppColor, d as SIZE_CONTEXT, f as injectParentSize, g as AppLogoState, h as APP_LOGO_SOURCE, i as LOGO_GLYPH_MAX_BYTES, l as rebuildLogoGlyph, m as SHARED_ICONS, n as CustomIconClass, o as isLightAppColor, p as provideSizeContext, r as IconComponent, s as logoGlyphMaskUrl, t as CustomIconEditComponent, u as APP_LOGO_ICON } from "./magmonium-one-icon-BgbtOdMv.mjs";
|
|
10
10
|
import { i as resolveConfigAsset, n as toAttrNumber, r as ConfigComponent, t as toAttrBool } from "./magmonium-one-attribute-value-DCTXt4Sr.mjs";
|
|
11
|
-
import { a as isButtonName, c as formatBadgeCount, l as shouldShowBadge, n as SECTION_FORM_CONTEXT, o as ReactiveElementComponent, r as ImgComponent, s as BadgeComponent, t as ButtonComponent } from "./magmonium-one-button-
|
|
11
|
+
import { a as isButtonName, c as formatBadgeCount, l as shouldShowBadge, n as SECTION_FORM_CONTEXT, o as ReactiveElementComponent, r as ImgComponent, s as BadgeComponent, t as ButtonComponent } from "./magmonium-one-button-BZQOf-Pm.mjs";
|
|
12
12
|
import { t as MRefDirective } from "./magmonium-one-m-ref-C8c4Vf1G.mjs";
|
|
13
|
-
import { t as HeaderComponent } from "./magmonium-one-header-
|
|
13
|
+
import { t as HeaderComponent } from "./magmonium-one-header-DhK9NuZW.mjs";
|
|
14
14
|
import { t as TextOutputComponent } from "./magmonium-one-text-output-Ci93Hi9Y.mjs";
|
|
15
15
|
import { t as BaseInputComponent } from "./magmonium-one-base-input-BTxhUtYO.mjs";
|
|
16
16
|
import { a as stringToColor, c as ToolTipDirective, d as DragListItemDirective, f as DragListDirective, i as MHeroColorDirective, l as FileUploadDirective, n as PaddingDirective, o as HighlightDirective, p as DraggableDirective, r as SPACING_INWARD, s as PositionDirective, t as MarginDirective, u as AutosizeDirective } from "./magmonium-one-directives-DePukAj8.mjs";
|
|
17
|
-
import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-
|
|
17
|
+
import { n as DROPDOWN_IMPORTS, r as DROPDOWN_TEMPLATE, t as BaseDropdownComponent } from "./magmonium-one-base-dropdown-CcZ0lBQv.mjs";
|
|
18
18
|
import { t as InputType } from "./magmonium-one-input-DqHPorA1.mjs";
|
|
19
|
-
import { t as TextInputComponent } from "./magmonium-one-text-
|
|
19
|
+
import { t as TextInputComponent } from "./magmonium-one-text-BvXdAX0i.mjs";
|
|
20
20
|
import { i as OptionsSourceDirective, n as normalizeAssetOptions, r as presetDefaultOption, t as assetOptions } from "./magmonium-one-options-asset-EVsv0DL7.mjs";
|
|
21
21
|
import { r as PLACED_CHECKBOX, t as CheckboxInputComponent } from "./magmonium-one-checkbox-D5-5WhJ-.mjs";
|
|
22
|
-
import { i as mergeUniqueWith, n as mergeUnique, r as mergeUniqueBy, t as ButtonGroupComponent } from "./magmonium-one-group-
|
|
23
|
-
import { n as ContextMenuBoxComponent, r as MenuComponent, t as ContextMenuComponent } from "./magmonium-one-menu-
|
|
22
|
+
import { i as mergeUniqueWith, n as mergeUnique, r as mergeUniqueBy, t as ButtonGroupComponent } from "./magmonium-one-group-Dl2bp-y-.mjs";
|
|
23
|
+
import { n as ContextMenuBoxComponent, r as MenuComponent, t as ContextMenuComponent } from "./magmonium-one-menu-bI7lVUYI.mjs";
|
|
24
24
|
import { t as BaseCheckboxInputComponent } from "./magmonium-one-base-checkbox-BNQAkyYU.mjs";
|
|
25
25
|
import { t as RadioInputComponent } from "./magmonium-one-radio-C2wOB_Nb.mjs";
|
|
26
26
|
import { r as BaseArrayInputComponent, t as MultiRangeInputComponent } from "./magmonium-one-multi-range-o57TiVJU.mjs";
|
|
@@ -29,7 +29,7 @@ import { o as isEditableImage, s as outputSize } from "./magmonium-one-image-fra
|
|
|
29
29
|
import * as i0 from "@angular/core";
|
|
30
30
|
import { ApplicationRef, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DOCUMENT, DestroyRef, Directive, ElementRef, EventEmitter, HostAttributeToken, HostBinding, HostListener, Injectable, InjectionToken, Injector, Input, Output, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation, afterEveryRender, afterNextRender, afterRenderEffect, computed, contentChild, contentChildren, createComponent, effect, forwardRef, inject, input, inputBinding, linkedSignal, makeEnvironmentProviders, model, numberAttribute, output, outputBinding, provideAppInitializer, provideBrowserGlobalErrorListeners, provideZonelessChangeDetection, reflectComponentType, runInInjectionContext, signal, twoWayBinding, untracked, viewChild, viewChildren } from "@angular/core";
|
|
31
31
|
import { HttpErrorResponse, provideHttpClient, withFetch, withInterceptors } from "@angular/common/http";
|
|
32
|
-
import { EMPTY, Observable, Subject, catchError, combineLatest, filter, finalize, firstValueFrom, forkJoin, from, fromEvent, map, of, pipe, race, shareReplay, startWith, switchMap, take, tap, throwError } from "rxjs";
|
|
32
|
+
import { EMPTY, Observable, Subject, catchError, combineLatest, filter, finalize, firstValueFrom, forkJoin, from, fromEvent, map, mergeMap, of, pipe, race, shareReplay, startWith, switchMap, take, tap, throwError } from "rxjs";
|
|
33
33
|
import { rxResource, takeUntilDestroyed, toObservable, toSignal } from "@angular/core/rxjs-interop";
|
|
34
34
|
import { patchState, signalStore, withComputed, withHooks, withMethods, withProps, withState } from "@ngrx/signals";
|
|
35
35
|
import { rxMethod } from "@ngrx/signals/rxjs-interop";
|
|
@@ -565,6 +565,48 @@ const NotificationStore = signalStore({ providedIn: "root" }, withState(initialN
|
|
|
565
565
|
else store.notify(notification);
|
|
566
566
|
});
|
|
567
567
|
} })));
|
|
568
|
+
var AppIdentityService = class AppIdentityService {
|
|
569
|
+
#http = inject(HttpService);
|
|
570
|
+
#cache = /* @__PURE__ */ new Map();
|
|
571
|
+
identity = (link) => {
|
|
572
|
+
const held = this.#cache.get(link);
|
|
573
|
+
if (held) return held;
|
|
574
|
+
const read = this.#http.get("store", ["identity", link]).pipe(map((identity) => identity), catchError(() => {
|
|
575
|
+
this.#cache.delete(link);
|
|
576
|
+
return of(void 0);
|
|
577
|
+
}), shareReplay(1));
|
|
578
|
+
this.#cache.set(link, read);
|
|
579
|
+
return read;
|
|
580
|
+
};
|
|
581
|
+
forget = (link) => {
|
|
582
|
+
this.#cache.delete(link);
|
|
583
|
+
};
|
|
584
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
585
|
+
minVersion: "12.0.0",
|
|
586
|
+
version: "22.2.1",
|
|
587
|
+
ngImport: i0,
|
|
588
|
+
type: AppIdentityService,
|
|
589
|
+
deps: [],
|
|
590
|
+
target: i0.ɵɵFactoryTarget.Injectable
|
|
591
|
+
});
|
|
592
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
593
|
+
minVersion: "12.0.0",
|
|
594
|
+
version: "22.2.1",
|
|
595
|
+
ngImport: i0,
|
|
596
|
+
type: AppIdentityService,
|
|
597
|
+
providedIn: "root"
|
|
598
|
+
});
|
|
599
|
+
};
|
|
600
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
601
|
+
minVersion: "12.0.0",
|
|
602
|
+
version: "22.2.1",
|
|
603
|
+
ngImport: i0,
|
|
604
|
+
type: AppIdentityService,
|
|
605
|
+
decorators: [{
|
|
606
|
+
type: Injectable,
|
|
607
|
+
args: [{ providedIn: "root" }]
|
|
608
|
+
}]
|
|
609
|
+
});
|
|
568
610
|
const DEFAULT_NAV_PARAM = "id";
|
|
569
611
|
const navParamOf = (nav) => nav?.param ?? "id";
|
|
570
612
|
const ROOT_NAV = "root";
|
|
@@ -1169,6 +1211,7 @@ const initialState$3 = {
|
|
|
1169
1211
|
remoteWidgets: {},
|
|
1170
1212
|
navMap: createPlatformNavMap(),
|
|
1171
1213
|
wcConfigMap: {},
|
|
1214
|
+
identityMap: {},
|
|
1172
1215
|
navLoading: false
|
|
1173
1216
|
};
|
|
1174
1217
|
const routeNavIdOf = (root) => {
|
|
@@ -1276,7 +1319,7 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1276
1319
|
const navMap = store.navMap();
|
|
1277
1320
|
const listed = menuMounts();
|
|
1278
1321
|
if (!listed.length) return navMap;
|
|
1279
|
-
const
|
|
1322
|
+
const identities = store.identityMap();
|
|
1280
1323
|
const parentOf = ({ appNavId, urlMode }) => {
|
|
1281
1324
|
const host = parentNavId(appNavId);
|
|
1282
1325
|
return urlMode === "tail" && host && navMap[host] ? host : ROOT_NAV;
|
|
@@ -1284,7 +1327,7 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1284
1327
|
const extra = listed.map((mount) => {
|
|
1285
1328
|
const { name, appNavId, link } = mount;
|
|
1286
1329
|
const fetched = navMap[appNavId];
|
|
1287
|
-
const
|
|
1330
|
+
const identity = link ? identities[link] : void 0;
|
|
1288
1331
|
return {
|
|
1289
1332
|
node: {
|
|
1290
1333
|
...fetched ?? {
|
|
@@ -1292,8 +1335,7 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1292
1335
|
presentation: "static"
|
|
1293
1336
|
},
|
|
1294
1337
|
navId: appNavId,
|
|
1295
|
-
title:
|
|
1296
|
-
...config?.logo ? { logo: config.logo } : {}
|
|
1338
|
+
title: identity?.name ?? fetched?.title ?? name
|
|
1297
1339
|
},
|
|
1298
1340
|
parent: parentOf(mount)
|
|
1299
1341
|
};
|
|
@@ -1498,6 +1540,25 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1498
1540
|
}, ...ngDevMode ? [{ debugName: "activeWcConfig" }] : /* istanbul ignore next */ []);
|
|
1499
1541
|
const activeAppOpen = computed(() => !!activeWcConfig()?.open, ...ngDevMode ? [{ debugName: "activeAppOpen" }] : /* istanbul ignore next */ []);
|
|
1500
1542
|
const currentWcConfig = computed(() => activeAppOpen() ? void 0 : activeWcConfig(), ...ngDevMode ? [{ debugName: "currentWcConfig" }] : /* istanbul ignore next */ []);
|
|
1543
|
+
const currentIdentity = computed(() => {
|
|
1544
|
+
const appLink = store.appLink();
|
|
1545
|
+
return appLink && !activeAppOpen() ? store.identityMap()[appLink] : void 0;
|
|
1546
|
+
}, ...ngDevMode ? [{ debugName: "currentIdentity" }] : /* istanbul ignore next */ []);
|
|
1547
|
+
const appLogo = computed(() => {
|
|
1548
|
+
const appLink = store.appLink();
|
|
1549
|
+
if (appLink && !activeAppOpen()) {
|
|
1550
|
+
const identity = store.identityMap()[appLink];
|
|
1551
|
+
return {
|
|
1552
|
+
glyph: identity?.logoGlyph ?? null,
|
|
1553
|
+
name: identity?.name ?? appLink
|
|
1554
|
+
};
|
|
1555
|
+
}
|
|
1556
|
+
const root = store.navMap()[ROOT_NAV];
|
|
1557
|
+
return root ? {
|
|
1558
|
+
src: root.logo,
|
|
1559
|
+
name: root.title
|
|
1560
|
+
} : void 0;
|
|
1561
|
+
}, ...ngDevMode ? [{ debugName: "appLogo" }] : /* istanbul ignore next */ []);
|
|
1501
1562
|
const answeringNavId = (candidates, hit) => {
|
|
1502
1563
|
if (hit) return hit.navId;
|
|
1503
1564
|
const map = store.navMap();
|
|
@@ -1562,6 +1623,8 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1562
1623
|
return false;
|
|
1563
1624
|
}, ...ngDevMode ? [{ debugName: "navHasContent" }] : /* istanbul ignore next */ []),
|
|
1564
1625
|
currentWcConfig,
|
|
1626
|
+
currentIdentity,
|
|
1627
|
+
appLogo,
|
|
1565
1628
|
activeAppOpen,
|
|
1566
1629
|
transparentNavIds,
|
|
1567
1630
|
resolvedNavMenuConfig,
|
|
@@ -1572,6 +1635,7 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1572
1635
|
};
|
|
1573
1636
|
}), withMethods((store) => {
|
|
1574
1637
|
const getNavService = inject(GetNavService);
|
|
1638
|
+
const appIdentityService = inject(AppIdentityService);
|
|
1575
1639
|
const localDefaultNavId = inject(NAV_DEFAULT_MURL, { optional: true });
|
|
1576
1640
|
const appBaseHref = inject(APP_BASE_HREF, { optional: true }) ?? "/";
|
|
1577
1641
|
const location = inject(Location);
|
|
@@ -1755,6 +1819,15 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1755
1819
|
} }));
|
|
1756
1820
|
};
|
|
1757
1821
|
const loadWcConfig = rxMethod(pipe(filter((appLink) => !!appLink), filter((appLink) => !untracked(() => !!store.wcConfigMap()[appLink])), switchMap((appLink) => getNavService.loadWcConfig(appLink).pipe(tap((config) => untracked(() => setWcConfig(appLink, config)))))));
|
|
1822
|
+
const setIdentity = (identity) => {
|
|
1823
|
+
patchState(store, (state) => ({ identityMap: {
|
|
1824
|
+
...state.identityMap,
|
|
1825
|
+
[identity.link]: identity
|
|
1826
|
+
} }));
|
|
1827
|
+
};
|
|
1828
|
+
const loadIdentity = rxMethod(pipe(filter((appLink) => !!appLink), filter((appLink) => !untracked(() => !!store.identityMap()[appLink])), mergeMap((appLink) => appIdentityService.identity(appLink).pipe(tap((identity) => {
|
|
1829
|
+
if (identity) untracked(() => setIdentity(identity));
|
|
1830
|
+
})))));
|
|
1758
1831
|
const setAppLink = (appLink, appNavId) => {
|
|
1759
1832
|
patchState(store, {
|
|
1760
1833
|
appLink,
|
|
@@ -1762,6 +1835,7 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1762
1835
|
});
|
|
1763
1836
|
settleRoute();
|
|
1764
1837
|
loadWcConfig(appLink);
|
|
1838
|
+
loadIdentity(appLink);
|
|
1765
1839
|
};
|
|
1766
1840
|
const registerMount = (mount) => {
|
|
1767
1841
|
const previous = untracked(() => store.mounts())[mount.name];
|
|
@@ -1777,6 +1851,7 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1777
1851
|
settleRoute();
|
|
1778
1852
|
translateService.mountRemoteApp(mount.link);
|
|
1779
1853
|
loadWcConfig(mount.link);
|
|
1854
|
+
loadIdentity(mount.link);
|
|
1780
1855
|
const standsOn = untracked(() => store.hostRoute()).navId === mount.appNavId;
|
|
1781
1856
|
if (mount.createMenu || stale.length || standsOn) loadMountNav(mount);
|
|
1782
1857
|
};
|
|
@@ -1879,6 +1954,8 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1879
1954
|
mountOf,
|
|
1880
1955
|
setWcConfig,
|
|
1881
1956
|
loadWcConfig,
|
|
1957
|
+
setIdentity,
|
|
1958
|
+
loadIdentity,
|
|
1882
1959
|
loadNav,
|
|
1883
1960
|
registerWidgets,
|
|
1884
1961
|
back,
|
|
@@ -1891,8 +1968,10 @@ const NavStore = signalStore({ providedIn: "root" }, withState(initialState$3),
|
|
|
1891
1968
|
navIdChain
|
|
1892
1969
|
};
|
|
1893
1970
|
}), withHooks((store) => {
|
|
1971
|
+
const appLogoState = inject(AppLogoState);
|
|
1894
1972
|
return { onInit() {
|
|
1895
1973
|
store.syncFromRouter(store.navigationEnd);
|
|
1974
|
+
effect(() => appLogoState.set(store.appLogo()));
|
|
1896
1975
|
const loadedFor = /* @__PURE__ */ new Set();
|
|
1897
1976
|
effect(() => {
|
|
1898
1977
|
const loaders = store.visibilityLoaders();
|
|
@@ -3002,7 +3081,8 @@ var ConfirmComponent = class ConfirmComponent {
|
|
|
3002
3081
|
"size",
|
|
3003
3082
|
"one",
|
|
3004
3083
|
"baseUrl",
|
|
3005
|
-
"remote"
|
|
3084
|
+
"remote",
|
|
3085
|
+
"shadow"
|
|
3006
3086
|
],
|
|
3007
3087
|
outputs: ["configChange"]
|
|
3008
3088
|
},
|
|
@@ -4091,7 +4171,7 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
|
|
|
4091
4171
|
break;
|
|
4092
4172
|
}
|
|
4093
4173
|
case InputType.PASSWORD: {
|
|
4094
|
-
const { PasswordInputComponent } = await import("./magmonium-one-password-
|
|
4174
|
+
const { PasswordInputComponent } = await import("./magmonium-one-password-BIs_YxJ5.mjs");
|
|
4095
4175
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
4096
4176
|
break;
|
|
4097
4177
|
}
|
|
@@ -4177,7 +4257,7 @@ var SectionFormItemComponent = class SectionFormItemComponent extends ConfigComp
|
|
|
4177
4257
|
break;
|
|
4178
4258
|
}
|
|
4179
4259
|
default: {
|
|
4180
|
-
const { TextInputComponent } = await import("./magmonium-one-text-
|
|
4260
|
+
const { TextInputComponent } = await import("./magmonium-one-text-BvXdAX0i.mjs").then((n) => n.n);
|
|
4181
4261
|
this.createDynamicComponent(seq, TextInputComponent);
|
|
4182
4262
|
break;
|
|
4183
4263
|
}
|
|
@@ -6547,7 +6627,8 @@ var SectionBackComponent = class SectionBackComponent {
|
|
|
6547
6627
|
"size",
|
|
6548
6628
|
"one",
|
|
6549
6629
|
"baseUrl",
|
|
6550
|
-
"remote"
|
|
6630
|
+
"remote",
|
|
6631
|
+
"shadow"
|
|
6551
6632
|
],
|
|
6552
6633
|
outputs: ["configChange"]
|
|
6553
6634
|
},
|
|
@@ -6991,7 +7072,8 @@ var ActionComponent = class ActionComponent extends ButtonGroupComponent {
|
|
|
6991
7072
|
"size",
|
|
6992
7073
|
"one",
|
|
6993
7074
|
"baseUrl",
|
|
6994
|
-
"remote"
|
|
7075
|
+
"remote",
|
|
7076
|
+
"shadow"
|
|
6995
7077
|
],
|
|
6996
7078
|
outputs: ["configChange"]
|
|
6997
7079
|
},
|
|
@@ -7351,7 +7433,8 @@ var ClearableInputComponent = class ClearableInputComponent extends BaseTextInpu
|
|
|
7351
7433
|
"size",
|
|
7352
7434
|
"one",
|
|
7353
7435
|
"baseUrl",
|
|
7354
|
-
"remote"
|
|
7436
|
+
"remote",
|
|
7437
|
+
"shadow"
|
|
7355
7438
|
],
|
|
7356
7439
|
outputs: ["configChange"]
|
|
7357
7440
|
},
|
|
@@ -9527,7 +9610,8 @@ var SectionFilterMenuComponent = class SectionFilterMenuComponent {
|
|
|
9527
9610
|
"size",
|
|
9528
9611
|
"one",
|
|
9529
9612
|
"baseUrl",
|
|
9530
|
-
"remote"
|
|
9613
|
+
"remote",
|
|
9614
|
+
"shadow"
|
|
9531
9615
|
],
|
|
9532
9616
|
outputs: ["configChange"]
|
|
9533
9617
|
},
|
|
@@ -14577,7 +14661,8 @@ var AuthActivityPageComponent = class AuthActivityPageComponent {
|
|
|
14577
14661
|
"size",
|
|
14578
14662
|
"one",
|
|
14579
14663
|
"baseUrl",
|
|
14580
|
-
"remote"
|
|
14664
|
+
"remote",
|
|
14665
|
+
"shadow"
|
|
14581
14666
|
],
|
|
14582
14667
|
outputs: ["configChange"]
|
|
14583
14668
|
},
|
|
@@ -16724,7 +16809,7 @@ var SectionHeaderComponent = class SectionHeaderComponent {
|
|
|
16724
16809
|
},
|
|
16725
16810
|
ngImport: i0,
|
|
16726
16811
|
template: "<!-- One declaration of the row, rendered by whichever branch `spacing` picks.\n Hoisted into a template rather than written twice: an `<ng-content>` may\n appear once per selector in a component, so the duplicated copy caught\n nothing and a header projecting a title rendered it in the `spacing`\n branch alone. -->\n<ng-template #body>\n @if (accordion(); as accordionRef) {\n <div\n class=\"section-header__toggle\"\n [class.section-header__toggle--rotate]=\"toggleRotates()\"\n [class.section-header__toggle--open]=\"accordionRef.isOpen()\"\n [id]=\"accordionRef.headerId\"\n [attr.aria-expanded]=\"accordionRef.isOpen()\"\n [attr.aria-controls]=\"accordionRef.bodyId\"\n >\n <m-button\n [config]=\"{ icon: toggleIconName(), iconOnly: true, variant: 'ghost' }\"\n (clicked)=\"onToggleClick()\" />\n </div>\n }\n @if (showBack()) {\n <div class=\"section-header__back\">\n <m-button\n [config]=\"{ icon: 'chevron-left', iconOnly: true }\"\n (clicked)=\"back.emit()\" />\n </div>\n } @else if (!label() && icon(); as iconName) {\n <!-- Only where no label is written. A header with one hands the icon to\n `m-header`, which draws it inside the heading's line box and so on the\n heading's own centre line. Beside a projected title there is no such\n box to borrow, so the glyph is boxed to the level's line box here and\n centred in it — otherwise it centres against the whole title column,\n which on the Canvas is the label slot's drop rect stacked above the\n heading. -->\n <div class=\"section-header__icon\">\n <m-icon [name]=\"iconName\" />\n </div>\n }\n <div\n class=\"section-header__title\"\n [class.section-header__title--reverse]=\"reverse()\"\n >\n <!-- The title slot is the catch-all rather than a `[label]` one: every\n header already projecting a heading writes it unselected, and a\n selector here would drop that content on the floor. What the design\n page emits — `<span label>` — is caught by it too, nothing else\n claiming the node. -->\n <ng-content />\n <!-- The written label, drawn beside the slot rather than as its\n `ng-content` fallback. A fallback renders only while *nothing* is\n projected, and the design Canvas always projects the slot span —\n empty until a Control is dropped in it — so a fallback there would\n blank the label a header is still configured with. `label` answers\n instead, which no header projecting a title sets. -->\n @if (label()) {\n <m-header\n [level]=\"level()\"\n [label]=\"label()\"\n [icon]=\"icon()\"\n [params]=\"params()\"\n [noTranslate]=\"noTranslate()\" />\n }\n @if (subText(); as sub) {\n <span class=\"section-header__sub\">{{ sub }}</span>\n }\n </div>\n <!-- A FilterGroup projected into the header row, selected by tag rather than\n by an attribute — the same shape a Section catches its `m-action` with.\n A header has room for one icon and not for a row, so a group landing\n here is squeezed by placement (ADR 0025); nothing here enforces that,\n the caller binding `[squeeze]` on the tag it projects. -->\n <div class=\"section-header__filters\">\n <ng-content select=\"m-section-filter-group\" />\n </div>\n @if (actionConfig(); as action) {\n <div class=\"section-header__action\">\n <m-button [config]=\"action\" (clicked)=\"actionClick.emit()\" />\n </div>\n }\n @if (hasMenu()) {\n <div class=\"section-header__menu\">\n <m-context-menu\n [config]=\"menu()\"\n [name]=\"menuName()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"action.emit($event)\"\n />\n </div>\n }\n</ng-template>\n\n<!-- Always the same two boxes, whether or not a `maxWidth` is in force. The\n border and the sticky backdrop live on the host and keep spanning the\n Section's full width; only this container narrows and is placed by the\n Section's `align`, so the heading lines up with the body under it. -->\n<div class=\"section-header__container\">\n <div class=\"section-header__inner\">\n <ng-container [ngTemplateOutlet]=\"body\" />\n </div>\n</div>\n",
|
|
16727
|
-
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10}:host(.is-sticky
|
|
16812
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:var(--m-section-header-sticky-top, 0);z-index:var(--m-section-header-sticky-z, 10)}:host(.is-sticky){background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}:host(.is-accordion){cursor:pointer}.section-header__toggle{display:flex;flex-shrink:0}.section-header__toggle.section-header__toggle--rotate m-button{display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-header__toggle.section-header__toggle--rotate.section-header__toggle--open m-button{transform:rotate(180deg)}.section-header__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}m-header{min-width:0}.section-header__title--reverse{flex-direction:column-reverse}.section-header__sub{font-size:.8rem;color:var(--m-text-secondary);line-height:1.2}:host(.align-center){--m-header-justify: center}:host(.align-right){--m-header-justify: flex-end}:host(.has-menu){padding-right:0}:host(.spacing.has-menu) .section-header__inner{padding-right:0}.section-header__filters{display:contents}.section-header__filters m-section-filter-group{width:auto;flex-shrink:0;border-bottom:none}.section-header__back{display:flex;align-items:center;flex-shrink:0}.section-header__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-start;height:var(--m-section-header-icon-box, 1.5125rem)}.section-header__menu,.section-header__action{margin-left:auto;flex-shrink:0;display:flex;align-items:center}.section-header__action+.section-header__menu{margin-left:0}\n"],
|
|
16728
16813
|
dependencies: [
|
|
16729
16814
|
{
|
|
16730
16815
|
kind: "directive",
|
|
@@ -16778,7 +16863,8 @@ var SectionHeaderComponent = class SectionHeaderComponent {
|
|
|
16778
16863
|
"size",
|
|
16779
16864
|
"one",
|
|
16780
16865
|
"baseUrl",
|
|
16781
|
-
"remote"
|
|
16866
|
+
"remote",
|
|
16867
|
+
"shadow"
|
|
16782
16868
|
],
|
|
16783
16869
|
outputs: ["configChange"]
|
|
16784
16870
|
},
|
|
@@ -16856,7 +16942,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
16856
16942
|
"(click)": "onHeaderClick($event)"
|
|
16857
16943
|
},
|
|
16858
16944
|
template: "<!-- One declaration of the row, rendered by whichever branch `spacing` picks.\n Hoisted into a template rather than written twice: an `<ng-content>` may\n appear once per selector in a component, so the duplicated copy caught\n nothing and a header projecting a title rendered it in the `spacing`\n branch alone. -->\n<ng-template #body>\n @if (accordion(); as accordionRef) {\n <div\n class=\"section-header__toggle\"\n [class.section-header__toggle--rotate]=\"toggleRotates()\"\n [class.section-header__toggle--open]=\"accordionRef.isOpen()\"\n [id]=\"accordionRef.headerId\"\n [attr.aria-expanded]=\"accordionRef.isOpen()\"\n [attr.aria-controls]=\"accordionRef.bodyId\"\n >\n <m-button\n [config]=\"{ icon: toggleIconName(), iconOnly: true, variant: 'ghost' }\"\n (clicked)=\"onToggleClick()\" />\n </div>\n }\n @if (showBack()) {\n <div class=\"section-header__back\">\n <m-button\n [config]=\"{ icon: 'chevron-left', iconOnly: true }\"\n (clicked)=\"back.emit()\" />\n </div>\n } @else if (!label() && icon(); as iconName) {\n <!-- Only where no label is written. A header with one hands the icon to\n `m-header`, which draws it inside the heading's line box and so on the\n heading's own centre line. Beside a projected title there is no such\n box to borrow, so the glyph is boxed to the level's line box here and\n centred in it — otherwise it centres against the whole title column,\n which on the Canvas is the label slot's drop rect stacked above the\n heading. -->\n <div class=\"section-header__icon\">\n <m-icon [name]=\"iconName\" />\n </div>\n }\n <div\n class=\"section-header__title\"\n [class.section-header__title--reverse]=\"reverse()\"\n >\n <!-- The title slot is the catch-all rather than a `[label]` one: every\n header already projecting a heading writes it unselected, and a\n selector here would drop that content on the floor. What the design\n page emits — `<span label>` — is caught by it too, nothing else\n claiming the node. -->\n <ng-content />\n <!-- The written label, drawn beside the slot rather than as its\n `ng-content` fallback. A fallback renders only while *nothing* is\n projected, and the design Canvas always projects the slot span —\n empty until a Control is dropped in it — so a fallback there would\n blank the label a header is still configured with. `label` answers\n instead, which no header projecting a title sets. -->\n @if (label()) {\n <m-header\n [level]=\"level()\"\n [label]=\"label()\"\n [icon]=\"icon()\"\n [params]=\"params()\"\n [noTranslate]=\"noTranslate()\" />\n }\n @if (subText(); as sub) {\n <span class=\"section-header__sub\">{{ sub }}</span>\n }\n </div>\n <!-- A FilterGroup projected into the header row, selected by tag rather than\n by an attribute — the same shape a Section catches its `m-action` with.\n A header has room for one icon and not for a row, so a group landing\n here is squeezed by placement (ADR 0025); nothing here enforces that,\n the caller binding `[squeeze]` on the tag it projects. -->\n <div class=\"section-header__filters\">\n <ng-content select=\"m-section-filter-group\" />\n </div>\n @if (actionConfig(); as action) {\n <div class=\"section-header__action\">\n <m-button [config]=\"action\" (clicked)=\"actionClick.emit()\" />\n </div>\n }\n @if (hasMenu()) {\n <div class=\"section-header__menu\">\n <m-context-menu\n [config]=\"menu()\"\n [name]=\"menuName()\"\n [visibilityRule]=\"visibilityRule()\"\n [disableRule]=\"disableRule()\"\n [extraData]=\"extraData()\"\n (action)=\"action.emit($event)\"\n />\n </div>\n }\n</ng-template>\n\n<!-- Always the same two boxes, whether or not a `maxWidth` is in force. The\n border and the sticky backdrop live on the host and keep spanning the\n Section's full width; only this container narrows and is placed by the\n Section's `align`, so the heading lines up with the body under it. -->\n<div class=\"section-header__container\">\n <div class=\"section-header__inner\">\n <ng-container [ngTemplateOutlet]=\"body\" />\n </div>\n</div>\n",
|
|
16859
|
-
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:0;z-index:10}:host(.is-sticky
|
|
16945
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:flex;align-items:center;gap:.5rem;min-height:var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));border-bottom:1px solid var(--m-backdrop-border);padding:var(--section-header-py, .85rem) var(--section-px, 1rem);width:100%;grid-column:1/-1}:host(.no-border){border-bottom:none}:host(.spacing){padding:0;width:100%}.section-header__container{width:100%;min-width:0;max-width:var(--m-section-header-max-width, none);margin-inline:0 auto}:host(.box-center) .section-header__container{margin-inline:auto}:host(.box-right) .section-header__container{margin-inline:auto 0}.section-header__inner{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.section-header__inner .section-header__title{flex:1;min-width:0;gap:.5rem}:host(.spacing) .section-header__inner{padding:1rem 1.5rem}:host(.has-sidepanel){padding-right:50px}:host(.has-sidepanel.has-menu){padding-right:50px}:host(.spacing.has-sidepanel) .section-header__inner{padding-right:calc(1.5rem + 50px)}:host(.is-sticky-enabled){position:sticky;top:var(--m-section-header-sticky-top, 0);z-index:var(--m-section-header-sticky-z, 10)}:host(.is-sticky){background:color-mix(in srgb,var(--m-background) 80%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}:host(.is-accordion){cursor:pointer}.section-header__toggle{display:flex;flex-shrink:0}.section-header__toggle.section-header__toggle--rotate m-button{display:flex;transition:transform .3s cubic-bezier(.4,0,.2,1)}.section-header__toggle.section-header__toggle--rotate.section-header__toggle--open m-button{transform:rotate(180deg)}.section-header__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}m-header{min-width:0}.section-header__title--reverse{flex-direction:column-reverse}.section-header__sub{font-size:.8rem;color:var(--m-text-secondary);line-height:1.2}:host(.align-center){--m-header-justify: center}:host(.align-right){--m-header-justify: flex-end}:host(.has-menu){padding-right:0}:host(.spacing.has-menu) .section-header__inner{padding-right:0}.section-header__filters{display:contents}.section-header__filters m-section-filter-group{width:auto;flex-shrink:0;border-bottom:none}.section-header__back{display:flex;align-items:center;flex-shrink:0}.section-header__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:flex-start;height:var(--m-section-header-icon-box, 1.5125rem)}.section-header__menu,.section-header__action{margin-left:auto;flex-shrink:0;display:flex;align-items:center}.section-header__action+.section-header__menu{margin-left:0}\n"]
|
|
16860
16946
|
}]
|
|
16861
16947
|
}],
|
|
16862
16948
|
propDecorators: {
|
|
@@ -17310,7 +17396,8 @@ var SectionTableComponent = class SectionTableComponent extends ConfigComponent
|
|
|
17310
17396
|
"size",
|
|
17311
17397
|
"one",
|
|
17312
17398
|
"baseUrl",
|
|
17313
|
-
"remote"
|
|
17399
|
+
"remote",
|
|
17400
|
+
"shadow"
|
|
17314
17401
|
],
|
|
17315
17402
|
outputs: ["configChange"]
|
|
17316
17403
|
},
|
|
@@ -18418,7 +18505,8 @@ var TextareaInputComponent = class TextareaInputComponent extends BaseTextInputC
|
|
|
18418
18505
|
"size",
|
|
18419
18506
|
"one",
|
|
18420
18507
|
"baseUrl",
|
|
18421
|
-
"remote"
|
|
18508
|
+
"remote",
|
|
18509
|
+
"shadow"
|
|
18422
18510
|
],
|
|
18423
18511
|
outputs: ["configChange"]
|
|
18424
18512
|
}
|
|
@@ -21372,7 +21460,8 @@ var ColorPickerInputComponent = class ColorPickerInputComponent extends BaseText
|
|
|
21372
21460
|
"size",
|
|
21373
21461
|
"one",
|
|
21374
21462
|
"baseUrl",
|
|
21375
|
-
"remote"
|
|
21463
|
+
"remote",
|
|
21464
|
+
"shadow"
|
|
21376
21465
|
],
|
|
21377
21466
|
outputs: ["configChange"]
|
|
21378
21467
|
},
|
|
@@ -21652,7 +21741,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
|
|
|
21652
21741
|
break;
|
|
21653
21742
|
}
|
|
21654
21743
|
case InputType.PASSWORD: {
|
|
21655
|
-
const { PasswordInputComponent } = await import("./magmonium-one-password-
|
|
21744
|
+
const { PasswordInputComponent } = await import("./magmonium-one-password-BIs_YxJ5.mjs");
|
|
21656
21745
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
21657
21746
|
break;
|
|
21658
21747
|
}
|
|
@@ -21738,7 +21827,7 @@ var WrapperInputComponent = class WrapperInputComponent extends ConfigComponent
|
|
|
21738
21827
|
break;
|
|
21739
21828
|
}
|
|
21740
21829
|
default: {
|
|
21741
|
-
const { TextInputComponent } = await import("./magmonium-one-text-
|
|
21830
|
+
const { TextInputComponent } = await import("./magmonium-one-text-BvXdAX0i.mjs").then((n) => n.n);
|
|
21742
21831
|
this.createDynamicComponent(seq, TextInputComponent);
|
|
21743
21832
|
break;
|
|
21744
21833
|
}
|
|
@@ -22669,7 +22758,8 @@ var ToggleRadioInputComponent = class ToggleRadioInputComponent extends BaseText
|
|
|
22669
22758
|
"size",
|
|
22670
22759
|
"one",
|
|
22671
22760
|
"baseUrl",
|
|
22672
|
-
"remote"
|
|
22761
|
+
"remote",
|
|
22762
|
+
"shadow"
|
|
22673
22763
|
],
|
|
22674
22764
|
outputs: ["configChange"]
|
|
22675
22765
|
},
|
|
@@ -23037,7 +23127,8 @@ var SelectableCardInputComponent = class SelectableCardInputComponent extends Ba
|
|
|
23037
23127
|
"size",
|
|
23038
23128
|
"one",
|
|
23039
23129
|
"baseUrl",
|
|
23040
|
-
"remote"
|
|
23130
|
+
"remote",
|
|
23131
|
+
"shadow"
|
|
23041
23132
|
],
|
|
23042
23133
|
outputs: ["configChange"]
|
|
23043
23134
|
},
|
|
@@ -24054,7 +24145,7 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
|
|
|
24054
24145
|
openEditor = async (file, size) => {
|
|
24055
24146
|
const modalStore = this.modalStore;
|
|
24056
24147
|
if (!modalStore) return void 0;
|
|
24057
|
-
const { ImageEditorComponent } = await import("./magmonium-one-image-editor-
|
|
24148
|
+
const { ImageEditorComponent } = await import("./magmonium-one-image-editor-oGxg59hV.mjs");
|
|
24058
24149
|
const ratio = String(this.config()?.ratio ?? "");
|
|
24059
24150
|
return new Promise((resolve) => {
|
|
24060
24151
|
const modalRef = new ModalRef();
|
|
@@ -24293,7 +24384,8 @@ var FileUploadInputComponent = class FileUploadInputComponent extends BaseInputC
|
|
|
24293
24384
|
"size",
|
|
24294
24385
|
"one",
|
|
24295
24386
|
"baseUrl",
|
|
24296
|
-
"remote"
|
|
24387
|
+
"remote",
|
|
24388
|
+
"shadow"
|
|
24297
24389
|
],
|
|
24298
24390
|
outputs: ["configChange"]
|
|
24299
24391
|
},
|
|
@@ -24734,7 +24826,8 @@ var ListComponent = class ListComponent extends ConfigComponent {
|
|
|
24734
24826
|
"size",
|
|
24735
24827
|
"one",
|
|
24736
24828
|
"baseUrl",
|
|
24737
|
-
"remote"
|
|
24829
|
+
"remote",
|
|
24830
|
+
"shadow"
|
|
24738
24831
|
],
|
|
24739
24832
|
outputs: ["configChange"]
|
|
24740
24833
|
},
|
|
@@ -25784,7 +25877,8 @@ var StepComponent = class StepComponent {
|
|
|
25784
25877
|
"size",
|
|
25785
25878
|
"one",
|
|
25786
25879
|
"baseUrl",
|
|
25787
|
-
"remote"
|
|
25880
|
+
"remote",
|
|
25881
|
+
"shadow"
|
|
25788
25882
|
],
|
|
25789
25883
|
outputs: ["configChange"]
|
|
25790
25884
|
},
|
|
@@ -27164,7 +27258,8 @@ var DashboardCardComponent = class DashboardCardComponent {
|
|
|
27164
27258
|
"size",
|
|
27165
27259
|
"one",
|
|
27166
27260
|
"baseUrl",
|
|
27167
|
-
"remote"
|
|
27261
|
+
"remote",
|
|
27262
|
+
"shadow"
|
|
27168
27263
|
],
|
|
27169
27264
|
outputs: ["configChange"]
|
|
27170
27265
|
},
|
|
@@ -27656,7 +27751,8 @@ var WatermarkComponent = class WatermarkComponent extends ConfigComponent {
|
|
|
27656
27751
|
"size",
|
|
27657
27752
|
"one",
|
|
27658
27753
|
"baseUrl",
|
|
27659
|
-
"remote"
|
|
27754
|
+
"remote",
|
|
27755
|
+
"shadow"
|
|
27660
27756
|
],
|
|
27661
27757
|
outputs: ["configChange"]
|
|
27662
27758
|
}, {
|
|
@@ -27935,7 +28031,8 @@ var TechnicalMeterComponent = class TechnicalMeterComponent {
|
|
|
27935
28031
|
"size",
|
|
27936
28032
|
"one",
|
|
27937
28033
|
"baseUrl",
|
|
27938
|
-
"remote"
|
|
28034
|
+
"remote",
|
|
28035
|
+
"shadow"
|
|
27939
28036
|
],
|
|
27940
28037
|
outputs: ["configChange"]
|
|
27941
28038
|
},
|
|
@@ -29516,7 +29613,8 @@ var RemoteComponent = class RemoteComponent {
|
|
|
29516
29613
|
"size",
|
|
29517
29614
|
"one",
|
|
29518
29615
|
"baseUrl",
|
|
29519
|
-
"remote"
|
|
29616
|
+
"remote",
|
|
29617
|
+
"shadow"
|
|
29520
29618
|
],
|
|
29521
29619
|
outputs: ["configChange"]
|
|
29522
29620
|
},
|
|
@@ -30065,7 +30163,8 @@ var PluginComponent = class PluginComponent {
|
|
|
30065
30163
|
"size",
|
|
30066
30164
|
"one",
|
|
30067
30165
|
"baseUrl",
|
|
30068
|
-
"remote"
|
|
30166
|
+
"remote",
|
|
30167
|
+
"shadow"
|
|
30069
30168
|
],
|
|
30070
30169
|
outputs: ["configChange"]
|
|
30071
30170
|
}, {
|
|
@@ -31098,7 +31197,8 @@ var SortComponent = class SortComponent extends ConfigComponent {
|
|
|
31098
31197
|
"size",
|
|
31099
31198
|
"one",
|
|
31100
31199
|
"baseUrl",
|
|
31101
|
-
"remote"
|
|
31200
|
+
"remote",
|
|
31201
|
+
"shadow"
|
|
31102
31202
|
],
|
|
31103
31203
|
outputs: ["configChange"]
|
|
31104
31204
|
},
|
|
@@ -33310,7 +33410,8 @@ var TableBodyComponent = class TableBodyComponent {
|
|
|
33310
33410
|
"size",
|
|
33311
33411
|
"one",
|
|
33312
33412
|
"baseUrl",
|
|
33313
|
-
"remote"
|
|
33413
|
+
"remote",
|
|
33414
|
+
"shadow"
|
|
33314
33415
|
],
|
|
33315
33416
|
outputs: ["configChange"]
|
|
33316
33417
|
},
|
|
@@ -35690,7 +35791,8 @@ var TreeGridComponent = class TreeGridComponent extends ConfigComponent {
|
|
|
35690
35791
|
"size",
|
|
35691
35792
|
"one",
|
|
35692
35793
|
"baseUrl",
|
|
35693
|
-
"remote"
|
|
35794
|
+
"remote",
|
|
35795
|
+
"shadow"
|
|
35694
35796
|
],
|
|
35695
35797
|
outputs: ["configChange"]
|
|
35696
35798
|
},
|
|
@@ -36538,7 +36640,8 @@ var SummaryComponent = class SummaryComponent extends ConfigComponent {
|
|
|
36538
36640
|
"size",
|
|
36539
36641
|
"one",
|
|
36540
36642
|
"baseUrl",
|
|
36541
|
-
"remote"
|
|
36643
|
+
"remote",
|
|
36644
|
+
"shadow"
|
|
36542
36645
|
],
|
|
36543
36646
|
outputs: ["configChange"]
|
|
36544
36647
|
},
|
|
@@ -36833,7 +36936,8 @@ var AccordionComponent = class AccordionComponent extends ConfigComponent {
|
|
|
36833
36936
|
"size",
|
|
36834
36937
|
"one",
|
|
36835
36938
|
"baseUrl",
|
|
36836
|
-
"remote"
|
|
36939
|
+
"remote",
|
|
36940
|
+
"shadow"
|
|
36837
36941
|
],
|
|
36838
36942
|
outputs: ["configChange"]
|
|
36839
36943
|
},
|
|
@@ -37629,7 +37733,8 @@ var NothingComponent = class NothingComponent {
|
|
|
37629
37733
|
"size",
|
|
37630
37734
|
"one",
|
|
37631
37735
|
"baseUrl",
|
|
37632
|
-
"remote"
|
|
37736
|
+
"remote",
|
|
37737
|
+
"shadow"
|
|
37633
37738
|
],
|
|
37634
37739
|
outputs: ["configChange"]
|
|
37635
37740
|
},
|
|
@@ -37810,6 +37915,140 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
37810
37915
|
args: ["inner", { isSignal: true }]
|
|
37811
37916
|
}] }
|
|
37812
37917
|
});
|
|
37918
|
+
var AppLogoComponent = class AppLogoComponent {
|
|
37919
|
+
glyph = input(...ngDevMode ? [void 0, { debugName: "glyph" }] : /* istanbul ignore next */ []);
|
|
37920
|
+
appColor = input(...ngDevMode ? [void 0, { debugName: "appColor" }] : /* istanbul ignore next */ []);
|
|
37921
|
+
name = input(...ngDevMode ? [void 0, { debugName: "name" }] : /* istanbul ignore next */ []);
|
|
37922
|
+
color = computed(() => {
|
|
37923
|
+
const value = this.appColor();
|
|
37924
|
+
return value ? normalizeAppColor(value) ?? null : null;
|
|
37925
|
+
}, ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
|
|
37926
|
+
shadow = computed(() => {
|
|
37927
|
+
const color = this.color();
|
|
37928
|
+
return color ? appLogoShadowColor(color) : null;
|
|
37929
|
+
}, ...ngDevMode ? [{ debugName: "shadow" }] : /* istanbul ignore next */ []);
|
|
37930
|
+
mask = computed(() => {
|
|
37931
|
+
const glyph = this.glyph();
|
|
37932
|
+
return glyph ? logoGlyphMaskUrl(glyph) : void 0;
|
|
37933
|
+
}, ...ngDevMode ? [{ debugName: "mask" }] : /* istanbul ignore next */ []);
|
|
37934
|
+
letter = computed(() => (this.name()?.trim().charAt(0) ?? "").toUpperCase(), ...ngDevMode ? [{ debugName: "letter" }] : /* istanbul ignore next */ []);
|
|
37935
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
37936
|
+
minVersion: "12.0.0",
|
|
37937
|
+
version: "22.2.1",
|
|
37938
|
+
ngImport: i0,
|
|
37939
|
+
type: AppLogoComponent,
|
|
37940
|
+
deps: [],
|
|
37941
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
37942
|
+
});
|
|
37943
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
37944
|
+
minVersion: "17.0.0",
|
|
37945
|
+
version: "22.2.1",
|
|
37946
|
+
type: AppLogoComponent,
|
|
37947
|
+
isStandalone: true,
|
|
37948
|
+
selector: "m-app-logo",
|
|
37949
|
+
inputs: {
|
|
37950
|
+
glyph: {
|
|
37951
|
+
classPropertyName: "glyph",
|
|
37952
|
+
publicName: "glyph",
|
|
37953
|
+
isSignal: true,
|
|
37954
|
+
isRequired: false,
|
|
37955
|
+
transformFunction: null
|
|
37956
|
+
},
|
|
37957
|
+
appColor: {
|
|
37958
|
+
classPropertyName: "appColor",
|
|
37959
|
+
publicName: "appColor",
|
|
37960
|
+
isSignal: true,
|
|
37961
|
+
isRequired: false,
|
|
37962
|
+
transformFunction: null
|
|
37963
|
+
},
|
|
37964
|
+
name: {
|
|
37965
|
+
classPropertyName: "name",
|
|
37966
|
+
publicName: "name",
|
|
37967
|
+
isSignal: true,
|
|
37968
|
+
isRequired: false,
|
|
37969
|
+
transformFunction: null
|
|
37970
|
+
}
|
|
37971
|
+
},
|
|
37972
|
+
host: {
|
|
37973
|
+
attributes: { "role": "img" },
|
|
37974
|
+
properties: {
|
|
37975
|
+
"attr.aria-label": "name() || null",
|
|
37976
|
+
"style.--m-app-logo-color": "color()",
|
|
37977
|
+
"style.--m-app-logo-shadow": "shadow()"
|
|
37978
|
+
},
|
|
37979
|
+
classAttribute: "m-app-logo"
|
|
37980
|
+
},
|
|
37981
|
+
ngImport: i0,
|
|
37982
|
+
template: `
|
|
37983
|
+
<span class="m-app-logo__mark">
|
|
37984
|
+
@if (mask(); as url) {
|
|
37985
|
+
<span class="m-app-logo__glyph" [style.mask-image]="url"></span>
|
|
37986
|
+
} @else {
|
|
37987
|
+
<span class="m-app-logo__letter">{{ letter() }}</span>
|
|
37988
|
+
}
|
|
37989
|
+
</span>
|
|
37990
|
+
`,
|
|
37991
|
+
isInline: true,
|
|
37992
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:1;container-type:size;border-radius:22%;overflow:hidden;background:var(--m-app-logo-color, var(--m-text-quaternary))}.m-app-logo__mark{display:flex;align-items:center;justify-content:center;width:100%;height:100%;filter:drop-shadow(0 4cqmin 3cqmin var(--m-app-logo-shadow, rgba(0, 0, 0, .25)))}.m-app-logo__glyph{width:60%;height:60%;background:#fff;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.m-app-logo__letter{color:#fff;font-size:50cqmin;font-weight:700;line-height:1}\n"],
|
|
37993
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
37994
|
+
});
|
|
37995
|
+
};
|
|
37996
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
37997
|
+
minVersion: "12.0.0",
|
|
37998
|
+
version: "22.2.1",
|
|
37999
|
+
ngImport: i0,
|
|
38000
|
+
type: AppLogoComponent,
|
|
38001
|
+
decorators: [{
|
|
38002
|
+
type: Component,
|
|
38003
|
+
args: [{
|
|
38004
|
+
selector: "m-app-logo",
|
|
38005
|
+
template: `
|
|
38006
|
+
<span class="m-app-logo__mark">
|
|
38007
|
+
@if (mask(); as url) {
|
|
38008
|
+
<span class="m-app-logo__glyph" [style.mask-image]="url"></span>
|
|
38009
|
+
} @else {
|
|
38010
|
+
<span class="m-app-logo__letter">{{ letter() }}</span>
|
|
38011
|
+
}
|
|
38012
|
+
</span>
|
|
38013
|
+
`,
|
|
38014
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38015
|
+
host: {
|
|
38016
|
+
class: "m-app-logo",
|
|
38017
|
+
role: "img",
|
|
38018
|
+
"[attr.aria-label]": "name() || null",
|
|
38019
|
+
"[style.--m-app-logo-color]": "color()",
|
|
38020
|
+
"[style.--m-app-logo-shadow]": "shadow()"
|
|
38021
|
+
},
|
|
38022
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:1;container-type:size;border-radius:22%;overflow:hidden;background:var(--m-app-logo-color, var(--m-text-quaternary))}.m-app-logo__mark{display:flex;align-items:center;justify-content:center;width:100%;height:100%;filter:drop-shadow(0 4cqmin 3cqmin var(--m-app-logo-shadow, rgba(0, 0, 0, .25)))}.m-app-logo__glyph{width:60%;height:60%;background:#fff;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.m-app-logo__letter{color:#fff;font-size:50cqmin;font-weight:700;line-height:1}\n"]
|
|
38023
|
+
}]
|
|
38024
|
+
}],
|
|
38025
|
+
propDecorators: {
|
|
38026
|
+
glyph: [{
|
|
38027
|
+
type: i0.Input,
|
|
38028
|
+
args: [{
|
|
38029
|
+
isSignal: true,
|
|
38030
|
+
alias: "glyph",
|
|
38031
|
+
required: false
|
|
38032
|
+
}]
|
|
38033
|
+
}],
|
|
38034
|
+
appColor: [{
|
|
38035
|
+
type: i0.Input,
|
|
38036
|
+
args: [{
|
|
38037
|
+
isSignal: true,
|
|
38038
|
+
alias: "appColor",
|
|
38039
|
+
required: false
|
|
38040
|
+
}]
|
|
38041
|
+
}],
|
|
38042
|
+
name: [{
|
|
38043
|
+
type: i0.Input,
|
|
38044
|
+
args: [{
|
|
38045
|
+
isSignal: true,
|
|
38046
|
+
alias: "name",
|
|
38047
|
+
required: false
|
|
38048
|
+
}]
|
|
38049
|
+
}]
|
|
38050
|
+
}
|
|
38051
|
+
});
|
|
37813
38052
|
var AppCardComponent = class AppCardComponent {
|
|
37814
38053
|
app = input.required(...ngDevMode ? [{ debugName: "app" }] : /* istanbul ignore next */ []);
|
|
37815
38054
|
variant = input("card", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
|
|
@@ -37875,8 +38114,8 @@ var AppCardComponent = class AppCardComponent {
|
|
|
37875
38114
|
},
|
|
37876
38115
|
ngImport: i0,
|
|
37877
38116
|
template: `
|
|
37878
|
-
<div [class]="'app-card app-card--' + variant()" [style.--app-accent]="app().
|
|
37879
|
-
@if (app().
|
|
38117
|
+
<div [class]="'app-card app-card--' + variant()" [style.--app-accent]="app().appColor" (click)="cardClick.emit(app())" role="button" tabindex="0">
|
|
38118
|
+
@if (app().appColor && variant() === 'card') {
|
|
37880
38119
|
<div class="app-card__accent"></div>
|
|
37881
38120
|
}
|
|
37882
38121
|
|
|
@@ -37885,17 +38124,13 @@ var AppCardComponent = class AppCardComponent {
|
|
|
37885
38124
|
}
|
|
37886
38125
|
|
|
37887
38126
|
<div class="app-card__icon-wrap">
|
|
37888
|
-
<m-
|
|
38127
|
+
<m-app-logo [glyph]="app().logoGlyph" [appColor]="app().appColor" [name]="app().name" />
|
|
37889
38128
|
</div>
|
|
37890
38129
|
|
|
37891
38130
|
<div class="app-card__body">
|
|
37892
38131
|
<div class="app-card__main-info">
|
|
37893
38132
|
<span class="app-card__name">{{ app().name }}</span>
|
|
37894
38133
|
|
|
37895
|
-
@if (variant() === 'row' || variant() === 'card') {
|
|
37896
|
-
<span class="app-card__company">{{ app().company }}</span>
|
|
37897
|
-
}
|
|
37898
|
-
|
|
37899
38134
|
@if (variant() === 'row') {
|
|
37900
38135
|
<span class="app-card__version">{{ app().version }}</span>
|
|
37901
38136
|
}
|
|
@@ -37924,24 +38159,16 @@ var AppCardComponent = class AppCardComponent {
|
|
|
37924
38159
|
</div>
|
|
37925
38160
|
`,
|
|
37926
38161
|
isInline: true,
|
|
37927
|
-
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.app-card{position:relative;display:flex;border-radius:1.25rem;background:var(--m-backdrop-card, rgba(255, 255, 255, .25));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--m-border, rgba(255, 255, 255, .4));padding:1rem;gap:1rem;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);outline:none;overflow:hidden}.app-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px var(--m-backdrop-shadow, rgba(0, 0, 0, .1));border-color:var(--m-focus, rgba(65, 105, 225, .4))}.app-card--small{padding:.75rem;gap:.75rem;align-items:center}.app-card--small .app-card__icon-wrap{width:2.5rem;height:2.5rem;border-radius:.75rem}.app-card--small .app-card__name{font-size:.875rem;font-weight:700}.app-card--tile{flex-direction:column;align-items:center;justify-content:center;padding:.875rem;gap:.5rem}.app-card--tile .app-card__icon-wrap{width:3.5rem;height:3.5rem;border-radius:1rem}.app-card--tile .app-card__body{align-items:center;text-align:center}.app-card--tile .app-card__main-info{align-items:center}.app-card--tile .app-card__name{font-size:.8125rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.app-card--row{align-items:center}.app-card--row .app-card__icon-wrap{width:3.25rem;height:3.25rem;border-radius:.875rem}.app-card--row .app-card__main-info{display:flex;flex-direction:column;gap:.125rem}.app-card--row .app-card__name{font-size:.9375rem;font-weight:700}.app-card--row .app-
|
|
38162
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.app-card{position:relative;display:flex;border-radius:1.25rem;background:var(--m-backdrop-card, rgba(255, 255, 255, .25));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--m-border, rgba(255, 255, 255, .4));padding:1rem;gap:1rem;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);outline:none;overflow:hidden}.app-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px var(--m-backdrop-shadow, rgba(0, 0, 0, .1));border-color:var(--m-focus, rgba(65, 105, 225, .4))}.app-card--small{padding:.75rem;gap:.75rem;align-items:center}.app-card--small .app-card__icon-wrap{width:2.5rem;height:2.5rem;border-radius:.75rem}.app-card--small .app-card__name{font-size:.875rem;font-weight:700}.app-card--tile{flex-direction:column;align-items:center;justify-content:center;padding:.875rem;gap:.5rem}.app-card--tile .app-card__icon-wrap{width:3.5rem;height:3.5rem;border-radius:1rem}.app-card--tile .app-card__body{align-items:center;text-align:center}.app-card--tile .app-card__main-info{align-items:center}.app-card--tile .app-card__name{font-size:.8125rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.app-card--row{align-items:center}.app-card--row .app-card__icon-wrap{width:3.25rem;height:3.25rem;border-radius:.875rem}.app-card--row .app-card__main-info{display:flex;flex-direction:column;gap:.125rem}.app-card--row .app-card__name{font-size:.9375rem;font-weight:700}.app-card--row .app-card__version{font-size:.75rem;color:var(--m-text-secondary, #64748b)}.app-card--card{flex-direction:column;padding:1.25rem;min-height:12rem}.app-card--card .app-card__accent{position:absolute;top:0;left:0;right:0;height:4px;background:var(--app-accent, var(--m-focus, #4169e1))}.app-card--card .app-card__icon-wrap{width:3.75rem;height:3.75rem;border-radius:1.125rem;background:var(--app-accent, var(--m-frame, #e0e7ff));opacity:.9}.app-card--card .app-card__icon-wrap:before{content:\"\";position:absolute;inset:0;background:var(--app-accent);opacity:.15}.app-card--card .app-card__body{flex:1;display:flex;flex-direction:column;gap:.5rem}.app-card--card .app-card__name{font-size:1.125rem;font-weight:800}.app-card--card .app-card__desc{font-size:.875rem;color:var(--m-text-secondary, #64748b);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.25rem 0}.app-card--card .app-card__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.app-card--card .app-card__version-badge{font-size:.6875rem;font-weight:700;background:var(--m-background-lite, rgba(0, 0, 0, .05));padding:.125rem .5rem;border-radius:9999px;color:var(--m-text-secondary, #64748b)}.app-card--card .app-card__updated{font-size:.6875rem;color:var(--m-text-tertiary, #94a3b8)}.app-card__badge{position:absolute;top:.75rem;right:.75rem;min-width:1.375rem;height:1.375rem;padding:0 .375rem;background:var(--m-error, #f43f5e);color:#fff;border-radius:9999px;font-size:.625rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #f43f5e66;z-index:2}.app-card__icon-wrap{flex-shrink:0;overflow:hidden;background:var(--m-frame, #f1f5f9);display:flex;align-items:center;justify-content:center}.app-card__icon-wrap img,.app-card__icon-wrap m-img{width:60%;height:60%;object-fit:contain}.app-card__body{min-width:0}.app-card__actions{margin-left:auto;display:flex;align-items:center}.app-card--card .app-card__actions{position:absolute;bottom:1.25rem;right:1.25rem}\n"],
|
|
37928
38163
|
dependencies: [
|
|
37929
38164
|
{
|
|
37930
38165
|
kind: "component",
|
|
37931
|
-
type:
|
|
37932
|
-
selector: "m-
|
|
38166
|
+
type: AppLogoComponent,
|
|
38167
|
+
selector: "m-app-logo",
|
|
37933
38168
|
inputs: [
|
|
37934
|
-
"
|
|
37935
|
-
"
|
|
37936
|
-
"
|
|
37937
|
-
"alt",
|
|
37938
|
-
"priority",
|
|
37939
|
-
"fill",
|
|
37940
|
-
"width",
|
|
37941
|
-
"height",
|
|
37942
|
-
"remote",
|
|
37943
|
-
"ngSrcset",
|
|
37944
|
-
"sizes"
|
|
38169
|
+
"glyph",
|
|
38170
|
+
"appColor",
|
|
38171
|
+
"name"
|
|
37945
38172
|
]
|
|
37946
38173
|
},
|
|
37947
38174
|
{
|
|
@@ -37989,7 +38216,8 @@ var AppCardComponent = class AppCardComponent {
|
|
|
37989
38216
|
"size",
|
|
37990
38217
|
"one",
|
|
37991
38218
|
"baseUrl",
|
|
37992
|
-
"remote"
|
|
38219
|
+
"remote",
|
|
38220
|
+
"shadow"
|
|
37993
38221
|
],
|
|
37994
38222
|
outputs: ["configChange"]
|
|
37995
38223
|
},
|
|
@@ -38013,14 +38241,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
38013
38241
|
selector: "m-app-card",
|
|
38014
38242
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38015
38243
|
imports: [
|
|
38016
|
-
|
|
38244
|
+
AppLogoComponent,
|
|
38017
38245
|
ButtonComponent,
|
|
38018
38246
|
TranslatePipe,
|
|
38019
38247
|
IconComponent
|
|
38020
38248
|
],
|
|
38021
38249
|
template: `
|
|
38022
|
-
<div [class]="'app-card app-card--' + variant()" [style.--app-accent]="app().
|
|
38023
|
-
@if (app().
|
|
38250
|
+
<div [class]="'app-card app-card--' + variant()" [style.--app-accent]="app().appColor" (click)="cardClick.emit(app())" role="button" tabindex="0">
|
|
38251
|
+
@if (app().appColor && variant() === 'card') {
|
|
38024
38252
|
<div class="app-card__accent"></div>
|
|
38025
38253
|
}
|
|
38026
38254
|
|
|
@@ -38029,17 +38257,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
38029
38257
|
}
|
|
38030
38258
|
|
|
38031
38259
|
<div class="app-card__icon-wrap">
|
|
38032
|
-
<m-
|
|
38260
|
+
<m-app-logo [glyph]="app().logoGlyph" [appColor]="app().appColor" [name]="app().name" />
|
|
38033
38261
|
</div>
|
|
38034
38262
|
|
|
38035
38263
|
<div class="app-card__body">
|
|
38036
38264
|
<div class="app-card__main-info">
|
|
38037
38265
|
<span class="app-card__name">{{ app().name }}</span>
|
|
38038
38266
|
|
|
38039
|
-
@if (variant() === 'row' || variant() === 'card') {
|
|
38040
|
-
<span class="app-card__company">{{ app().company }}</span>
|
|
38041
|
-
}
|
|
38042
|
-
|
|
38043
38267
|
@if (variant() === 'row') {
|
|
38044
38268
|
<span class="app-card__version">{{ app().version }}</span>
|
|
38045
38269
|
}
|
|
@@ -38067,7 +38291,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
38067
38291
|
}
|
|
38068
38292
|
</div>
|
|
38069
38293
|
`,
|
|
38070
|
-
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.app-card{position:relative;display:flex;border-radius:1.25rem;background:var(--m-backdrop-card, rgba(255, 255, 255, .25));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--m-border, rgba(255, 255, 255, .4));padding:1rem;gap:1rem;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);outline:none;overflow:hidden}.app-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px var(--m-backdrop-shadow, rgba(0, 0, 0, .1));border-color:var(--m-focus, rgba(65, 105, 225, .4))}.app-card--small{padding:.75rem;gap:.75rem;align-items:center}.app-card--small .app-card__icon-wrap{width:2.5rem;height:2.5rem;border-radius:.75rem}.app-card--small .app-card__name{font-size:.875rem;font-weight:700}.app-card--tile{flex-direction:column;align-items:center;justify-content:center;padding:.875rem;gap:.5rem}.app-card--tile .app-card__icon-wrap{width:3.5rem;height:3.5rem;border-radius:1rem}.app-card--tile .app-card__body{align-items:center;text-align:center}.app-card--tile .app-card__main-info{align-items:center}.app-card--tile .app-card__name{font-size:.8125rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.app-card--row{align-items:center}.app-card--row .app-card__icon-wrap{width:3.25rem;height:3.25rem;border-radius:.875rem}.app-card--row .app-card__main-info{display:flex;flex-direction:column;gap:.125rem}.app-card--row .app-card__name{font-size:.9375rem;font-weight:700}.app-card--row .app-
|
|
38294
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.app-card{position:relative;display:flex;border-radius:1.25rem;background:var(--m-backdrop-card, rgba(255, 255, 255, .25));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--m-border, rgba(255, 255, 255, .4));padding:1rem;gap:1rem;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);outline:none;overflow:hidden}.app-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px var(--m-backdrop-shadow, rgba(0, 0, 0, .1));border-color:var(--m-focus, rgba(65, 105, 225, .4))}.app-card--small{padding:.75rem;gap:.75rem;align-items:center}.app-card--small .app-card__icon-wrap{width:2.5rem;height:2.5rem;border-radius:.75rem}.app-card--small .app-card__name{font-size:.875rem;font-weight:700}.app-card--tile{flex-direction:column;align-items:center;justify-content:center;padding:.875rem;gap:.5rem}.app-card--tile .app-card__icon-wrap{width:3.5rem;height:3.5rem;border-radius:1rem}.app-card--tile .app-card__body{align-items:center;text-align:center}.app-card--tile .app-card__main-info{align-items:center}.app-card--tile .app-card__name{font-size:.8125rem;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.app-card--row{align-items:center}.app-card--row .app-card__icon-wrap{width:3.25rem;height:3.25rem;border-radius:.875rem}.app-card--row .app-card__main-info{display:flex;flex-direction:column;gap:.125rem}.app-card--row .app-card__name{font-size:.9375rem;font-weight:700}.app-card--row .app-card__version{font-size:.75rem;color:var(--m-text-secondary, #64748b)}.app-card--card{flex-direction:column;padding:1.25rem;min-height:12rem}.app-card--card .app-card__accent{position:absolute;top:0;left:0;right:0;height:4px;background:var(--app-accent, var(--m-focus, #4169e1))}.app-card--card .app-card__icon-wrap{width:3.75rem;height:3.75rem;border-radius:1.125rem;background:var(--app-accent, var(--m-frame, #e0e7ff));opacity:.9}.app-card--card .app-card__icon-wrap:before{content:\"\";position:absolute;inset:0;background:var(--app-accent);opacity:.15}.app-card--card .app-card__body{flex:1;display:flex;flex-direction:column;gap:.5rem}.app-card--card .app-card__name{font-size:1.125rem;font-weight:800}.app-card--card .app-card__desc{font-size:.875rem;color:var(--m-text-secondary, #64748b);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.25rem 0}.app-card--card .app-card__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.app-card--card .app-card__version-badge{font-size:.6875rem;font-weight:700;background:var(--m-background-lite, rgba(0, 0, 0, .05));padding:.125rem .5rem;border-radius:9999px;color:var(--m-text-secondary, #64748b)}.app-card--card .app-card__updated{font-size:.6875rem;color:var(--m-text-tertiary, #94a3b8)}.app-card__badge{position:absolute;top:.75rem;right:.75rem;min-width:1.375rem;height:1.375rem;padding:0 .375rem;background:var(--m-error, #f43f5e);color:#fff;border-radius:9999px;font-size:.625rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #f43f5e66;z-index:2}.app-card__icon-wrap{flex-shrink:0;overflow:hidden;background:var(--m-frame, #f1f5f9);display:flex;align-items:center;justify-content:center}.app-card__icon-wrap img,.app-card__icon-wrap m-img{width:60%;height:60%;object-fit:contain}.app-card__body{min-width:0}.app-card__actions{margin-left:auto;display:flex;align-items:center}.app-card--card .app-card__actions{position:absolute;bottom:1.25rem;right:1.25rem}\n"]
|
|
38071
38295
|
}]
|
|
38072
38296
|
}],
|
|
38073
38297
|
propDecorators: {
|
|
@@ -38121,6 +38345,241 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
38121
38345
|
}]
|
|
38122
38346
|
}
|
|
38123
38347
|
});
|
|
38348
|
+
const ERROR_KEYS = {
|
|
38349
|
+
logo_invalid: "logo-glyph-invalid",
|
|
38350
|
+
logo_too_large: "logo-glyph-too-large"
|
|
38351
|
+
};
|
|
38352
|
+
var LogoGlyphInputComponent = class LogoGlyphInputComponent {
|
|
38353
|
+
glyph = model(null, ...ngDevMode ? [{ debugName: "glyph" }] : /* istanbul ignore next */ []);
|
|
38354
|
+
appColor = model(null, ...ngDevMode ? [{ debugName: "appColor" }] : /* istanbul ignore next */ []);
|
|
38355
|
+
name = input(...ngDevMode ? [void 0, { debugName: "name" }] : /* istanbul ignore next */ []);
|
|
38356
|
+
suggestedColors = input([], ...ngDevMode ? [{ debugName: "suggestedColors" }] : /* istanbul ignore next */ []);
|
|
38357
|
+
disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
|
|
38358
|
+
markup = signal("", ...ngDevMode ? [{ debugName: "markup" }] : /* istanbul ignore next */ []);
|
|
38359
|
+
error = signal("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
|
|
38360
|
+
errorKey = computed(() => {
|
|
38361
|
+
const error = this.error();
|
|
38362
|
+
return error ? ERROR_KEYS[error] : void 0;
|
|
38363
|
+
}, ...ngDevMode ? [{ debugName: "errorKey" }] : /* istanbul ignore next */ []);
|
|
38364
|
+
lightColor = computed(() => {
|
|
38365
|
+
const color = this.appColor();
|
|
38366
|
+
return !!color && isLightAppColor(color);
|
|
38367
|
+
}, ...ngDevMode ? [{ debugName: "lightColor" }] : /* istanbul ignore next */ []);
|
|
38368
|
+
suggestions = computed(() => this.suggestedColors().map((color) => normalizeAppColor(color)).filter((color) => !!color), ...ngDevMode ? [{ debugName: "suggestions" }] : /* istanbul ignore next */ []);
|
|
38369
|
+
formData = computed(() => ({
|
|
38370
|
+
logo_glyph_paste: this.markup(),
|
|
38371
|
+
app_color: this.appColor() ?? ""
|
|
38372
|
+
}), ...ngDevMode ? [{ debugName: "formData" }] : /* istanbul ignore next */ []);
|
|
38373
|
+
lastUpload;
|
|
38374
|
+
take = (markup) => {
|
|
38375
|
+
this.markup.set(markup);
|
|
38376
|
+
if (!markup.trim()) {
|
|
38377
|
+
this.error.set("");
|
|
38378
|
+
return;
|
|
38379
|
+
}
|
|
38380
|
+
const { svg, error } = rebuildLogoGlyph(markup);
|
|
38381
|
+
this.error.set(error);
|
|
38382
|
+
if (svg) this.glyph.set(svg);
|
|
38383
|
+
};
|
|
38384
|
+
onForm = (data) => {
|
|
38385
|
+
const upload = data["logo_glyph_upload"];
|
|
38386
|
+
if (upload !== this.lastUpload) {
|
|
38387
|
+
this.lastUpload = upload;
|
|
38388
|
+
if (typeof upload === "string") this.take(upload);
|
|
38389
|
+
}
|
|
38390
|
+
const paste = data["logo_glyph_paste"];
|
|
38391
|
+
if (typeof paste === "string" && paste !== this.markup()) this.take(paste);
|
|
38392
|
+
const color = normalizeAppColor(String(data["app_color"] ?? ""));
|
|
38393
|
+
if (color && color !== this.appColor()) this.appColor.set(color);
|
|
38394
|
+
};
|
|
38395
|
+
pickSuggestion = (color) => {
|
|
38396
|
+
if (!this.disabled()) this.appColor.set(color);
|
|
38397
|
+
};
|
|
38398
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
38399
|
+
minVersion: "12.0.0",
|
|
38400
|
+
version: "22.2.1",
|
|
38401
|
+
ngImport: i0,
|
|
38402
|
+
type: LogoGlyphInputComponent,
|
|
38403
|
+
deps: [],
|
|
38404
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
38405
|
+
});
|
|
38406
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
38407
|
+
minVersion: "17.0.0",
|
|
38408
|
+
version: "22.2.1",
|
|
38409
|
+
type: LogoGlyphInputComponent,
|
|
38410
|
+
isStandalone: true,
|
|
38411
|
+
selector: "m-logo-glyph-input",
|
|
38412
|
+
inputs: {
|
|
38413
|
+
glyph: {
|
|
38414
|
+
classPropertyName: "glyph",
|
|
38415
|
+
publicName: "glyph",
|
|
38416
|
+
isSignal: true,
|
|
38417
|
+
isRequired: false,
|
|
38418
|
+
transformFunction: null
|
|
38419
|
+
},
|
|
38420
|
+
appColor: {
|
|
38421
|
+
classPropertyName: "appColor",
|
|
38422
|
+
publicName: "appColor",
|
|
38423
|
+
isSignal: true,
|
|
38424
|
+
isRequired: false,
|
|
38425
|
+
transformFunction: null
|
|
38426
|
+
},
|
|
38427
|
+
name: {
|
|
38428
|
+
classPropertyName: "name",
|
|
38429
|
+
publicName: "name",
|
|
38430
|
+
isSignal: true,
|
|
38431
|
+
isRequired: false,
|
|
38432
|
+
transformFunction: null
|
|
38433
|
+
},
|
|
38434
|
+
suggestedColors: {
|
|
38435
|
+
classPropertyName: "suggestedColors",
|
|
38436
|
+
publicName: "suggestedColors",
|
|
38437
|
+
isSignal: true,
|
|
38438
|
+
isRequired: false,
|
|
38439
|
+
transformFunction: null
|
|
38440
|
+
},
|
|
38441
|
+
disabled: {
|
|
38442
|
+
classPropertyName: "disabled",
|
|
38443
|
+
publicName: "disabled",
|
|
38444
|
+
isSignal: true,
|
|
38445
|
+
isRequired: false,
|
|
38446
|
+
transformFunction: null
|
|
38447
|
+
}
|
|
38448
|
+
},
|
|
38449
|
+
outputs: {
|
|
38450
|
+
glyph: "glyphChange",
|
|
38451
|
+
appColor: "appColorChange"
|
|
38452
|
+
},
|
|
38453
|
+
host: { classAttribute: "m-logo-glyph-input" },
|
|
38454
|
+
ngImport: i0,
|
|
38455
|
+
template: "<div class=\"m-logo-glyph-input__preview\">\n <div class=\"m-logo-glyph-input__logo m-logo-glyph-input__logo--large\">\n <m-app-logo [glyph]=\"glyph()\" [appColor]=\"appColor()\" [name]=\"name()\" />\n </div>\n <div class=\"m-logo-glyph-input__logo m-logo-glyph-input__logo--small\">\n <m-app-logo [glyph]=\"glyph()\" [appColor]=\"appColor()\" [name]=\"name()\" />\n </div>\n</div>\n\n<div class=\"m-logo-glyph-input__fields\">\n <ng-content select=\"[logoAi]\" />\n\n <!-- asset: forms/logo_glyph_input.yml -->\n <m-form\n name=\"logo_glyph_input\"\n [one]=\"true\"\n [data]=\"formData()\"\n [readonly]=\"disabled()\"\n [autofocus]=\"false\"\n (dataChange)=\"onForm($event)\"\n />\n @if (errorKey(); as key) {\n <m-text-output variant=\"footer\" color=\"error\" [label]=\"key\" />\n }\n @if (lightColor()) {\n <m-text-output variant=\"footer\" color=\"warning\" label=\"app-color-light\" />\n }\n\n @if (suggestions().length) {\n <m-text-output variant=\"footer\" label=\"app-color-suggestions\" />\n <div class=\"m-logo-glyph-input__swatches\">\n @for (color of suggestions(); track color) {\n <div\n class=\"m-logo-glyph-input__swatch\"\n role=\"button\"\n tabindex=\"0\"\n [attr.aria-label]=\"color\"\n [attr.aria-pressed]=\"color === appColor()\"\n [class.m-logo-glyph-input__swatch--picked]=\"color === appColor()\"\n (click)=\"pickSuggestion(color)\"\n (keydown.enter)=\"pickSuggestion(color)\"\n (keydown.space)=\"pickSuggestion(color); $event.preventDefault()\"\n >\n <m-app-logo [glyph]=\"glyph()\" [appColor]=\"color\" [name]=\"name()\" />\n </div>\n }\n </div>\n }\n</div>\n",
|
|
38456
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.m-logo-glyph-input__preview{display:flex;align-items:flex-end;gap:1rem}.m-logo-glyph-input__logo--large{width:6rem;height:6rem}.m-logo-glyph-input__logo--small{width:2rem;height:2rem}.m-logo-glyph-input__fields{display:flex;flex-direction:column;gap:.75rem;flex:1 1 18rem;min-width:0}.m-logo-glyph-input__swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr));gap:.5rem}.m-logo-glyph-input__swatch{aspect-ratio:1;border-radius:25%;padding:2px;cursor:pointer;outline:2px solid transparent;transition:outline-color .15s ease}.m-logo-glyph-input__swatch:focus-visible,.m-logo-glyph-input__swatch:hover{outline-color:var(--m-text-quaternary)}.m-logo-glyph-input__swatch--picked{outline-color:var(--m-mm)}\n"],
|
|
38457
|
+
dependencies: [
|
|
38458
|
+
{
|
|
38459
|
+
kind: "component",
|
|
38460
|
+
type: AppLogoComponent,
|
|
38461
|
+
selector: "m-app-logo",
|
|
38462
|
+
inputs: [
|
|
38463
|
+
"glyph",
|
|
38464
|
+
"appColor",
|
|
38465
|
+
"name"
|
|
38466
|
+
]
|
|
38467
|
+
},
|
|
38468
|
+
{
|
|
38469
|
+
kind: "component",
|
|
38470
|
+
type: FormGroupComponent,
|
|
38471
|
+
selector: "m-form, m-one-form",
|
|
38472
|
+
inputs: [
|
|
38473
|
+
"data",
|
|
38474
|
+
"state",
|
|
38475
|
+
"validation",
|
|
38476
|
+
"options",
|
|
38477
|
+
"fieldConfigs",
|
|
38478
|
+
"aclResolver",
|
|
38479
|
+
"autofocus",
|
|
38480
|
+
"readonly",
|
|
38481
|
+
"fieldRenderIds",
|
|
38482
|
+
"elements",
|
|
38483
|
+
"templates",
|
|
38484
|
+
"datas",
|
|
38485
|
+
"label",
|
|
38486
|
+
"subtitle"
|
|
38487
|
+
],
|
|
38488
|
+
outputs: [
|
|
38489
|
+
"dataChange",
|
|
38490
|
+
"act",
|
|
38491
|
+
"stateChange"
|
|
38492
|
+
]
|
|
38493
|
+
},
|
|
38494
|
+
{
|
|
38495
|
+
kind: "component",
|
|
38496
|
+
type: TextOutputComponent,
|
|
38497
|
+
selector: "m-text-output",
|
|
38498
|
+
inputs: [
|
|
38499
|
+
"config",
|
|
38500
|
+
"align",
|
|
38501
|
+
"variant",
|
|
38502
|
+
"color",
|
|
38503
|
+
"fontWeight",
|
|
38504
|
+
"label",
|
|
38505
|
+
"noTranslate",
|
|
38506
|
+
"params"
|
|
38507
|
+
],
|
|
38508
|
+
outputs: ["configChange", "clicked"]
|
|
38509
|
+
}
|
|
38510
|
+
],
|
|
38511
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
38512
|
+
});
|
|
38513
|
+
};
|
|
38514
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
38515
|
+
minVersion: "12.0.0",
|
|
38516
|
+
version: "22.2.1",
|
|
38517
|
+
ngImport: i0,
|
|
38518
|
+
type: LogoGlyphInputComponent,
|
|
38519
|
+
decorators: [{
|
|
38520
|
+
type: Component,
|
|
38521
|
+
args: [{
|
|
38522
|
+
selector: "m-logo-glyph-input",
|
|
38523
|
+
imports: [
|
|
38524
|
+
AppLogoComponent,
|
|
38525
|
+
FormGroupComponent,
|
|
38526
|
+
TextOutputComponent
|
|
38527
|
+
],
|
|
38528
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38529
|
+
host: { class: "m-logo-glyph-input" },
|
|
38530
|
+
template: "<div class=\"m-logo-glyph-input__preview\">\n <div class=\"m-logo-glyph-input__logo m-logo-glyph-input__logo--large\">\n <m-app-logo [glyph]=\"glyph()\" [appColor]=\"appColor()\" [name]=\"name()\" />\n </div>\n <div class=\"m-logo-glyph-input__logo m-logo-glyph-input__logo--small\">\n <m-app-logo [glyph]=\"glyph()\" [appColor]=\"appColor()\" [name]=\"name()\" />\n </div>\n</div>\n\n<div class=\"m-logo-glyph-input__fields\">\n <ng-content select=\"[logoAi]\" />\n\n <!-- asset: forms/logo_glyph_input.yml -->\n <m-form\n name=\"logo_glyph_input\"\n [one]=\"true\"\n [data]=\"formData()\"\n [readonly]=\"disabled()\"\n [autofocus]=\"false\"\n (dataChange)=\"onForm($event)\"\n />\n @if (errorKey(); as key) {\n <m-text-output variant=\"footer\" color=\"error\" [label]=\"key\" />\n }\n @if (lightColor()) {\n <m-text-output variant=\"footer\" color=\"warning\" label=\"app-color-light\" />\n }\n\n @if (suggestions().length) {\n <m-text-output variant=\"footer\" label=\"app-color-suggestions\" />\n <div class=\"m-logo-glyph-input__swatches\">\n @for (color of suggestions(); track color) {\n <div\n class=\"m-logo-glyph-input__swatch\"\n role=\"button\"\n tabindex=\"0\"\n [attr.aria-label]=\"color\"\n [attr.aria-pressed]=\"color === appColor()\"\n [class.m-logo-glyph-input__swatch--picked]=\"color === appColor()\"\n (click)=\"pickSuggestion(color)\"\n (keydown.enter)=\"pickSuggestion(color)\"\n (keydown.space)=\"pickSuggestion(color); $event.preventDefault()\"\n >\n <m-app-logo [glyph]=\"glyph()\" [appColor]=\"color\" [name]=\"name()\" />\n </div>\n }\n </div>\n }\n</div>\n",
|
|
38531
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start}.m-logo-glyph-input__preview{display:flex;align-items:flex-end;gap:1rem}.m-logo-glyph-input__logo--large{width:6rem;height:6rem}.m-logo-glyph-input__logo--small{width:2rem;height:2rem}.m-logo-glyph-input__fields{display:flex;flex-direction:column;gap:.75rem;flex:1 1 18rem;min-width:0}.m-logo-glyph-input__swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr));gap:.5rem}.m-logo-glyph-input__swatch{aspect-ratio:1;border-radius:25%;padding:2px;cursor:pointer;outline:2px solid transparent;transition:outline-color .15s ease}.m-logo-glyph-input__swatch:focus-visible,.m-logo-glyph-input__swatch:hover{outline-color:var(--m-text-quaternary)}.m-logo-glyph-input__swatch--picked{outline-color:var(--m-mm)}\n"]
|
|
38532
|
+
}]
|
|
38533
|
+
}],
|
|
38534
|
+
propDecorators: {
|
|
38535
|
+
glyph: [{
|
|
38536
|
+
type: i0.Input,
|
|
38537
|
+
args: [{
|
|
38538
|
+
isSignal: true,
|
|
38539
|
+
alias: "glyph",
|
|
38540
|
+
required: false
|
|
38541
|
+
}]
|
|
38542
|
+
}, {
|
|
38543
|
+
type: i0.Output,
|
|
38544
|
+
args: ["glyphChange"]
|
|
38545
|
+
}],
|
|
38546
|
+
appColor: [{
|
|
38547
|
+
type: i0.Input,
|
|
38548
|
+
args: [{
|
|
38549
|
+
isSignal: true,
|
|
38550
|
+
alias: "appColor",
|
|
38551
|
+
required: false
|
|
38552
|
+
}]
|
|
38553
|
+
}, {
|
|
38554
|
+
type: i0.Output,
|
|
38555
|
+
args: ["appColorChange"]
|
|
38556
|
+
}],
|
|
38557
|
+
name: [{
|
|
38558
|
+
type: i0.Input,
|
|
38559
|
+
args: [{
|
|
38560
|
+
isSignal: true,
|
|
38561
|
+
alias: "name",
|
|
38562
|
+
required: false
|
|
38563
|
+
}]
|
|
38564
|
+
}],
|
|
38565
|
+
suggestedColors: [{
|
|
38566
|
+
type: i0.Input,
|
|
38567
|
+
args: [{
|
|
38568
|
+
isSignal: true,
|
|
38569
|
+
alias: "suggestedColors",
|
|
38570
|
+
required: false
|
|
38571
|
+
}]
|
|
38572
|
+
}],
|
|
38573
|
+
disabled: [{
|
|
38574
|
+
type: i0.Input,
|
|
38575
|
+
args: [{
|
|
38576
|
+
isSignal: true,
|
|
38577
|
+
alias: "disabled",
|
|
38578
|
+
required: false
|
|
38579
|
+
}]
|
|
38580
|
+
}]
|
|
38581
|
+
}
|
|
38582
|
+
});
|
|
38124
38583
|
var PlaygroundComponent = class PlaygroundComponent {
|
|
38125
38584
|
config = input(...ngDevMode ? [void 0, { debugName: "config" }] : /* istanbul ignore next */ []);
|
|
38126
38585
|
copied = signal(false, ...ngDevMode ? [{ debugName: "copied" }] : /* istanbul ignore next */ []);
|
|
@@ -38977,7 +39436,8 @@ var ModalComponent = class ModalComponent extends ConfigComponent {
|
|
|
38977
39436
|
"size",
|
|
38978
39437
|
"one",
|
|
38979
39438
|
"baseUrl",
|
|
38980
|
-
"remote"
|
|
39439
|
+
"remote",
|
|
39440
|
+
"shadow"
|
|
38981
39441
|
],
|
|
38982
39442
|
outputs: ["configChange"]
|
|
38983
39443
|
},
|
|
@@ -40285,7 +40745,8 @@ var NavTrailComponent = class NavTrailComponent {
|
|
|
40285
40745
|
"size",
|
|
40286
40746
|
"one",
|
|
40287
40747
|
"baseUrl",
|
|
40288
|
-
"remote"
|
|
40748
|
+
"remote",
|
|
40749
|
+
"shadow"
|
|
40289
40750
|
],
|
|
40290
40751
|
outputs: ["configChange"]
|
|
40291
40752
|
},
|
|
@@ -40620,7 +41081,7 @@ var NavHeaderComponent = class NavHeaderComponent {
|
|
|
40620
41081
|
return trail && trail.length > 0 ? trail : null;
|
|
40621
41082
|
}, ...ngDevMode ? [{ debugName: "_trail" }] : /* istanbul ignore next */ []);
|
|
40622
41083
|
_user = computed(() => this._isUser() ? this.#authStore.user() ?? null : null, ...ngDevMode ? [{ debugName: "_user" }] : /* istanbul ignore next */ []);
|
|
40623
|
-
_header = computed(() => this._isUser() ? null : this._navStore.breadcrumb().header, ...ngDevMode ? [{ debugName: "_header" }] : /* istanbul ignore next */ []);
|
|
41084
|
+
_header = computed(() => this._isSearch() || this._isUser() ? null : this._navStore.breadcrumb().header, ...ngDevMode ? [{ debugName: "_header" }] : /* istanbul ignore next */ []);
|
|
40624
41085
|
constructor() {
|
|
40625
41086
|
effect(() => {
|
|
40626
41087
|
if (!this._isSearch()) this._searchOpen.set(false);
|
|
@@ -40640,9 +41101,16 @@ var NavHeaderComponent = class NavHeaderComponent {
|
|
|
40640
41101
|
type: NavHeaderComponent,
|
|
40641
41102
|
isStandalone: true,
|
|
40642
41103
|
selector: "m-nav-header",
|
|
41104
|
+
host: {
|
|
41105
|
+
properties: {
|
|
41106
|
+
"style.display": "\"block\"",
|
|
41107
|
+
"style.--m-section-min-height": "\"0\""
|
|
41108
|
+
},
|
|
41109
|
+
classAttribute: "m-nav-header"
|
|
41110
|
+
},
|
|
40643
41111
|
ngImport: i0,
|
|
40644
|
-
template: "<m-section>\n @if (_isSearch() && _searchOpen()) {\n <!-- Searching: the field takes the row the trail was on, so the nav is\n hidden while there is something to type into. -->\n <m-section-search\n class=\"nav-header__search\"\n [(isOpen)]=\"_searchOpen\"\n [value]=\"_searchStore.query()\"\n [searchLabel]=\"_searchLabel()\"\n (searchChange)=\"_searchStore.updateQuery($event)\"\n />\n } @else
|
|
40645
|
-
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}
|
|
41112
|
+
template: "<m-section>\n @if (_isSearch() && _searchOpen()) {\n <!-- Searching: the field takes the row the trail was on, so the nav is\n hidden while there is something to type into. -->\n <m-section-search\n class=\"nav-header__search\"\n [(isOpen)]=\"_searchOpen\"\n [value]=\"_searchStore.query()\"\n [searchLabel]=\"_searchLabel()\"\n (searchChange)=\"_searchStore.updateQuery($event)\"\n />\n } @else if (_trail() || _isSearch()) {\n <!-- The nav's row, and the bar's toggle stands in it rather than in a row\n stacked on top of it. Both slots are written a single `@if` deep: a\n Section matches its projected slots by tag, and a node nested deeper\n falls through to the body instead. -->\n <m-section-back [back]=\"_hasParent()\" (navigate)=\"_navStore.back()\">\n @if (_trail(); as trail) {\n <m-nav-trail [config]=\"trail\" />\n }\n @if (_isSearch()) {\n <m-button\n class=\"nav-header__search-toggle\"\n [config]=\"_searchToggle\"\n (clicked)=\"_openSearch()\"\n />\n }\n </m-section-back>\n }\n\n @if (_user(); as user) {\n <m-user class=\"nav-header__user\" [id]=\"user.id\" [user]=\"user\" mRef=\"root_user\">\n <span class=\"nav-header__username\">@{{ user.username }}</span>\n </m-user>\n } @else if (_header(); as h) {\n @if (h.label) {\n <m-section-header class=\"nav-header__title\" [icon]=\"h.icon\" [label]=\"h.label\" />\n }\n }\n</m-section>\n",
|
|
41113
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.nav-header__user{display:block;padding:1rem}.nav-header__username{font-size:.6875rem;font-weight:600;color:var(--m-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}m-section-search.nav-header__search{--_nav-row-height: var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));min-height:var(--_nav-row-height);padding-block:0;--m-input-clear-height: calc(var(--_nav-row-height) - .5rem);--m-input-clear-min-height: calc(var(--_nav-row-height) - .5rem)}\n"],
|
|
40646
41114
|
dependencies: [
|
|
40647
41115
|
{
|
|
40648
41116
|
kind: "component",
|
|
@@ -40826,8 +41294,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
40826
41294
|
],
|
|
40827
41295
|
encapsulation: ViewEncapsulation.None,
|
|
40828
41296
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
40829
|
-
|
|
40830
|
-
|
|
41297
|
+
host: {
|
|
41298
|
+
class: "m-nav-header",
|
|
41299
|
+
"[style.display]": "\"block\"",
|
|
41300
|
+
"[style.--m-section-min-height]": "\"0\""
|
|
41301
|
+
},
|
|
41302
|
+
template: "<m-section>\n @if (_isSearch() && _searchOpen()) {\n <!-- Searching: the field takes the row the trail was on, so the nav is\n hidden while there is something to type into. -->\n <m-section-search\n class=\"nav-header__search\"\n [(isOpen)]=\"_searchOpen\"\n [value]=\"_searchStore.query()\"\n [searchLabel]=\"_searchLabel()\"\n (searchChange)=\"_searchStore.updateQuery($event)\"\n />\n } @else if (_trail() || _isSearch()) {\n <!-- The nav's row, and the bar's toggle stands in it rather than in a row\n stacked on top of it. Both slots are written a single `@if` deep: a\n Section matches its projected slots by tag, and a node nested deeper\n falls through to the body instead. -->\n <m-section-back [back]=\"_hasParent()\" (navigate)=\"_navStore.back()\">\n @if (_trail(); as trail) {\n <m-nav-trail [config]=\"trail\" />\n }\n @if (_isSearch()) {\n <m-button\n class=\"nav-header__search-toggle\"\n [config]=\"_searchToggle\"\n (clicked)=\"_openSearch()\"\n />\n }\n </m-section-back>\n }\n\n @if (_user(); as user) {\n <m-user class=\"nav-header__user\" [id]=\"user.id\" [user]=\"user\" mRef=\"root_user\">\n <span class=\"nav-header__username\">@{{ user.username }}</span>\n </m-user>\n } @else if (_header(); as h) {\n @if (h.label) {\n <m-section-header class=\"nav-header__title\" [icon]=\"h.icon\" [label]=\"h.label\" />\n }\n }\n</m-section>\n",
|
|
41303
|
+
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.nav-header__user{display:block;padding:1rem}.nav-header__username{font-size:.6875rem;font-weight:600;color:var(--m-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}m-section-search.nav-header__search{--_nav-row-height: var(--section-header-min-height, calc(var(--section-header-py, .5rem) * 2 + 1.25rem));min-height:var(--_nav-row-height);padding-block:0;--m-input-clear-height: calc(var(--_nav-row-height) - .5rem);--m-input-clear-min-height: calc(var(--_nav-row-height) - .5rem)}\n"]
|
|
40831
41304
|
}]
|
|
40832
41305
|
}],
|
|
40833
41306
|
ctorParameters: () => []
|
|
@@ -40996,7 +41469,8 @@ var NavMenuComponent = class NavMenuComponent {
|
|
|
40996
41469
|
"size",
|
|
40997
41470
|
"one",
|
|
40998
41471
|
"baseUrl",
|
|
40999
|
-
"remote"
|
|
41472
|
+
"remote",
|
|
41473
|
+
"shadow"
|
|
41000
41474
|
],
|
|
41001
41475
|
outputs: ["configChange"]
|
|
41002
41476
|
},
|
|
@@ -41459,7 +41933,8 @@ var NavDetailsComponent = class NavDetailsComponent {
|
|
|
41459
41933
|
"size",
|
|
41460
41934
|
"one",
|
|
41461
41935
|
"baseUrl",
|
|
41462
|
-
"remote"
|
|
41936
|
+
"remote",
|
|
41937
|
+
"shadow"
|
|
41463
41938
|
],
|
|
41464
41939
|
outputs: ["configChange"]
|
|
41465
41940
|
},
|
|
@@ -41612,24 +42087,31 @@ var NavComponent = class NavComponent {
|
|
|
41612
42087
|
logo = computed(() => {
|
|
41613
42088
|
if (this.logoPending()) return void 0;
|
|
41614
42089
|
const config = this.isHost() ? void 0 : this.currentWcConfig();
|
|
41615
|
-
if (config?.
|
|
41616
|
-
|
|
41617
|
-
|
|
41618
|
-
|
|
41619
|
-
|
|
42090
|
+
if (config?.app) {
|
|
42091
|
+
const identity = this.#navStore.currentIdentity();
|
|
42092
|
+
return {
|
|
42093
|
+
app: config.app,
|
|
42094
|
+
alt: identity?.name ?? config.app,
|
|
42095
|
+
glyph: identity?.logoGlyph ?? null,
|
|
42096
|
+
color: identity?.appColor ?? null,
|
|
42097
|
+
src: void 0
|
|
42098
|
+
};
|
|
42099
|
+
}
|
|
41620
42100
|
const root = this.#navStore.navMap()[ROOT_NAV];
|
|
41621
42101
|
return root?.logo ? {
|
|
41622
|
-
|
|
42102
|
+
app: void 0,
|
|
41623
42103
|
alt: root.title ?? "logo",
|
|
41624
|
-
|
|
42104
|
+
glyph: null,
|
|
42105
|
+
color: null,
|
|
42106
|
+
src: root.logo
|
|
41625
42107
|
} : void 0;
|
|
41626
42108
|
}, ...ngDevMode ? [{ debugName: "logo" }] : /* istanbul ignore next */ []);
|
|
41627
42109
|
appRail = computed(() => {
|
|
41628
42110
|
if (!this.isHost()) return [];
|
|
41629
42111
|
const configs = this.#navStore.wcConfigMap();
|
|
42112
|
+
const identities = this.#navStore.identityMap();
|
|
41630
42113
|
const panelNavId = this.isNavOpened() ? this.#navStore.id() : void 0;
|
|
41631
42114
|
const isActive = (appNavId) => !!panelNavId && (panelNavId === appNavId || panelNavId.startsWith(`${appNavId}_`));
|
|
41632
|
-
const hostLogo = this.#navStore.navMap()[ROOT_NAV]?.logo;
|
|
41633
42115
|
const appLink = this.appLink();
|
|
41634
42116
|
const appNavId = this.#navStore.appNavId();
|
|
41635
42117
|
const main = appLink && appNavId && !this.activeAppOpen() ? [{
|
|
@@ -41648,9 +42130,9 @@ var NavComponent = class NavComponent {
|
|
|
41648
42130
|
key,
|
|
41649
42131
|
appNavId,
|
|
41650
42132
|
pending: !config,
|
|
41651
|
-
|
|
41652
|
-
|
|
41653
|
-
alt:
|
|
42133
|
+
glyph: identities[link]?.logoGlyph ?? null,
|
|
42134
|
+
color: identities[link]?.appColor ?? null,
|
|
42135
|
+
alt: identities[link]?.name ?? link,
|
|
41654
42136
|
active: isActive(appNavId)
|
|
41655
42137
|
}));
|
|
41656
42138
|
}, ...ngDevMode ? [{ debugName: "appRail" }] : /* istanbul ignore next */ []);
|
|
@@ -41836,7 +42318,7 @@ var NavComponent = class NavComponent {
|
|
|
41836
42318
|
outputs: { menuClicked: "menuClicked" },
|
|
41837
42319
|
host: { classAttribute: "m-nav" },
|
|
41838
42320
|
ngImport: i0,
|
|
41839
|
-
template: "<div class=\"nav\" [class.is-open]=\"isNavOpened()\" [class.is-scrolled-down]=\"isScrolledDown()\">\n <div class=\"nav__header\">\n @if (showLogo()) {\n @if (logo(); as logo) {\n <!-- AppLogo: menu open → home with panel still showing root; closed → home page. -->\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app\"\n [attr.data-app]=\"logo.app\"\n [attr.aria-label]=\"logo.alt\"\n [class.nav_logo--pop]=\"logoPop()\"\n [class.nav_logo--active]=\"logoActive()\"\n (click)=\"onLogoClick()\"\n (animationend)=\"logoPop.set(false)\"\n >\n <m-img class=\"nav_logo_img\" [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </button>\n } @else if (logoPending()) {\n <div class=\"nav_logo nav_logo--loading\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n }\n }\n <div class=\"nav_actions\">\n <m-one-button-group\n class=\"nav_main_group\"\n name=\"nav_main_button_group\"\n [buttons]=\"computedMainButtons()\"\n [vertical]=\"isVertical()\"\n />\n </div>\n @for (app of appRail(); track app.key) {\n <!-- App Rail: the Main Slot's App, then each Side App — opens the panel on its menu. -->\n @if (app.pending) {\n <div class=\"nav_logo nav_logo--loading nav_logo--rail\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app nav_logo--rail\"\n [attr.data-app]=\"app.key\"\n [attr.aria-label]=\"app.alt\"\n [class.nav_logo--active]=\"app.active\"\n (click)=\"onAppLogoClick(app.appNavId)\"\n >\n <m-
|
|
42321
|
+
template: "<div class=\"nav\" [class.is-open]=\"isNavOpened()\" [class.is-scrolled-down]=\"isScrolledDown()\">\n <div class=\"nav__header\">\n @if (showLogo()) {\n @if (logo(); as logo) {\n <!-- AppLogo: menu open → home with panel still showing root; closed → home page. -->\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app\"\n [attr.data-app]=\"logo.app\"\n [attr.aria-label]=\"logo.alt\"\n [class.nav_logo--pop]=\"logoPop()\"\n [class.nav_logo--active]=\"logoActive()\"\n (click)=\"onLogoClick()\"\n (animationend)=\"logoPop.set(false)\"\n >\n @if (logo.src) {\n <m-img class=\"nav_logo_img\" [src]=\"logo.src\" [alt]=\"logo.alt\" />\n } @else {\n <m-app-logo class=\"nav_logo_img\" [glyph]=\"logo.glyph\" [appColor]=\"logo.color\" [name]=\"logo.alt\" />\n }\n </button>\n } @else if (logoPending()) {\n <div class=\"nav_logo nav_logo--loading\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n }\n }\n <div class=\"nav_actions\">\n <m-one-button-group\n class=\"nav_main_group\"\n name=\"nav_main_button_group\"\n [buttons]=\"computedMainButtons()\"\n [vertical]=\"isVertical()\"\n />\n </div>\n @for (app of appRail(); track app.key) {\n <!-- App Rail: the Main Slot's App, then each Side App — opens the panel on its menu. -->\n @if (app.pending) {\n <div class=\"nav_logo nav_logo--loading nav_logo--rail\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app nav_logo--rail\"\n [attr.data-app]=\"app.key\"\n [attr.aria-label]=\"app.alt\"\n [class.nav_logo--active]=\"app.active\"\n (click)=\"onAppLogoClick(app.appNavId)\"\n >\n <m-app-logo class=\"nav_logo_img\" [glyph]=\"app.glyph\" [appColor]=\"app.color\" [name]=\"app.alt\" />\n </button>\n }\n }\n </div>\n\n <div class=\"nav__body\">\n <m-one-button (clicked)=\"toggleMenu()\" [config]=\"menuButtonConfig()\" />\n </div>\n\n <div class=\"nav__footer\">\n <m-one-button-group name=\"nav_footer_button_group\" [buttons]=\"computedFooterButtons()\" [vertical]=\"isVertical()\" />\n </div>\n</div>\n\n<div\n class=\"nav__backdrop\"\n [class.show]=\"isNavOpened()\"\n (click)=\"toggleMenu()\"\n (keydown.enter)=\"toggleMenu()\"\n tabindex=\"0\"\n></div>\n<m-nav-details />\n",
|
|
41840
42322
|
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.m-nav .nav{position:fixed;top:0;left:0;backdrop-filter:blur(16px) brightness(1.1) saturate(1.8) contrast(1.1);-webkit-backdrop-filter:blur(16px) brightness(1.1) saturate(1.8) contrast(1.1);background-color:var(--m-backdrop-glass);border:1px solid var(--m-backdrop-border);border:none;border-right:1px solid color-mix(in srgb,var(--m-border) 55%,transparent);width:64px;height:100%;transition:.4s cubic-bezier(.165,.84,.44,1) .15s ease-in-out;z-index:100;display:flex;flex-direction:column}.m-nav .nav button:not(.primary):not(:has(.nav-lang-label)):hover{background:#ffffff14;transform:scale(1.05);box-shadow:none}.m-nav .nav button:not(.primary):not(:has(.nav-lang-label)):active{transform:scale(.95);box-shadow:none}.m-nav .nav m-one-button:has(.nav-lang-label){--m-button-background: transparent;--m-button-hover-background: transparent;--m-button-border: none;--m-button-shadow: none;--m-button-padding: 0;--m-button-width: 2rem;--m-button-hover-transform: none}.m-nav .nav .button-group{display:flex;flex-direction:column;align-items:center;gap:1.75rem}.m-nav .nav_logo{display:flex;align-items:center;justify-content:center;padding:0;height:64px;width:64px;box-sizing:border-box;position:relative;margin:0 auto}.m-nav .nav_logo:after{content:\"\";position:absolute;bottom:0;left:10%;width:80%;height:2px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--m-mm) 25%,transparent) 0%,color-mix(in srgb,var(--m-success) 15%,transparent) 40%,transparent 100%);filter:blur(.5px);pointer-events:none;z-index:11}.m-nav .nav_logo.nav_logo--rail:after{content:none}.m-nav .nav_logo.nav_logo--app{border:0;background:transparent!important;font:inherit;color:inherit;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}.m-nav .nav_logo.nav_logo--app:hover{transform:none!important}.m-nav .nav_logo.nav_logo--app .nav_logo_img{display:block;width:32px;height:32px;margin:0 auto;position:relative;z-index:1;border-radius:9px;overflow:hidden;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.m-nav .nav_logo.nav_logo--app .nav_logo_img img{width:100%;height:100%;object-fit:cover}.m-nav .nav_logo.nav_logo--app:hover .nav_logo_img{transform:scale(1.06)}.m-nav .nav_logo.nav_logo--app:active .nav_logo_img{transform:scale(.88);transition-duration:.1s}.m-nav .nav_logo.nav_logo--app.nav_logo--pop .nav_logo_img{animation:nav-logo-pop .4s cubic-bezier(.34,1.56,.64,1)}.m-nav .nav_logo.nav_logo--app:before{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:14px;border:1px solid transparent;transform:translate(-50%,-50%) scale(.85);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.m-nav .nav_logo.nav_logo--app.nav_logo--active:before{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:color-mix(in srgb,var(--m-primary-color) 45%,transparent);background:color-mix(in srgb,var(--m-primary-color) 8%,transparent)}.m-nav .nav_logo.nav_logo--loading{cursor:default!important;pointer-events:none!important}.m-nav .nav_logo.nav_logo--loading .nav_logo-skeleton{width:28px;height:28px;margin:0 auto;border-radius:8px;background:#ffffff14;animation:nav-logo-skeleton-pulse 1.5s infinite ease-in-out}.m-nav .nav_logo svg{width:1.75rem;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--m-mm) 40%,transparent));transition:filter .3s ease-out}.m-nav .nav_logo svg:hover{filter:drop-shadow(0 8px 16px color-mix(in srgb,var(--m-mm) 60%,transparent))}.m-nav .nav_actions{width:100%;flex-direction:column;display:flex;align-items:center;justify-content:center;gap:1.75rem;margin-top:.5rem}.m-nav .nav_actions .nav_main_group{display:flex;flex-direction:column;align-items:center;width:100%}.m-nav .nav_user{width:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:12}.m-nav .nav__header,.m-nav .nav__footer{width:100%;position:relative;align-items:center;justify-content:center;display:flex;flex-direction:column}.m-nav .nav__body{width:100%;position:relative;flex:1;display:grid;place-items:center}@media(max-width:767px){.m-nav .nav{top:auto!important;bottom:0!important;left:0;right:0;position:fixed;width:100%;height:48px;box-sizing:content-box;display:flex;flex-direction:row;align-items:stretch;border-right:none;border-top:1px solid color-mix(in srgb,var(--m-border) 55%,transparent);padding-bottom:env(safe-area-inset-bottom);will-change:transform,opacity;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:color-mix(in srgb,var(--m-background) 70%,transparent)}.m-nav .nav.is-scrolled-down{transform:translateY(calc(100% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}.m-nav .nav .nav__footer{display:none}.m-nav .nav .nav__header{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:100%}.m-nav .nav .nav__header .nav_logo{flex:0 0 64px;display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.m-nav .nav .nav__header .nav_logo.nav_logo--loading{cursor:default!important;pointer-events:none!important}.m-nav .nav .nav__header .nav_logo svg{width:1.5rem}.m-nav .nav .nav__header .nav_actions{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;height:100%}.m-nav .nav .nav__header .nav_actions .nav_main_group{display:flex;align-items:center}.m-nav .nav .nav__header .nav_actions .nav_main_group .button-group{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.75rem}.m-nav .nav .nav__body{flex:0 0 48px;display:flex;justify-content:flex-end;align-items:center;padding-right:.25rem;height:100%}}@media(min-width:768px)and (max-width:1199px){.m-nav .nav{top:auto!important;bottom:0!important;left:0;right:0;position:fixed;width:100%;height:56px;box-sizing:content-box;display:flex;flex-direction:row;align-items:stretch;border-right:none;border-top:1px solid color-mix(in srgb,var(--m-border) 55%,transparent);padding-bottom:env(safe-area-inset-bottom);will-change:transform,opacity;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:color-mix(in srgb,var(--m-background) 70%,transparent)}.m-nav .nav.is-scrolled-down{transform:translateY(calc(100% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}.m-nav .nav .nav__footer{display:none}.m-nav .nav .nav__header{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:100%}.m-nav .nav .nav__header .nav_logo{flex:0 0 72px;display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.m-nav .nav .nav__header .nav_logo.nav_logo--loading{cursor:default!important;pointer-events:none!important}.m-nav .nav .nav__header .nav_logo svg{width:1.75rem}.m-nav .nav .nav__header .nav_actions{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1.25rem;height:100%}.m-nav .nav .nav__header .nav_actions .nav_main_group{display:flex;align-items:center}.m-nav .nav .nav__header .nav_actions .nav_main_group .button-group{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:1.25rem}.m-nav .nav .nav__body{flex:0 0 56px;display:flex;justify-content:flex-end;align-items:center;padding-right:.5rem;height:100%}}@keyframes breathe{0%,to{box-shadow:0 2px 8px #00000014,0 0 0 0 transparent}50%{box-shadow:0 6px 16px color-mix(in srgb,var(--m-mm) 20%,transparent),0 0 10px 2px color-mix(in srgb,var(--m-mm) 25%,transparent)}}.m-nav .nav__backdrop{position:fixed;inset:0;z-index:80;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1);cursor:pointer}.m-nav .nav__backdrop.show{opacity:1;pointer-events:all}.m-nav .nav-lang-label{font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--m-text-secondary);opacity:.8;line-height:1;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:2em;background:#00000008;transition:all .2s ease}.m-nav button:has(.nav-lang-label):hover .nav-lang-label{background:#0000000f;opacity:1;color:var(--m-primary-color)}.m-nav button.primary:has(.nav-lang-label) .nav-lang-label{background:var(--m-btn-color-opposite, #e1b941);opacity:1}@keyframes nav-logo-skeleton-pulse{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}@keyframes nav-logo-pop{0%{transform:scale(1)}35%{transform:scale(.85)}70%{transform:scale(1.06)}to{transform:scale(1)}}\n"],
|
|
41841
42323
|
dependencies: [
|
|
41842
42324
|
{
|
|
@@ -41908,6 +42390,16 @@ var NavComponent = class NavComponent {
|
|
|
41908
42390
|
"ngSrcset",
|
|
41909
42391
|
"sizes"
|
|
41910
42392
|
]
|
|
42393
|
+
},
|
|
42394
|
+
{
|
|
42395
|
+
kind: "component",
|
|
42396
|
+
type: AppLogoComponent,
|
|
42397
|
+
selector: "m-app-logo",
|
|
42398
|
+
inputs: [
|
|
42399
|
+
"glyph",
|
|
42400
|
+
"appColor",
|
|
42401
|
+
"name"
|
|
42402
|
+
]
|
|
41911
42403
|
}
|
|
41912
42404
|
],
|
|
41913
42405
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
@@ -41927,12 +42419,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
41927
42419
|
ButtonGroupComponent,
|
|
41928
42420
|
ButtonComponent,
|
|
41929
42421
|
NavDetailsComponent,
|
|
41930
|
-
ImgComponent
|
|
42422
|
+
ImgComponent,
|
|
42423
|
+
AppLogoComponent
|
|
41931
42424
|
],
|
|
41932
42425
|
encapsulation: ViewEncapsulation.None,
|
|
41933
42426
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
41934
42427
|
host: { class: "m-nav" },
|
|
41935
|
-
template: "<div class=\"nav\" [class.is-open]=\"isNavOpened()\" [class.is-scrolled-down]=\"isScrolledDown()\">\n <div class=\"nav__header\">\n @if (showLogo()) {\n @if (logo(); as logo) {\n <!-- AppLogo: menu open → home with panel still showing root; closed → home page. -->\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app\"\n [attr.data-app]=\"logo.app\"\n [attr.aria-label]=\"logo.alt\"\n [class.nav_logo--pop]=\"logoPop()\"\n [class.nav_logo--active]=\"logoActive()\"\n (click)=\"onLogoClick()\"\n (animationend)=\"logoPop.set(false)\"\n >\n <m-img class=\"nav_logo_img\" [src]=\"logo.src\" [alt]=\"logo.alt\" />\n </button>\n } @else if (logoPending()) {\n <div class=\"nav_logo nav_logo--loading\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n }\n }\n <div class=\"nav_actions\">\n <m-one-button-group\n class=\"nav_main_group\"\n name=\"nav_main_button_group\"\n [buttons]=\"computedMainButtons()\"\n [vertical]=\"isVertical()\"\n />\n </div>\n @for (app of appRail(); track app.key) {\n <!-- App Rail: the Main Slot's App, then each Side App — opens the panel on its menu. -->\n @if (app.pending) {\n <div class=\"nav_logo nav_logo--loading nav_logo--rail\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app nav_logo--rail\"\n [attr.data-app]=\"app.key\"\n [attr.aria-label]=\"app.alt\"\n [class.nav_logo--active]=\"app.active\"\n (click)=\"onAppLogoClick(app.appNavId)\"\n >\n <m-
|
|
42428
|
+
template: "<div class=\"nav\" [class.is-open]=\"isNavOpened()\" [class.is-scrolled-down]=\"isScrolledDown()\">\n <div class=\"nav__header\">\n @if (showLogo()) {\n @if (logo(); as logo) {\n <!-- AppLogo: menu open → home with panel still showing root; closed → home page. -->\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app\"\n [attr.data-app]=\"logo.app\"\n [attr.aria-label]=\"logo.alt\"\n [class.nav_logo--pop]=\"logoPop()\"\n [class.nav_logo--active]=\"logoActive()\"\n (click)=\"onLogoClick()\"\n (animationend)=\"logoPop.set(false)\"\n >\n @if (logo.src) {\n <m-img class=\"nav_logo_img\" [src]=\"logo.src\" [alt]=\"logo.alt\" />\n } @else {\n <m-app-logo class=\"nav_logo_img\" [glyph]=\"logo.glyph\" [appColor]=\"logo.color\" [name]=\"logo.alt\" />\n }\n </button>\n } @else if (logoPending()) {\n <div class=\"nav_logo nav_logo--loading\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n }\n }\n <div class=\"nav_actions\">\n <m-one-button-group\n class=\"nav_main_group\"\n name=\"nav_main_button_group\"\n [buttons]=\"computedMainButtons()\"\n [vertical]=\"isVertical()\"\n />\n </div>\n @for (app of appRail(); track app.key) {\n <!-- App Rail: the Main Slot's App, then each Side App — opens the panel on its menu. -->\n @if (app.pending) {\n <div class=\"nav_logo nav_logo--loading nav_logo--rail\">\n <div class=\"nav_logo-skeleton\"></div>\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"nav_logo nav_logo--app nav_logo--rail\"\n [attr.data-app]=\"app.key\"\n [attr.aria-label]=\"app.alt\"\n [class.nav_logo--active]=\"app.active\"\n (click)=\"onAppLogoClick(app.appNavId)\"\n >\n <m-app-logo class=\"nav_logo_img\" [glyph]=\"app.glyph\" [appColor]=\"app.color\" [name]=\"app.alt\" />\n </button>\n }\n }\n </div>\n\n <div class=\"nav__body\">\n <m-one-button (clicked)=\"toggleMenu()\" [config]=\"menuButtonConfig()\" />\n </div>\n\n <div class=\"nav__footer\">\n <m-one-button-group name=\"nav_footer_button_group\" [buttons]=\"computedFooterButtons()\" [vertical]=\"isVertical()\" />\n </div>\n</div>\n\n<div\n class=\"nav__backdrop\"\n [class.show]=\"isNavOpened()\"\n (click)=\"toggleMenu()\"\n (keydown.enter)=\"toggleMenu()\"\n tabindex=\"0\"\n></div>\n<m-nav-details />\n",
|
|
41936
42429
|
styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.m-nav .nav{position:fixed;top:0;left:0;backdrop-filter:blur(16px) brightness(1.1) saturate(1.8) contrast(1.1);-webkit-backdrop-filter:blur(16px) brightness(1.1) saturate(1.8) contrast(1.1);background-color:var(--m-backdrop-glass);border:1px solid var(--m-backdrop-border);border:none;border-right:1px solid color-mix(in srgb,var(--m-border) 55%,transparent);width:64px;height:100%;transition:.4s cubic-bezier(.165,.84,.44,1) .15s ease-in-out;z-index:100;display:flex;flex-direction:column}.m-nav .nav button:not(.primary):not(:has(.nav-lang-label)):hover{background:#ffffff14;transform:scale(1.05);box-shadow:none}.m-nav .nav button:not(.primary):not(:has(.nav-lang-label)):active{transform:scale(.95);box-shadow:none}.m-nav .nav m-one-button:has(.nav-lang-label){--m-button-background: transparent;--m-button-hover-background: transparent;--m-button-border: none;--m-button-shadow: none;--m-button-padding: 0;--m-button-width: 2rem;--m-button-hover-transform: none}.m-nav .nav .button-group{display:flex;flex-direction:column;align-items:center;gap:1.75rem}.m-nav .nav_logo{display:flex;align-items:center;justify-content:center;padding:0;height:64px;width:64px;box-sizing:border-box;position:relative;margin:0 auto}.m-nav .nav_logo:after{content:\"\";position:absolute;bottom:0;left:10%;width:80%;height:2px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--m-mm) 25%,transparent) 0%,color-mix(in srgb,var(--m-success) 15%,transparent) 40%,transparent 100%);filter:blur(.5px);pointer-events:none;z-index:11}.m-nav .nav_logo.nav_logo--rail:after{content:none}.m-nav .nav_logo.nav_logo--app{border:0;background:transparent!important;font:inherit;color:inherit;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}.m-nav .nav_logo.nav_logo--app:hover{transform:none!important}.m-nav .nav_logo.nav_logo--app .nav_logo_img{display:block;width:32px;height:32px;margin:0 auto;position:relative;z-index:1;border-radius:9px;overflow:hidden;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.m-nav .nav_logo.nav_logo--app .nav_logo_img img{width:100%;height:100%;object-fit:cover}.m-nav .nav_logo.nav_logo--app:hover .nav_logo_img{transform:scale(1.06)}.m-nav .nav_logo.nav_logo--app:active .nav_logo_img{transform:scale(.88);transition-duration:.1s}.m-nav .nav_logo.nav_logo--app.nav_logo--pop .nav_logo_img{animation:nav-logo-pop .4s cubic-bezier(.34,1.56,.64,1)}.m-nav .nav_logo.nav_logo--app:before{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:14px;border:1px solid transparent;transform:translate(-50%,-50%) scale(.85);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.m-nav .nav_logo.nav_logo--app.nav_logo--active:before{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:color-mix(in srgb,var(--m-primary-color) 45%,transparent);background:color-mix(in srgb,var(--m-primary-color) 8%,transparent)}.m-nav .nav_logo.nav_logo--loading{cursor:default!important;pointer-events:none!important}.m-nav .nav_logo.nav_logo--loading .nav_logo-skeleton{width:28px;height:28px;margin:0 auto;border-radius:8px;background:#ffffff14;animation:nav-logo-skeleton-pulse 1.5s infinite ease-in-out}.m-nav .nav_logo svg{width:1.75rem;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 4px 12px color-mix(in srgb,var(--m-mm) 40%,transparent));transition:filter .3s ease-out}.m-nav .nav_logo svg:hover{filter:drop-shadow(0 8px 16px color-mix(in srgb,var(--m-mm) 60%,transparent))}.m-nav .nav_actions{width:100%;flex-direction:column;display:flex;align-items:center;justify-content:center;gap:1.75rem;margin-top:.5rem}.m-nav .nav_actions .nav_main_group{display:flex;flex-direction:column;align-items:center;width:100%}.m-nav .nav_user{width:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:12}.m-nav .nav__header,.m-nav .nav__footer{width:100%;position:relative;align-items:center;justify-content:center;display:flex;flex-direction:column}.m-nav .nav__body{width:100%;position:relative;flex:1;display:grid;place-items:center}@media(max-width:767px){.m-nav .nav{top:auto!important;bottom:0!important;left:0;right:0;position:fixed;width:100%;height:48px;box-sizing:content-box;display:flex;flex-direction:row;align-items:stretch;border-right:none;border-top:1px solid color-mix(in srgb,var(--m-border) 55%,transparent);padding-bottom:env(safe-area-inset-bottom);will-change:transform,opacity;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:color-mix(in srgb,var(--m-background) 70%,transparent)}.m-nav .nav.is-scrolled-down{transform:translateY(calc(100% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}.m-nav .nav .nav__footer{display:none}.m-nav .nav .nav__header{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:100%}.m-nav .nav .nav__header .nav_logo{flex:0 0 64px;display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.m-nav .nav .nav__header .nav_logo.nav_logo--loading{cursor:default!important;pointer-events:none!important}.m-nav .nav .nav__header .nav_logo svg{width:1.5rem}.m-nav .nav .nav__header .nav_actions{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;height:100%}.m-nav .nav .nav__header .nav_actions .nav_main_group{display:flex;align-items:center}.m-nav .nav .nav__header .nav_actions .nav_main_group .button-group{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.75rem}.m-nav .nav .nav__body{flex:0 0 48px;display:flex;justify-content:flex-end;align-items:center;padding-right:.25rem;height:100%}}@media(min-width:768px)and (max-width:1199px){.m-nav .nav{top:auto!important;bottom:0!important;left:0;right:0;position:fixed;width:100%;height:56px;box-sizing:content-box;display:flex;flex-direction:row;align-items:stretch;border-right:none;border-top:1px solid color-mix(in srgb,var(--m-border) 55%,transparent);padding-bottom:env(safe-area-inset-bottom);will-change:transform,opacity;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:color-mix(in srgb,var(--m-background) 70%,transparent)}.m-nav .nav.is-scrolled-down{transform:translateY(calc(100% + env(safe-area-inset-bottom)));opacity:0;pointer-events:none}.m-nav .nav .nav__footer{display:none}.m-nav .nav .nav__header{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:100%}.m-nav .nav .nav__header .nav_logo{flex:0 0 72px;display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.m-nav .nav .nav__header .nav_logo.nav_logo--loading{cursor:default!important;pointer-events:none!important}.m-nav .nav .nav__header .nav_logo svg{width:1.75rem}.m-nav .nav .nav__header .nav_actions{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1.25rem;height:100%}.m-nav .nav .nav__header .nav_actions .nav_main_group{display:flex;align-items:center}.m-nav .nav .nav__header .nav_actions .nav_main_group .button-group{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:1.25rem}.m-nav .nav .nav__body{flex:0 0 56px;display:flex;justify-content:flex-end;align-items:center;padding-right:.5rem;height:100%}}@keyframes breathe{0%,to{box-shadow:0 2px 8px #00000014,0 0 0 0 transparent}50%{box-shadow:0 6px 16px color-mix(in srgb,var(--m-mm) 20%,transparent),0 0 10px 2px color-mix(in srgb,var(--m-mm) 25%,transparent)}}.m-nav .nav__backdrop{position:fixed;inset:0;z-index:80;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1);cursor:pointer}.m-nav .nav__backdrop.show{opacity:1;pointer-events:all}.m-nav .nav-lang-label{font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--m-text-secondary);opacity:.8;line-height:1;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:2em;background:#00000008;transition:all .2s ease}.m-nav button:has(.nav-lang-label):hover .nav-lang-label{background:#0000000f;opacity:1;color:var(--m-primary-color)}.m-nav button.primary:has(.nav-lang-label) .nav-lang-label{background:var(--m-btn-color-opposite, #e1b941);opacity:1}@keyframes nav-logo-skeleton-pulse{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}@keyframes nav-logo-pop{0%{transform:scale(1)}35%{transform:scale(.85)}70%{transform:scale(1.06)}to{transform:scale(1)}}\n"]
|
|
41937
42430
|
}]
|
|
41938
42431
|
}],
|
|
@@ -41970,7 +42463,6 @@ var FooterComponent = class FooterComponent {
|
|
|
41970
42463
|
#navStore = inject(NavStore);
|
|
41971
42464
|
currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
41972
42465
|
activeApp = this.#navStore.currentWcConfig;
|
|
41973
|
-
companyName = computed(() => this.activeApp()?.company ?? "Magmonium India Private Limited", ...ngDevMode ? [{ debugName: "companyName" }] : /* istanbul ignore next */ []);
|
|
41974
42466
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
41975
42467
|
minVersion: "12.0.0",
|
|
41976
42468
|
version: "22.2.1",
|
|
@@ -42028,7 +42520,8 @@ var FooterComponent = class FooterComponent {
|
|
|
42028
42520
|
"size",
|
|
42029
42521
|
"one",
|
|
42030
42522
|
"baseUrl",
|
|
42031
|
-
"remote"
|
|
42523
|
+
"remote",
|
|
42524
|
+
"shadow"
|
|
42032
42525
|
],
|
|
42033
42526
|
outputs: ["configChange"]
|
|
42034
42527
|
},
|
|
@@ -44231,7 +44724,8 @@ var ThemeCardContentComponent = class ThemeCardContentComponent {
|
|
|
44231
44724
|
"size",
|
|
44232
44725
|
"one",
|
|
44233
44726
|
"baseUrl",
|
|
44234
|
-
"remote"
|
|
44727
|
+
"remote",
|
|
44728
|
+
"shadow"
|
|
44235
44729
|
],
|
|
44236
44730
|
outputs: ["configChange"]
|
|
44237
44731
|
}, {
|
|
@@ -48014,7 +48508,8 @@ var SvgGeneratorComponent = class SvgGeneratorComponent {
|
|
|
48014
48508
|
"size",
|
|
48015
48509
|
"one",
|
|
48016
48510
|
"baseUrl",
|
|
48017
|
-
"remote"
|
|
48511
|
+
"remote",
|
|
48512
|
+
"shadow"
|
|
48018
48513
|
],
|
|
48019
48514
|
outputs: ["configChange"]
|
|
48020
48515
|
},
|
|
@@ -48279,7 +48774,8 @@ var SearchUserPanelComponent = class SearchUserPanelComponent {
|
|
|
48279
48774
|
"size",
|
|
48280
48775
|
"one",
|
|
48281
48776
|
"baseUrl",
|
|
48282
|
-
"remote"
|
|
48777
|
+
"remote",
|
|
48778
|
+
"shadow"
|
|
48283
48779
|
],
|
|
48284
48780
|
outputs: ["configChange"]
|
|
48285
48781
|
},
|
|
@@ -49202,7 +49698,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
49202
49698
|
}]
|
|
49203
49699
|
}
|
|
49204
49700
|
});
|
|
49205
|
-
const FALLBACK_ICON = "apps";
|
|
49206
49701
|
var AppTileComponent = class AppTileComponent {
|
|
49207
49702
|
app = input.required(...ngDevMode ? [{ debugName: "app" }] : /* istanbul ignore next */ []);
|
|
49208
49703
|
notifications = input([], ...ngDevMode ? [{ debugName: "notifications" }] : /* istanbul ignore next */ []);
|
|
@@ -49210,13 +49705,7 @@ var AppTileComponent = class AppTileComponent {
|
|
|
49210
49705
|
openApp = output();
|
|
49211
49706
|
clearAll = output();
|
|
49212
49707
|
expanded = signal(false, ...ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []);
|
|
49213
|
-
fallback = FALLBACK_ICON;
|
|
49214
49708
|
icon = computed(() => this.app()?.icon, ...ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []);
|
|
49215
|
-
remote = computed(() => this.app()?.remote, ...ngDevMode ? [{ debugName: "remote" }] : /* istanbul ignore next */ []);
|
|
49216
|
-
isUrl = computed(() => {
|
|
49217
|
-
const icon = this.icon();
|
|
49218
|
-
return !!icon && (icon.startsWith("http") || icon.startsWith("/") || icon.includes("."));
|
|
49219
|
-
}, ...ngDevMode ? [{ debugName: "isUrl" }] : /* istanbul ignore next */ []);
|
|
49220
49709
|
notificationCount = computed(() => this.notifications().length, ...ngDevMode ? [{ debugName: "notificationCount" }] : /* istanbul ignore next */ []);
|
|
49221
49710
|
expandOrNavigate = (_event) => {
|
|
49222
49711
|
if (this.expanded()) {
|
|
@@ -49295,10 +49784,10 @@ var AppTileComponent = class AppTileComponent {
|
|
|
49295
49784
|
@if (expanded()) {
|
|
49296
49785
|
<div class="app-tile__header">
|
|
49297
49786
|
<div class="app-tile__header-icon">
|
|
49298
|
-
@if (
|
|
49299
|
-
<m-
|
|
49787
|
+
@if (icon(); as name) {
|
|
49788
|
+
<m-icon [name]="name" color="mm" />
|
|
49300
49789
|
} @else {
|
|
49301
|
-
<m-
|
|
49790
|
+
<m-app-logo [glyph]="app.logoGlyph" [appColor]="app.appColor" [name]="app.name" />
|
|
49302
49791
|
}
|
|
49303
49792
|
</div>
|
|
49304
49793
|
<span class="app-tile__header-name">{{ app.name }}</span>
|
|
@@ -49314,13 +49803,13 @@ var AppTileComponent = class AppTileComponent {
|
|
|
49314
49803
|
</div>
|
|
49315
49804
|
} @else {
|
|
49316
49805
|
<div class="app-tile__icon-wrapper">
|
|
49317
|
-
@if (
|
|
49318
|
-
<div class="app-
|
|
49319
|
-
<m-
|
|
49806
|
+
@if (icon(); as name) {
|
|
49807
|
+
<div class="app-tile__icon">
|
|
49808
|
+
<m-icon [name]="name" />
|
|
49320
49809
|
</div>
|
|
49321
49810
|
} @else {
|
|
49322
|
-
<div class="app-
|
|
49323
|
-
<m-
|
|
49811
|
+
<div class="app-tile__custom-icon">
|
|
49812
|
+
<m-app-logo [glyph]="app.logoGlyph" [appColor]="app.appColor" [name]="app.name" />
|
|
49324
49813
|
</div>
|
|
49325
49814
|
}
|
|
49326
49815
|
@if (notificationCount() > 0) {
|
|
@@ -49337,20 +49826,12 @@ var AppTileComponent = class AppTileComponent {
|
|
|
49337
49826
|
dependencies: [
|
|
49338
49827
|
{
|
|
49339
49828
|
kind: "component",
|
|
49340
|
-
type:
|
|
49341
|
-
selector: "m-
|
|
49829
|
+
type: AppLogoComponent,
|
|
49830
|
+
selector: "m-app-logo",
|
|
49342
49831
|
inputs: [
|
|
49343
|
-
"
|
|
49344
|
-
"
|
|
49345
|
-
"
|
|
49346
|
-
"alt",
|
|
49347
|
-
"priority",
|
|
49348
|
-
"fill",
|
|
49349
|
-
"width",
|
|
49350
|
-
"height",
|
|
49351
|
-
"remote",
|
|
49352
|
-
"ngSrcset",
|
|
49353
|
-
"sizes"
|
|
49832
|
+
"glyph",
|
|
49833
|
+
"appColor",
|
|
49834
|
+
"name"
|
|
49354
49835
|
]
|
|
49355
49836
|
},
|
|
49356
49837
|
{
|
|
@@ -49364,7 +49845,8 @@ var AppTileComponent = class AppTileComponent {
|
|
|
49364
49845
|
"size",
|
|
49365
49846
|
"one",
|
|
49366
49847
|
"baseUrl",
|
|
49367
|
-
"remote"
|
|
49848
|
+
"remote",
|
|
49849
|
+
"shadow"
|
|
49368
49850
|
],
|
|
49369
49851
|
outputs: ["configChange"]
|
|
49370
49852
|
},
|
|
@@ -49410,7 +49892,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
49410
49892
|
selector: "m-app-tile",
|
|
49411
49893
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49412
49894
|
imports: [
|
|
49413
|
-
|
|
49895
|
+
AppLogoComponent,
|
|
49414
49896
|
IconComponent,
|
|
49415
49897
|
BadgeComponent,
|
|
49416
49898
|
ButtonGroupComponent,
|
|
@@ -49432,10 +49914,10 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
49432
49914
|
@if (expanded()) {
|
|
49433
49915
|
<div class="app-tile__header">
|
|
49434
49916
|
<div class="app-tile__header-icon">
|
|
49435
|
-
@if (
|
|
49436
|
-
<m-
|
|
49917
|
+
@if (icon(); as name) {
|
|
49918
|
+
<m-icon [name]="name" color="mm" />
|
|
49437
49919
|
} @else {
|
|
49438
|
-
<m-
|
|
49920
|
+
<m-app-logo [glyph]="app.logoGlyph" [appColor]="app.appColor" [name]="app.name" />
|
|
49439
49921
|
}
|
|
49440
49922
|
</div>
|
|
49441
49923
|
<span class="app-tile__header-name">{{ app.name }}</span>
|
|
@@ -49451,13 +49933,13 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
49451
49933
|
</div>
|
|
49452
49934
|
} @else {
|
|
49453
49935
|
<div class="app-tile__icon-wrapper">
|
|
49454
|
-
@if (
|
|
49455
|
-
<div class="app-
|
|
49456
|
-
<m-
|
|
49936
|
+
@if (icon(); as name) {
|
|
49937
|
+
<div class="app-tile__icon">
|
|
49938
|
+
<m-icon [name]="name" />
|
|
49457
49939
|
</div>
|
|
49458
49940
|
} @else {
|
|
49459
|
-
<div class="app-
|
|
49460
|
-
<m-
|
|
49941
|
+
<div class="app-tile__custom-icon">
|
|
49942
|
+
<m-app-logo [glyph]="app.logoGlyph" [appColor]="app.appColor" [name]="app.name" />
|
|
49461
49943
|
</div>
|
|
49462
49944
|
}
|
|
49463
49945
|
@if (notificationCount() > 0) {
|
|
@@ -49718,7 +50200,8 @@ var AudiencePickerBoxComponent = class AudiencePickerBoxComponent {
|
|
|
49718
50200
|
"size",
|
|
49719
50201
|
"one",
|
|
49720
50202
|
"baseUrl",
|
|
49721
|
-
"remote"
|
|
50203
|
+
"remote",
|
|
50204
|
+
"shadow"
|
|
49722
50205
|
],
|
|
49723
50206
|
outputs: ["configChange"]
|
|
49724
50207
|
},
|
|
@@ -50103,6 +50586,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
50103
50586
|
}]
|
|
50104
50587
|
}
|
|
50105
50588
|
});
|
|
50106
|
-
export { ACCESS_DOMAINS, APP_CONTEXT_REF, APP_LINK, ASSET_BASE_URL, AUDIENCE_ICONS, AUDIENCE_LEVELS, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppAvailability, AppCardComponent, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AudiencePickerBoxComponent, AudiencePickerComponent, AuthActivityPageComponent, AuthApiService, AuthStore, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, BrowserLocaleService, ButtonComponent, ButtonGroupComponent, CALLING_APP_HEADER, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, ChatBubbleComponent, CheckboxGroupComponent, CheckboxInputComponent, ClearableInputComponent, ClipboardService, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, CompactNumberPipe, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_AUDIENCE, DEFAULT_DENIAL, DEFAULT_DOC_ALIGN, DEFAULT_DOC_DENSITY, DEFAULT_DOC_VARIANT, DEFAULT_FILTER_RANGE_MODE, DEFAULT_FILTER_VARIANT, DEFAULT_NAV_PARAM, DEFAULT_NAV_SEGMENT, DEFAULT_SIZE, DOCK_MIN_PAGE_REMAINDER, DOCS_FOLDER, DOC_ACTION_ICONS, DOC_ALIGNS, DOC_DENSITIES, DOC_EDIT_ACTIONS, DOC_TOOLBAR_GROUPS, DOC_VARIANTS, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DocComponent, DocEditorComponent, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FILTER_GROUP_CONTEXT, FILTER_RANGE_MODES, FILTER_VARIANTS, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GRID_BREAKPOINTS, GetNavService, HeaderComponent, HighlightDirective, HttpService, HttpSharingClient, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOADING_ACTIONS_REF, LOGIN_COMPONENT, LOGIN_STORE, LanguageComponent, ListComponent, LogoComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MOUNT_STATIC_SEGMENT, MOUNT_TOKEN, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MarginDirective, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MultiselectInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavHeaderComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OVERLAY_WIDGETS, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PLUGIN_FALLBACK_LANG, PLUGIN_OUTPUT_EVENT, PLUGIN_SCREENS, PaddingDirective, PaginationComponent, PanelComponent, PercentagePipe, PlaygroundComponent, PluginComponent, PluginInputComponent, PluginOutputComponent, PositionDirective, PwaInstallComponent, RECENT_SEARCH_LIMIT, REMOTE_PAGE_RELOAD, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_ANSWER_KEY, SEARCH_LABEL_KEY, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_FORM_CONTEXT, SECTION_TABLE_VARIANTS, SHARED_ICONS, SHARING_CLIENT, SIZE_CONTEXT, SPACING_INWARD, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionCarouselComponent, SectionComponent, SectionFilterComponent, SectionFilterGroupComponent, SectionFilterMenuComponent, SectionFilterPanelComponent, SectionFilterRangePanelComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionHeroComponent, SectionPaginationComponent, SectionSearchComponent, SectionStepperComponent, SectionTableCellComponent, SectionTableComponent, SectionTableRowComponent, SectionTableSortPipe, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StatComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeDataService, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_BUNDLE, WC_NAVIGATE_EVENT, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, activeElementWithin, allowedCodes, anchorNavId, applyColorsToElement, applyDocEdit, assetOptions, baseUnderHost, bootstrapMagApp, bootstrapPwaInstall, browserLocale, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkDoc, checkFilterCondition, childNavId, claimDenial, classListSignal, coerceSize, cornerEdge, cornerSide, createLoadingState, createMap, createPlatformNavMap, createPluginElement, definePluginScreens, definedWcBundleOf, definedWcTierOf, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, docActionKey, docAssetCandidates, docProblemKey, docRemotePath, emailValidation, evaluate, evaluateBool, exposeScreens, exposedScreensOf, fieldBoolean, fieldNumber, fieldString, filterHoldsList, filterHoldsOneBound, filterHoldsOptions, filterHoldsRange, filterList, filterNumber, filterNumberList, filterOne, filterPanelOf, filterPanelWidth, filterRange, filterTreeGridRows, filterValueList, filterValues, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initialState, initials, injectAuthenticate, injectDefaultDenial, injectInstallApp, injectParentSize, injectScrollSticky, isBootRedirect, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLoadingComputed, isLocalhost, isNavInstanceConfig, isNavMenuConfig, isNavRowsConfig, isNavVisibilityConfig, isPlatformNavId, isPlatformPanelNavId, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, mInterceptor, manualValidation, matchFieldValidation, matchMount, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkToHtml, mountFor, mountPatternProblem, mountPatternText, mountSegmentOf, mountTokenOf, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navParamOf, navTailMatcher, navToId, navVisibilityGuard, nextSectionTableSort, normalizeAssetOptions, offsetOfLine, outletPathOf, outletSegmentsOf, parentNavId, parseAddress, parseColor, parseMountPattern, parsePatternNames, patternValidation, patternsValidation, permissionRefusal, pickCount, pickSupportedLanguage, picksMembers, platformNavWidgets, pluginTag, presetDefaultOption, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, provideOverlayWidgets, providePlatformNavWidgets, providePluginRuntime, provideSearch, provideSizeContext, provideUserTabs, publicGuard, readFieldPatterns, recordDefinedWcTier, remoteOutletRoute, renderAddress, renderDocument, requiredValidation, resolveConfigAsset, resolveIconSize, resolvePallet, resolvePatternRules, resolveSize, resolveSpacing, rgbToHex, rgbToHsl, rowHasChildren, samePatterns, sectionTableColumnId, sectionTableColumnWidths, sectionTableFrozenCount, segmentsToNavId, setProperty, setTreeGridChildren, setWcLocalPort, setWcTier, settingsWidgets, shouldShowBadge, sortSectionTableRows, splitNavId, splitOnMatch, splitPath, stringToColor, tailRouteOf, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleGroup, toggleTreeGridRow, toggleUid, unfetchedPlatformNav, ungroupedDocActions, urlValidation, wcLocalBaseOf, wcTierOf, withLevel };
|
|
50589
|
+
export { ACCESS_DOMAINS, APP_CONTEXT_REF, APP_LINK, APP_LOGO_ICON, APP_LOGO_SOURCE, ASSET_BASE_URL, AUDIENCE_ICONS, AUDIENCE_LEVELS, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppAvailability, AppCardComponent, AppIdentityService, AppLogoComponent, AppLogoState, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AudiencePickerBoxComponent, AudiencePickerComponent, AuthActivityPageComponent, AuthApiService, AuthStore, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, BrowserLocaleService, ButtonComponent, ButtonGroupComponent, CALLING_APP_HEADER, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, ChatBubbleComponent, CheckboxGroupComponent, CheckboxInputComponent, ClearableInputComponent, ClipboardService, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, CompactNumberPipe, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_AUDIENCE, DEFAULT_DENIAL, DEFAULT_DOC_ALIGN, DEFAULT_DOC_DENSITY, DEFAULT_DOC_VARIANT, DEFAULT_FILTER_RANGE_MODE, DEFAULT_FILTER_VARIANT, DEFAULT_NAV_PARAM, DEFAULT_NAV_SEGMENT, DEFAULT_SIZE, DOCK_MIN_PAGE_REMAINDER, DOCS_FOLDER, DOC_ACTION_ICONS, DOC_ALIGNS, DOC_DENSITIES, DOC_EDIT_ACTIONS, DOC_TOOLBAR_GROUPS, DOC_VARIANTS, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DocComponent, DocEditorComponent, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FILTER_GROUP_CONTEXT, FILTER_RANGE_MODES, FILTER_VARIANTS, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GRID_BREAKPOINTS, GetNavService, HeaderComponent, HighlightDirective, HttpService, HttpSharingClient, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOADING_ACTIONS_REF, LOGIN_COMPONENT, LOGIN_STORE, LOGO_GLYPH_MAX_BYTES, LanguageComponent, ListComponent, LogoComponent, LogoGlyphInputComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MOUNT_STATIC_SEGMENT, MOUNT_TOKEN, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MarginDirective, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MultiselectInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavHeaderComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OVERLAY_WIDGETS, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PLUGIN_FALLBACK_LANG, PLUGIN_OUTPUT_EVENT, PLUGIN_SCREENS, PaddingDirective, PaginationComponent, PanelComponent, PercentagePipe, PlaygroundComponent, PluginComponent, PluginInputComponent, PluginOutputComponent, PositionDirective, PwaInstallComponent, RECENT_SEARCH_LIMIT, REMOTE_PAGE_RELOAD, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_ANSWER_KEY, SEARCH_LABEL_KEY, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_FORM_CONTEXT, SECTION_TABLE_VARIANTS, SHARED_ICONS, SHARING_CLIENT, SIZE_CONTEXT, SPACING_INWARD, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionCarouselComponent, SectionComponent, SectionFilterComponent, SectionFilterGroupComponent, SectionFilterMenuComponent, SectionFilterPanelComponent, SectionFilterRangePanelComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionHeroComponent, SectionPaginationComponent, SectionSearchComponent, SectionStepperComponent, SectionTableCellComponent, SectionTableComponent, SectionTableRowComponent, SectionTableSortPipe, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StatComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeDataService, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_BUNDLE, WC_NAVIGATE_EVENT, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, activeElementWithin, allowedCodes, anchorNavId, appLogoShadowColor, applyColorsToElement, applyDocEdit, assetOptions, baseUnderHost, bootstrapMagApp, bootstrapPwaInstall, browserLocale, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkDoc, checkFilterCondition, childNavId, claimDenial, classListSignal, coerceSize, cornerEdge, cornerSide, createLoadingState, createMap, createPlatformNavMap, createPluginElement, definePluginScreens, definedWcBundleOf, definedWcTierOf, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, docActionKey, docAssetCandidates, docProblemKey, docRemotePath, emailValidation, evaluate, evaluateBool, exposeScreens, exposedScreensOf, fieldBoolean, fieldNumber, fieldString, filterHoldsList, filterHoldsOneBound, filterHoldsOptions, filterHoldsRange, filterList, filterNumber, filterNumberList, filterOne, filterPanelOf, filterPanelWidth, filterRange, filterTreeGridRows, filterValueList, filterValues, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initialState, initials, injectAuthenticate, injectDefaultDenial, injectInstallApp, injectParentSize, injectScrollSticky, isBootRedirect, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLightAppColor, isLoadingComputed, isLocalhost, isNavInstanceConfig, isNavMenuConfig, isNavRowsConfig, isNavVisibilityConfig, isPlatformNavId, isPlatformPanelNavId, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, logoGlyphMaskUrl, mInterceptor, manualValidation, matchFieldValidation, matchMount, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkToHtml, mountFor, mountPatternProblem, mountPatternText, mountSegmentOf, mountTokenOf, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navParamOf, navTailMatcher, navToId, navVisibilityGuard, nextSectionTableSort, normalizeAppColor, normalizeAssetOptions, offsetOfLine, outletPathOf, outletSegmentsOf, parentNavId, parseAddress, parseColor, parseMountPattern, parsePatternNames, patternValidation, patternsValidation, permissionRefusal, pickCount, pickSupportedLanguage, picksMembers, platformNavWidgets, pluginTag, presetDefaultOption, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, provideOverlayWidgets, providePlatformNavWidgets, providePluginRuntime, provideSearch, provideSizeContext, provideUserTabs, publicGuard, readFieldPatterns, rebuildLogoGlyph, recordDefinedWcTier, remoteOutletRoute, renderAddress, renderDocument, requiredValidation, resolveConfigAsset, resolveIconSize, resolvePallet, resolvePatternRules, resolveSize, resolveSpacing, rgbToHex, rgbToHsl, rowHasChildren, samePatterns, sectionTableColumnId, sectionTableColumnWidths, sectionTableFrozenCount, segmentsToNavId, setProperty, setTreeGridChildren, setWcLocalPort, setWcTier, settingsWidgets, shouldShowBadge, sortSectionTableRows, splitNavId, splitOnMatch, splitPath, stringToColor, tailRouteOf, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleGroup, toggleTreeGridRow, toggleUid, unfetchedPlatformNav, ungroupedDocActions, urlValidation, wcLocalBaseOf, wcTierOf, withLevel };
|
|
50107
50590
|
|
|
50108
50591
|
//# sourceMappingURL=magmonium-one.mjs.map
|