@magmonium/one 0.2.43 → 0.2.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{magmonium-one-magmonium-one-C5whWXef.mjs → magmonium-one-magmonium-one-5PPvzWJw.mjs} +240 -77
- package/fesm2022/magmonium-one-magmonium-one-5PPvzWJw.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-COwJYVW6.mjs → magmonium-one-otp-Dq_hcKQI.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-COwJYVW6.mjs.map → magmonium-one-otp-Dq_hcKQI.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-DUUhSEnp.mjs → magmonium-one-password-CxT6pyYe.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-DUUhSEnp.mjs.map → magmonium-one-password-CxT6pyYe.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-CFYMEJcZ.mjs → magmonium-one-toggle-CItqq_8b.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-CFYMEJcZ.mjs.map → magmonium-one-toggle-CItqq_8b.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +77 -3
- package/fesm2022/magmonium-one-magmonium-one-C5whWXef.mjs.map +0 -1
|
@@ -3422,6 +3422,9 @@ function isNavMenuConfig(entry) {
|
|
|
3422
3422
|
function isNavRowsConfig(entry) {
|
|
3423
3423
|
return typeof entry === 'object' && 'navRows' in entry;
|
|
3424
3424
|
}
|
|
3425
|
+
function isNavInstanceConfig(entry) {
|
|
3426
|
+
return typeof entry === 'object' && 'navInstance' in entry;
|
|
3427
|
+
}
|
|
3425
3428
|
/**
|
|
3426
3429
|
* Multi-provided, and resolved **last-wins**: the library provides its own
|
|
3427
3430
|
* Platform Nav panels first so an app registering at the same NavId replaces
|
|
@@ -3649,15 +3652,18 @@ const emptyResult = () => ({
|
|
|
3649
3652
|
* chooses a link kind (ADR 0014).
|
|
3650
3653
|
*/
|
|
3651
3654
|
const toTrailItem = (navId, navMap, anchor,
|
|
3652
|
-
/**
|
|
3653
|
-
label
|
|
3655
|
+
/**
|
|
3656
|
+
* A dynamic node standing on an instance reads that instance's own label and
|
|
3657
|
+
* icon — resolved by a NavInstanceSource, or matched off the rows.
|
|
3658
|
+
*/
|
|
3659
|
+
resolved,
|
|
3654
3660
|
/** ...and carries that instance, so following the entry keeps it. */
|
|
3655
3661
|
navParams) => {
|
|
3656
3662
|
const nav = navMap[navId];
|
|
3657
3663
|
return {
|
|
3658
3664
|
id: navId,
|
|
3659
|
-
label: label ?? nav?.title ?? navIdSegment(navId),
|
|
3660
|
-
icon: nav?.icon,
|
|
3665
|
+
label: resolved?.label ?? nav?.title ?? navIdSegment(navId),
|
|
3666
|
+
icon: resolved?.icon ?? nav?.icon,
|
|
3661
3667
|
nav: navId,
|
|
3662
3668
|
...(navParams ? { navParams } : {}),
|
|
3663
3669
|
address: renderAddress(navId, navMap, anchor, navParams),
|
|
@@ -3669,8 +3675,12 @@ navParams) => {
|
|
|
3669
3675
|
* rides alongside as the param this Nav declared, which is what `renderAddress`
|
|
3670
3676
|
* fills. `id` carries the value only so the list has stable keys.
|
|
3671
3677
|
*/
|
|
3672
|
-
const navRowTrailItem = (navId, nav, row, navMap, anchor
|
|
3673
|
-
|
|
3678
|
+
const navRowTrailItem = (navId, nav, row, navMap, anchor,
|
|
3679
|
+
/** The instances the dynamic Navs *above* this one are standing on — a
|
|
3680
|
+
* dynamic Nav filed under another routes behind both params, and a row that
|
|
3681
|
+
* carried only its own left the one above it unfilled. */
|
|
3682
|
+
inherited) => {
|
|
3683
|
+
const navParams = { ...inherited, [navParamOf(nav)]: row.value };
|
|
3674
3684
|
return {
|
|
3675
3685
|
id: `${navId}${NAV_ID_SEP}${row.value}`,
|
|
3676
3686
|
label: row.label,
|
|
@@ -3683,6 +3693,30 @@ const navRowTrailItem = (navId, nav, row, navMap, anchor) => {
|
|
|
3683
3693
|
address: renderAddress(navId, navMap, anchor, navParams),
|
|
3684
3694
|
};
|
|
3685
3695
|
};
|
|
3696
|
+
/**
|
|
3697
|
+
* Every dynamic Nav on the way to `navId`, paired with the instance the Router
|
|
3698
|
+
* is standing on. A `static` Nav filed *under* a dynamic one is a real place —
|
|
3699
|
+
* `book/:isbn/reviews` — but its Address cannot be rendered from identity
|
|
3700
|
+
* alone: the segment above it is data, so the row would link at `:isbn`
|
|
3701
|
+
* unfilled and match no route. Read off the Router rather than the resolved
|
|
3702
|
+
* rows, the same reason `rowParams` is: the value is known before any source
|
|
3703
|
+
* has answered (CONTEXT.md NavPresentation).
|
|
3704
|
+
*/
|
|
3705
|
+
const navParamsFor = (navId, navMap, routeParams) => {
|
|
3706
|
+
if (!routeParams)
|
|
3707
|
+
return undefined;
|
|
3708
|
+
const params = {};
|
|
3709
|
+
for (const id of navIdChain(navId)) {
|
|
3710
|
+
const nav = navMap[id];
|
|
3711
|
+
if (nav?.presentation !== 'dynamic')
|
|
3712
|
+
continue;
|
|
3713
|
+
const param = navParamOf(nav);
|
|
3714
|
+
const value = routeParams[param];
|
|
3715
|
+
if (value !== undefined)
|
|
3716
|
+
params[param] = value;
|
|
3717
|
+
}
|
|
3718
|
+
return Object.keys(params).length ? params : undefined;
|
|
3719
|
+
};
|
|
3686
3720
|
/** A Nav that *is* its parent's own content rather than a place beside it. */
|
|
3687
3721
|
const isDefaultNav = (navId) => navIdSegment(navId) === DEFAULT_NAV_SEGMENT;
|
|
3688
3722
|
/**
|
|
@@ -3736,12 +3770,19 @@ const drawsRows = (childId, dynamicRows) => {
|
|
|
3736
3770
|
const resolved = dynamicRows[childId];
|
|
3737
3771
|
return !!resolved && (resolved.rows.length > 0 || !!resolved.loading);
|
|
3738
3772
|
};
|
|
3739
|
-
const menuChildIds = (navId, navMap, dynamicRows = {}) => childIdsOf(navId, navMap).flatMap((childId) => {
|
|
3773
|
+
const menuChildIds = (navId, navMap, dynamicRows = {}, instances = {}) => childIdsOf(navId, navMap).flatMap((childId) => {
|
|
3740
3774
|
if (isDefaultNav(childId))
|
|
3741
|
-
return menuChildIds(childId, navMap, dynamicRows);
|
|
3742
|
-
if (navMap[childId]?.presentation === 'dynamic'
|
|
3743
|
-
drawsRows(childId, dynamicRows))
|
|
3744
|
-
|
|
3775
|
+
return menuChildIds(childId, navMap, dynamicRows, instances);
|
|
3776
|
+
if (navMap[childId]?.presentation === 'dynamic') {
|
|
3777
|
+
if (drawsRows(childId, dynamicRows))
|
|
3778
|
+
return [childId];
|
|
3779
|
+
// A NavInstanceSource and no rows is the fourth state (ADR 0030): the
|
|
3780
|
+
// node is resolved *while standing on it* and is not a place to be sent
|
|
3781
|
+
// to, because its own row could only link at `:<param>` unfilled — a
|
|
3782
|
+
// link that matches no route, which is the panel that looks correct and
|
|
3783
|
+
// is not.
|
|
3784
|
+
if (childId in instances)
|
|
3785
|
+
return [];
|
|
3745
3786
|
}
|
|
3746
3787
|
return navMap[childId]?.title ? [childId] : [];
|
|
3747
3788
|
});
|
|
@@ -3752,9 +3793,10 @@ const menuChildIds = (navId, navMap, dynamicRows = {}) => childIdsOf(navId, navM
|
|
|
3752
3793
|
* list the User moved through and the row they are on is the one marked
|
|
3753
3794
|
* active. Root is the floor: its own children are the last list there is.
|
|
3754
3795
|
*/
|
|
3755
|
-
const navMenuOwnerId = (navId, navMap, hasOwnContent = false, dynamicRows = {}) => {
|
|
3796
|
+
const navMenuOwnerId = (navId, navMap, hasOwnContent = false, dynamicRows = {}, instances = {}) => {
|
|
3756
3797
|
const visible = visibleNavId(navId);
|
|
3757
|
-
if (visible === ROOT_NAV$1 ||
|
|
3798
|
+
if (visible === ROOT_NAV$1 ||
|
|
3799
|
+
menuChildIds(visible, navMap, dynamicRows, instances).length) {
|
|
3758
3800
|
return visible;
|
|
3759
3801
|
}
|
|
3760
3802
|
// A panel that answers with a widget of its own keeps its own title —
|
|
@@ -3769,7 +3811,7 @@ const navMenuOwnerId = (navId, navMap, hasOwnContent = false, dynamicRows = {})
|
|
|
3769
3811
|
// than the one we are on — a mistitled empty panel is worse than a titled one.
|
|
3770
3812
|
for (let ancestor = parentNavId(visible); ancestor; ancestor = parentNavId(ancestor)) {
|
|
3771
3813
|
const owner = visibleNavId(ancestor);
|
|
3772
|
-
if (menuChildIds(owner, navMap, dynamicRows).length)
|
|
3814
|
+
if (menuChildIds(owner, navMap, dynamicRows, instances).length)
|
|
3773
3815
|
return owner;
|
|
3774
3816
|
if (owner === ROOT_NAV$1)
|
|
3775
3817
|
break;
|
|
@@ -3789,13 +3831,19 @@ const navMenuOwnerId = (navId, navMap, hasOwnContent = false, dynamicRows = {})
|
|
|
3789
3831
|
* falling through to the static siblings around it would show a panel that
|
|
3790
3832
|
* looks correct and is not.
|
|
3791
3833
|
*/
|
|
3792
|
-
const buildNavMenus = (navId, navMap, anchor, dynamicRows = {}) => menuChildIds(navId, navMap, dynamicRows).flatMap((childId) => {
|
|
3834
|
+
const buildNavMenus = (navId, navMap, anchor, dynamicRows = {}, routeParams, instances = {}) => menuChildIds(navId, navMap, dynamicRows, instances).flatMap((childId) => {
|
|
3793
3835
|
const nav = navMap[childId];
|
|
3794
3836
|
const resolved = nav && dynamicRows[childId];
|
|
3837
|
+
// The instances above this row, whether it is a row of its own or one of
|
|
3838
|
+
// the rows a source resolved: a panel drawn beneath a dynamic Nav is a
|
|
3839
|
+
// panel every entry in it routes behind.
|
|
3840
|
+
const inherited = navParamsFor(parentNavId(childId) ?? childId, navMap, routeParams);
|
|
3795
3841
|
if (!nav || nav.presentation !== 'dynamic' || !resolved) {
|
|
3796
|
-
return [
|
|
3842
|
+
return [
|
|
3843
|
+
toTrailItem(childId, navMap, anchor, undefined, navParamsFor(childId, navMap, routeParams)),
|
|
3844
|
+
];
|
|
3797
3845
|
}
|
|
3798
|
-
return resolved.rows.map((row) => navRowTrailItem(childId, nav, row, navMap, anchor));
|
|
3846
|
+
return resolved.rows.map((row) => navRowTrailItem(childId, nav, row, navMap, anchor, inherited));
|
|
3799
3847
|
});
|
|
3800
3848
|
/**
|
|
3801
3849
|
* Merges a widget's emitted trail over the derived one, matching by depth.
|
|
@@ -3811,43 +3859,56 @@ const mergeTrail = (derived, override, derivedHeader) => {
|
|
|
3811
3859
|
return { trail, header: override.header ?? derivedHeader };
|
|
3812
3860
|
};
|
|
3813
3861
|
function deriveBreadcrumb(params) {
|
|
3814
|
-
const { navId, navMap, anchor, breadcrumb, navMenu, hasOwnContent, dynamicRows, routeParams, } = params;
|
|
3862
|
+
const { navId, navMap, anchor, breadcrumb, navMenu, hasOwnContent, dynamicRows, routeParams, instances, } = params;
|
|
3815
3863
|
if (!navId)
|
|
3816
3864
|
return emptyResult();
|
|
3817
3865
|
/**
|
|
3818
|
-
* The
|
|
3819
|
-
*
|
|
3820
|
-
*
|
|
3821
|
-
*
|
|
3822
|
-
*
|
|
3866
|
+
* The instance a dynamic node wears while the User stands on one, and the
|
|
3867
|
+
* two ways it is answered.
|
|
3868
|
+
*
|
|
3869
|
+
* A **NavInstanceSource wins outright** where one is registered — the key is
|
|
3870
|
+
* present in `instances` whether or not it resolved (ADR 0030). Letting a
|
|
3871
|
+
* row match win when the instance happened to be in the loaded page of rows
|
|
3872
|
+
* would label one node by two mechanisms depending on what the menu had
|
|
3873
|
+
* fetched, which is the panel that looks correct and is not.
|
|
3874
|
+
*
|
|
3875
|
+
* Unresolved under a source is the **raw parameter value**: an id names the
|
|
3876
|
+
* right thing badly, where the node's title (`app`) names the wrong thing
|
|
3877
|
+
* well, and the second is the answer a User cannot tell from a bug.
|
|
3878
|
+
*
|
|
3879
|
+
* With no source at all this is the row match it has always been, falling
|
|
3880
|
+
* through to the node's own title — a deep link that arrived before the rows
|
|
3881
|
+
* did, or a row since gone.
|
|
3823
3882
|
*/
|
|
3824
|
-
const
|
|
3883
|
+
const instanceOf = (id) => {
|
|
3825
3884
|
const nav = navMap[id];
|
|
3826
3885
|
if (nav?.presentation !== 'dynamic')
|
|
3827
3886
|
return undefined;
|
|
3828
3887
|
const value = routeParams?.[navParamOf(nav)];
|
|
3829
3888
|
if (!value)
|
|
3830
3889
|
return undefined;
|
|
3831
|
-
|
|
3890
|
+
if (instances && id in instances) {
|
|
3891
|
+
const resolved = instances[id];
|
|
3892
|
+
return resolved
|
|
3893
|
+
? { label: resolved.label, icon: resolved.icon }
|
|
3894
|
+
: { label: value };
|
|
3895
|
+
}
|
|
3896
|
+
const row = dynamicRows?.[id]?.rows.find((r) => r.value === value);
|
|
3897
|
+
return row ? { label: row.label, icon: row.icon } : undefined;
|
|
3832
3898
|
};
|
|
3833
3899
|
/**
|
|
3834
|
-
* The
|
|
3835
|
-
*
|
|
3836
|
-
*
|
|
3837
|
-
*
|
|
3900
|
+
* The instances an entry routes behind — its own when it is a dynamic node,
|
|
3901
|
+
* and every dynamic ancestor's besides, so a `static` Nav filed under one
|
|
3902
|
+
* keeps the segment above it filled. Read off the Router rather than the
|
|
3903
|
+
* rows: the entry has to keep pointing at the page the User is on even
|
|
3904
|
+
* before a source has answered, and a NavRef with no param renders `:id`
|
|
3905
|
+
* unfilled.
|
|
3838
3906
|
*/
|
|
3839
|
-
const rowParams = (id) =>
|
|
3840
|
-
const nav = navMap[id];
|
|
3841
|
-
if (nav?.presentation !== 'dynamic')
|
|
3842
|
-
return undefined;
|
|
3843
|
-
const param = navParamOf(nav);
|
|
3844
|
-
const value = routeParams?.[param];
|
|
3845
|
-
return value ? { [param]: value } : undefined;
|
|
3846
|
-
};
|
|
3907
|
+
const rowParams = (id) => navParamsFor(id, navMap, routeParams);
|
|
3847
3908
|
// The header and the trail belong to whichever Nav owns the menu below them:
|
|
3848
3909
|
// on a leaf that is the parent, so the User reads the list they are in with
|
|
3849
3910
|
// their own row marked, rather than a title over an empty panel.
|
|
3850
|
-
const ownerId = navMenuOwnerId(navId, navMap, hasOwnContent, dynamicRows);
|
|
3911
|
+
const ownerId = navMenuOwnerId(navId, navMap, hasOwnContent, dynamicRows, instances);
|
|
3851
3912
|
// An emitted breadcrumb names the panel it was emitted for. Once the panel
|
|
3852
3913
|
// has been handed up to an ancestor it is no longer that panel, so the
|
|
3853
3914
|
// override would title the ancestor's list after the leaf we left.
|
|
@@ -3856,15 +3917,16 @@ function deriveBreadcrumb(params) {
|
|
|
3856
3917
|
const derivedTrail = chain
|
|
3857
3918
|
.slice(0, -1)
|
|
3858
3919
|
.filter((id) => !isDefaultNav(id))
|
|
3859
|
-
.map((id) => toTrailItem(id, navMap, anchor,
|
|
3920
|
+
.map((id) => toTrailItem(id, navMap, anchor, instanceOf(id), rowParams(id)));
|
|
3860
3921
|
const nav = navMap[ownerId];
|
|
3861
3922
|
const ownerParams = rowParams(ownerId);
|
|
3923
|
+
const ownerInstance = instanceOf(ownerId);
|
|
3862
3924
|
const derivedHeader = {
|
|
3863
3925
|
id: ownerId,
|
|
3864
|
-
label:
|
|
3926
|
+
label: ownerInstance?.label ??
|
|
3865
3927
|
nav?.title ??
|
|
3866
3928
|
(ownerId === ROOT_NAV$1 ? '' : navIdSegment(ownerId)),
|
|
3867
|
-
icon: nav?.icon,
|
|
3929
|
+
icon: ownerInstance?.icon ?? nav?.icon,
|
|
3868
3930
|
nav: ownerId,
|
|
3869
3931
|
...(ownerParams ? { navParams: ownerParams } : {}),
|
|
3870
3932
|
address: renderAddress(ownerId, navMap, anchor, ownerParams),
|
|
@@ -3876,7 +3938,7 @@ function deriveBreadcrumb(params) {
|
|
|
3876
3938
|
breadcrumb: { trail, header },
|
|
3877
3939
|
navMenus: navMenu?.length && ownPanel
|
|
3878
3940
|
? navMenu
|
|
3879
|
-
: buildNavMenus(ownerId, navMap, anchor, dynamicRows),
|
|
3941
|
+
: buildNavMenus(ownerId, navMap, anchor, dynamicRows, routeParams, instances),
|
|
3880
3942
|
};
|
|
3881
3943
|
}
|
|
3882
3944
|
|
|
@@ -3980,6 +4042,7 @@ const initialState$3 = {
|
|
|
3980
4042
|
appLink: undefined,
|
|
3981
4043
|
appNavId: undefined,
|
|
3982
4044
|
navOpenedByUser: false,
|
|
4045
|
+
menuNavId: undefined,
|
|
3983
4046
|
keepPanelOnPathChange: false,
|
|
3984
4047
|
panelPushed: false,
|
|
3985
4048
|
navScrolledDown: false,
|
|
@@ -4034,7 +4097,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4034
4097
|
* chrome opened onto the page's own menu instead of onto itself.
|
|
4035
4098
|
*/
|
|
4036
4099
|
const anchorRouteNavId = computed(() => visibleNavId(store.routeNavId() ?? ROOT_NAV$1), ...(ngDevMode ? [{ debugName: "anchorRouteNavId" }] : /* istanbul ignore next */ []));
|
|
4037
|
-
const id = computed(() => navIdFor(anchorRouteNavId(), store.murl()), ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
4100
|
+
const id = computed(() => store.menuNavId() ?? navIdFor(anchorRouteNavId(), store.murl()), ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
4038
4101
|
/**
|
|
4039
4102
|
* The keys a panel is looked up under, nearest first: the anchored one, and
|
|
4040
4103
|
* — while a Murl is open — the root-anchored one behind it. A Murl is a
|
|
@@ -4126,6 +4189,55 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4126
4189
|
}
|
|
4127
4190
|
return out;
|
|
4128
4191
|
}, ...(ngDevMode ? [{ debugName: "dynamicRows" }] : /* istanbul ignore next */ []));
|
|
4192
|
+
/**
|
|
4193
|
+
* Every `dynamic` Nav with a NavInstanceSource behind it, resolved against
|
|
4194
|
+
* the parameters the Router currently holds (ADR 0030). The whole
|
|
4195
|
+
* `routeParams` record goes in, not just this Nav's own value: a resolver
|
|
4196
|
+
* for an issue is routinely a lookup keyed by the book above it, and the
|
|
4197
|
+
* design tool binds arguments by parameter name.
|
|
4198
|
+
*
|
|
4199
|
+
* The **key is written whether or not the resolver answered**, because
|
|
4200
|
+
* presence of the key is the registration — it is what hides the node in
|
|
4201
|
+
* its parent's panel and what makes an unresolved instance render the raw
|
|
4202
|
+
* id rather than the node's title.
|
|
4203
|
+
*/
|
|
4204
|
+
const dynamicInstances = computed(() => {
|
|
4205
|
+
const out = {};
|
|
4206
|
+
const params = store.routeParams();
|
|
4207
|
+
for (const nav of Object.values(store.navMap())) {
|
|
4208
|
+
if (nav.presentation !== 'dynamic')
|
|
4209
|
+
continue;
|
|
4210
|
+
const hit = entryAt(nav.navId);
|
|
4211
|
+
if (!hit || !isNavInstanceConfig(hit.entry))
|
|
4212
|
+
continue;
|
|
4213
|
+
out[nav.navId] = hit.entry.navInstance(params);
|
|
4214
|
+
}
|
|
4215
|
+
return out;
|
|
4216
|
+
}, ...(ngDevMode ? [{ debugName: "dynamicInstances" }] : /* istanbul ignore next */ []));
|
|
4217
|
+
/**
|
|
4218
|
+
* The load each registered NavInstanceSource offers, paired with the value
|
|
4219
|
+
* of the parameter it resolves. Exposed rather than fired here: calling a
|
|
4220
|
+
* store method from inside a `computed` writes state during a read, and
|
|
4221
|
+
* the re-fire rule is about a value *changing*, which a computed has no
|
|
4222
|
+
* way to say.
|
|
4223
|
+
*/
|
|
4224
|
+
const instanceLoaders = computed(() => {
|
|
4225
|
+
const params = store.routeParams();
|
|
4226
|
+
const out = [];
|
|
4227
|
+
for (const nav of Object.values(store.navMap())) {
|
|
4228
|
+
if (nav.presentation !== 'dynamic')
|
|
4229
|
+
continue;
|
|
4230
|
+
const hit = entryAt(nav.navId);
|
|
4231
|
+
if (!hit || !isNavInstanceConfig(hit.entry))
|
|
4232
|
+
continue;
|
|
4233
|
+
const load = hit.entry.navInstanceLoad;
|
|
4234
|
+
const value = params[navParamOf(nav)];
|
|
4235
|
+
if (!load || !value)
|
|
4236
|
+
continue;
|
|
4237
|
+
out.push({ navId: nav.navId, value, params, load });
|
|
4238
|
+
}
|
|
4239
|
+
return out;
|
|
4240
|
+
}, ...(ngDevMode ? [{ debugName: "instanceLoaders" }] : /* istanbul ignore next */ []));
|
|
4129
4241
|
const resolvedWidget = computed(() => {
|
|
4130
4242
|
const hit = widgetEntry();
|
|
4131
4243
|
// Neither of the two row-shaped entries fills a panel with a component:
|
|
@@ -4134,7 +4246,15 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4134
4246
|
// neither.
|
|
4135
4247
|
if (!hit || isNavMenuConfig(hit.entry) || isNavRowsConfig(hit.entry))
|
|
4136
4248
|
return null;
|
|
4137
|
-
|
|
4249
|
+
// A NavInstanceConfig is not tested for the same way, because it is the
|
|
4250
|
+
// one entry that legitimately shares an object with a panel: a dynamic
|
|
4251
|
+
// Nav with a `screen` row source and an instance source registers both
|
|
4252
|
+
// keys at once. What disqualifies an entry is therefore having no
|
|
4253
|
+
// `content`, not having a `navInstance` (ADR 0030).
|
|
4254
|
+
const entry = hit.entry;
|
|
4255
|
+
if (typeof entry !== 'function' && !('content' in entry))
|
|
4256
|
+
return null;
|
|
4257
|
+
const config = normalizeNavWidgetEntry(entry);
|
|
4138
4258
|
if (!config.content)
|
|
4139
4259
|
return null;
|
|
4140
4260
|
if (!hit.remote)
|
|
@@ -4168,7 +4288,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4168
4288
|
const map = store.navMap();
|
|
4169
4289
|
const candidates = widgetNavIds();
|
|
4170
4290
|
const rows = dynamicRows();
|
|
4171
|
-
return (candidates.find((c) => menuChildIds(c, map, rows).length) ??
|
|
4291
|
+
return (candidates.find((c) => menuChildIds(c, map, rows, dynamicInstances()).length) ??
|
|
4172
4292
|
// A leaf nothing is registered for is still a Nav the tree knows, and
|
|
4173
4293
|
// that is where the panel belongs: `|settings|app` with no widget hands
|
|
4174
4294
|
// the panel back to *settings*, whose row it is, rather than climbing
|
|
@@ -4185,6 +4305,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4185
4305
|
navMap: store.navMap(),
|
|
4186
4306
|
anchor: { navId: store.routeNavId() ?? ROOT_NAV$1, path: store.path() },
|
|
4187
4307
|
dynamicRows: dynamicRows(),
|
|
4308
|
+
instances: dynamicInstances(),
|
|
4188
4309
|
routeParams: store.routeParams(),
|
|
4189
4310
|
breadcrumb: menuConfig?.breadcramb?.() ??
|
|
4190
4311
|
(typeof widgetConfig?.breadcramb === 'function'
|
|
@@ -4230,6 +4351,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4230
4351
|
navHasContent,
|
|
4231
4352
|
currentWcConfig,
|
|
4232
4353
|
resolvedNavMenuConfig,
|
|
4354
|
+
instanceLoaders,
|
|
4233
4355
|
};
|
|
4234
4356
|
}), withMethods((store) => {
|
|
4235
4357
|
const getNavService = inject(GetNavService);
|
|
@@ -4249,6 +4371,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4249
4371
|
*/
|
|
4250
4372
|
const goToNav = (navId, params, options) => {
|
|
4251
4373
|
const wasOpen = untracked(() => store.hasMurl());
|
|
4374
|
+
patchState(store, { menuNavId: undefined });
|
|
4252
4375
|
const address = addressFor(navId, params);
|
|
4253
4376
|
const willOpen = untracked(() => splitNavId(navId, store.navMap()).murl.length > 0);
|
|
4254
4377
|
if (willOpen && !wasOpen) {
|
|
@@ -4264,7 +4387,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4264
4387
|
};
|
|
4265
4388
|
/** Closes the panel, popping our own entry when we are the one who pushed it. */
|
|
4266
4389
|
const closePanel = () => {
|
|
4267
|
-
patchState(store, { navOpenedByUser: false });
|
|
4390
|
+
patchState(store, { navOpenedByUser: false, menuNavId: undefined });
|
|
4268
4391
|
if (!untracked(() => store.hasMurl()))
|
|
4269
4392
|
return;
|
|
4270
4393
|
if (untracked(() => store.panelPushed())) {
|
|
@@ -4300,6 +4423,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4300
4423
|
routeNavId,
|
|
4301
4424
|
routeParams,
|
|
4302
4425
|
murl,
|
|
4426
|
+
menuNavId: undefined,
|
|
4303
4427
|
// Address changes clear the icon-opened flag (ADR 0013), except
|
|
4304
4428
|
// an explicit `keepPanel` goToNav (AppLogo while open).
|
|
4305
4429
|
navOpenedByUser: pathChanged && !keepPanel ? false : store.navOpenedByUser(),
|
|
@@ -4356,7 +4480,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4356
4480
|
}));
|
|
4357
4481
|
};
|
|
4358
4482
|
/**
|
|
4359
|
-
* In-panel "up".
|
|
4483
|
+
* In-panel "up". Murl steps replace the Address, so
|
|
4360
4484
|
* the browser back button still closes the whole panel. Leaving Murl
|
|
4361
4485
|
* space (or stepping while icon-opened) keeps the panel open so the menu
|
|
4362
4486
|
* follows the trail instead of closing (same exception as AppLogo).
|
|
@@ -4388,15 +4512,13 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4388
4512
|
});
|
|
4389
4513
|
return;
|
|
4390
4514
|
}
|
|
4391
|
-
//
|
|
4392
|
-
|
|
4515
|
+
// Start above the menu actually shown: a leaf may already be showing
|
|
4516
|
+
// its ancestor's rows. Browsing that menu leaves the page in place.
|
|
4517
|
+
const owner = untracked(() => store.breadcrumb().header?.id);
|
|
4518
|
+
const parent = owner ? parentNavId(owner) : undefined;
|
|
4393
4519
|
if (!parent)
|
|
4394
4520
|
return;
|
|
4395
|
-
patchState(store, {
|
|
4396
|
-
navOpenedByUser: true,
|
|
4397
|
-
keepPanelOnPathChange: true,
|
|
4398
|
-
});
|
|
4399
|
-
router.navigateByUrl(addressFor(parent), { replaceUrl: true });
|
|
4521
|
+
patchState(store, { menuNavId: visibleNavId(parent) });
|
|
4400
4522
|
};
|
|
4401
4523
|
const loadNav = rxMethod(pipe(filter((req) => !!req.navId), tap(() => untracked(() => patchState(store, { navLoading: true }))), switchMap$1(({ navId, appNavId }) => getNavService
|
|
4402
4524
|
.getNav(navId, untracked(() => store.navMap()), {
|
|
@@ -4445,6 +4567,29 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
|
|
|
4445
4567
|
return {
|
|
4446
4568
|
onInit() {
|
|
4447
4569
|
store.syncFromRouter(store.navigationEnd);
|
|
4570
|
+
/**
|
|
4571
|
+
* Fires each NavInstanceSource's load when the value of the parameter
|
|
4572
|
+
* it resolves **changes**, and not otherwise (ADR 0030). Moving between
|
|
4573
|
+
* `/app/a1/about` and `/app/a1/settings` changes no instance, so it
|
|
4574
|
+
* fires nothing; `/app/a1` to `/app/a2` fires once.
|
|
4575
|
+
*
|
|
4576
|
+
* The last value is remembered per NavId rather than compared against
|
|
4577
|
+
* the resolver's own output: gating on "the resolver has not answered"
|
|
4578
|
+
* would never refresh a name that has gone stale, and would make the
|
|
4579
|
+
* trigger depend on the thing it triggers.
|
|
4580
|
+
*/
|
|
4581
|
+
const firedFor = new Map();
|
|
4582
|
+
effect(() => {
|
|
4583
|
+
const loaders = store.instanceLoaders();
|
|
4584
|
+
untracked(() => {
|
|
4585
|
+
for (const { navId, value, params, load } of loaders) {
|
|
4586
|
+
if (firedFor.get(navId) === value)
|
|
4587
|
+
continue;
|
|
4588
|
+
firedFor.set(navId, value);
|
|
4589
|
+
load(params);
|
|
4590
|
+
}
|
|
4591
|
+
});
|
|
4592
|
+
});
|
|
4448
4593
|
store.loadNav(computed(() => ({
|
|
4449
4594
|
navId: store.id(),
|
|
4450
4595
|
appNavId: store.appNavId(),
|
|
@@ -6831,7 +6976,7 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
6831
6976
|
break;
|
|
6832
6977
|
}
|
|
6833
6978
|
case InputType.TOGGLE: {
|
|
6834
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
6979
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-CItqq_8b.mjs');
|
|
6835
6980
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
6836
6981
|
break;
|
|
6837
6982
|
}
|
|
@@ -6843,12 +6988,12 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
6843
6988
|
break;
|
|
6844
6989
|
}
|
|
6845
6990
|
case InputType.PASSWORD: {
|
|
6846
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
6991
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-CxT6pyYe.mjs');
|
|
6847
6992
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
6848
6993
|
break;
|
|
6849
6994
|
}
|
|
6850
6995
|
case InputType.OTP: {
|
|
6851
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
6996
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-Dq_hcKQI.mjs');
|
|
6852
6997
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
6853
6998
|
break;
|
|
6854
6999
|
}
|
|
@@ -20403,7 +20548,7 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
20403
20548
|
break;
|
|
20404
20549
|
}
|
|
20405
20550
|
case InputType.TOGGLE: {
|
|
20406
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
20551
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-CItqq_8b.mjs');
|
|
20407
20552
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
20408
20553
|
break;
|
|
20409
20554
|
}
|
|
@@ -20415,12 +20560,12 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
20415
20560
|
break;
|
|
20416
20561
|
}
|
|
20417
20562
|
case InputType.PASSWORD: {
|
|
20418
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
20563
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-CxT6pyYe.mjs');
|
|
20419
20564
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
20420
20565
|
break;
|
|
20421
20566
|
}
|
|
20422
20567
|
case InputType.OTP: {
|
|
20423
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
20568
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-Dq_hcKQI.mjs');
|
|
20424
20569
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
20425
20570
|
break;
|
|
20426
20571
|
}
|
|
@@ -21074,7 +21219,7 @@ var toggleRadio = /*#__PURE__*/Object.freeze({
|
|
|
21074
21219
|
// Stand-ins for a card list that has no options yet — DesignMode only. They
|
|
21075
21220
|
// carry no label: nothing is mapped to them yet, and a name shown here would
|
|
21076
21221
|
// read as a choice the Field offers. Bare boxes say the shape and no more.
|
|
21077
|
-
const DESIGN_STUB_IDS$
|
|
21222
|
+
const DESIGN_STUB_IDS$1 = ['stub-1', 'stub-2', 'stub-3'];
|
|
21078
21223
|
class SelectableCardInputComponent extends BaseInputComponent {
|
|
21079
21224
|
element = input(...(ngDevMode ? [undefined, { debugName: "element" }] : /* istanbul ignore next */ []));
|
|
21080
21225
|
data = input([], ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
@@ -21109,7 +21254,7 @@ class SelectableCardInputComponent extends BaseInputComponent {
|
|
|
21109
21254
|
return data;
|
|
21110
21255
|
const options = this.cardOptions();
|
|
21111
21256
|
if (!options.length && this.isDesignMode) {
|
|
21112
|
-
return DESIGN_STUB_IDS$
|
|
21257
|
+
return DESIGN_STUB_IDS$1.map((id) => ({ id }));
|
|
21113
21258
|
}
|
|
21114
21259
|
return options.map((option) => ({
|
|
21115
21260
|
id: option.value,
|
|
@@ -21724,10 +21869,17 @@ function getClassList$2(variant, orientation, config) {
|
|
|
21724
21869
|
return classList.join(' ');
|
|
21725
21870
|
}
|
|
21726
21871
|
|
|
21727
|
-
//
|
|
21728
|
-
//
|
|
21729
|
-
//
|
|
21730
|
-
|
|
21872
|
+
// The stand-in row a List draws on a Canvas — DesignMode only, and exactly
|
|
21873
|
+
// one however long the collection behind it will be. Every row of a List is
|
|
21874
|
+
// the same body drawn again, so a second stub shows nothing a first did not
|
|
21875
|
+
// and costs the author the vertical space they are laying out in (m-one-ui
|
|
21876
|
+
// CONTEXT.md ListControl).
|
|
21877
|
+
//
|
|
21878
|
+
// Drawn only once there is a body to draw. A List with no row template and no
|
|
21879
|
+
// row component is one the author has not filled yet, and it renders as the
|
|
21880
|
+
// empty box its own min-height gives it rather than as rows of invented text
|
|
21881
|
+
// — the state a RepeatControl is in before its source is picked.
|
|
21882
|
+
const DESIGN_STUB = { id: 'stub-1', label: 'Item 1' };
|
|
21731
21883
|
// `toLength` only appends `em` to real numbers — a numeric string comes back
|
|
21732
21884
|
// bare, yielding `gap: 2`. Design-editor text fields and YAML both hand over
|
|
21733
21885
|
// strings, so narrow before converting (the FlexContainer's rule, ADR 0008:
|
|
@@ -21791,7 +21943,7 @@ class ListComponent extends ConfigComponent {
|
|
|
21791
21943
|
return variant === 'ordered' ? 'counter' : 'bullet';
|
|
21792
21944
|
}, ...(ngDevMode ? [{ debugName: "marker" }] : /* istanbul ignore next */ []));
|
|
21793
21945
|
// A bound `data` wins over the authored `items`, and both win over the
|
|
21794
|
-
// design
|
|
21946
|
+
// design stub: what a caller passes at runtime is the more deliberate.
|
|
21795
21947
|
rows = computed(() => {
|
|
21796
21948
|
const bound = this.data();
|
|
21797
21949
|
if (bound?.length)
|
|
@@ -21801,26 +21953,36 @@ class ListComponent extends ConfigComponent {
|
|
|
21801
21953
|
return authored.map(toItem);
|
|
21802
21954
|
if (bound || authored)
|
|
21803
21955
|
return [];
|
|
21804
|
-
|
|
21805
|
-
|
|
21806
|
-
|
|
21956
|
+
// A body is what makes a stub worth drawing: without one the row would be
|
|
21957
|
+
// invented text standing in for nothing, where an empty box says exactly
|
|
21958
|
+
// what is true — this List has not been filled in yet.
|
|
21959
|
+
return this.isDesignMode && this.hasRowBody() ? [DESIGN_STUB] : [];
|
|
21807
21960
|
}, ...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
|
|
21961
|
+
/** Whether a row has anything to render beyond its own `label`. */
|
|
21962
|
+
hasRowBody = computed(() => !!this.element() || !!this.rowTemplate(), ...(ngDevMode ? [{ debugName: "hasRowBody" }] : /* istanbul ignore next */ []));
|
|
21808
21963
|
classNames = computed(() => getClassList$2(this.resolvedVariant(), this.resolvedOrientation(), this.config()), ...(ngDevMode ? [{ debugName: "classNames" }] : /* istanbul ignore next */ []));
|
|
21809
21964
|
rowInputs = (item) => ({
|
|
21810
21965
|
...(item.inputs ?? {}),
|
|
21811
21966
|
});
|
|
21812
21967
|
projectedTemplate = contentChild((TemplateRef), ...(ngDevMode ? [{ debugName: "projectedTemplate" }] : /* istanbul ignore next */ []));
|
|
21813
21968
|
rowTemplate = computed(() => this.template() ?? this.projectedTemplate(), ...(ngDevMode ? [{ debugName: "rowTemplate" }] : /* istanbul ignore next */ []));
|
|
21969
|
+
/**
|
|
21970
|
+
* What an inline row body reads. `row` falls back to the item itself, so a
|
|
21971
|
+
* row authored in the asset reaches the template the way a mapped one does:
|
|
21972
|
+
* an authored `ListItem` carries no `row` of its own, and a body reading
|
|
21973
|
+
* `undefined` would make the static source unusable to anything but a bare
|
|
21974
|
+
* label (m-one-ui CONTEXT.md ListControl).
|
|
21975
|
+
*/
|
|
21814
21976
|
rowContext = (item, index, first, last) => ({
|
|
21815
21977
|
$implicit: item,
|
|
21816
21978
|
item,
|
|
21817
|
-
row: item.row,
|
|
21979
|
+
row: item.row ?? item,
|
|
21818
21980
|
index,
|
|
21819
21981
|
first,
|
|
21820
21982
|
last,
|
|
21821
21983
|
});
|
|
21822
21984
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21823
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ListComponent, isStandalone: true, selector: "m-list, m-one-list", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, startIcon: { classPropertyName: "startIcon", publicName: "startIcon", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--m-list-gap": "resolvedGap()" }, classAttribute: "m-list" }, queries: [{ propertyName: "projectedTemplate", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
21985
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ListComponent, isStandalone: true, selector: "m-list, m-one-list", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null }, startIcon: { classPropertyName: "startIcon", publicName: "startIcon", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, noTranslate: { classPropertyName: "noTranslate", publicName: "noTranslate", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-design-mode": "isDesignMode", "style.--m-list-gap": "resolvedGap()" }, classAttribute: "m-list" }, queries: [{ propertyName: "projectedTemplate", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
21824
21986
|
<ng-template #rowList>
|
|
21825
21987
|
@for (item of rows(); track item.id; let i = $index) {
|
|
21826
21988
|
<li class="m-list__item">
|
|
@@ -21864,7 +22026,7 @@ class ListComponent extends ConfigComponent {
|
|
|
21864
22026
|
<ng-container *ngTemplateOutlet="rowList" />
|
|
21865
22027
|
</ul>
|
|
21866
22028
|
}
|
|
21867
|
-
`, isInline: true, 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:block;width:100%}.m-list__list{display:flex;gap:var(--m-list-gap, 0);margin:0;padding:0;list-style:none}.m-list__list--vertical{flex-direction:column}.m-list__list--horizontal{flex-direction:row;flex-wrap:wrap}.m-list__list.align-center{align-items:center}.m-list__list.align-right{align-items:flex-end}.m-list__item{display:flex;align-items:flex-start;gap:.5em;min-width:0}.m-list__marker{flex:0 0 auto;display:flex;align-items:center;color:var(--m-text-tertiary);line-height:inherit}.m-list__body{flex:1 1 auto;min-width:0}\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22029
|
+
`, isInline: true, 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:block;width:100%}:host(.is-design-mode){min-height:4em}.m-list__list{display:flex;gap:var(--m-list-gap, 0);margin:0;padding:0;list-style:none}.m-list__list--vertical{flex-direction:column}.m-list__list--horizontal{flex-direction:row;flex-wrap:wrap}.m-list__list.align-center{align-items:center}.m-list__list.align-right{align-items:flex-end}.m-list__item{display:flex;align-items:flex-start;gap:.5em;min-width:0}.m-list__marker{flex:0 0 auto;display:flex;align-items:center;color:var(--m-text-tertiary);line-height:inherit}.m-list__body{flex:1 1 auto;min-width:0}\n"], dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "m-icon, m-one-icon", inputs: ["config", "name", "color", "size", "one", "baseUrl", "remote"], outputs: ["configChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21868
22030
|
}
|
|
21869
22031
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ListComponent, decorators: [{
|
|
21870
22032
|
type: Component,
|
|
@@ -21914,8 +22076,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
21914
22076
|
}
|
|
21915
22077
|
`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
21916
22078
|
class: 'm-list',
|
|
22079
|
+
'[class.is-design-mode]': 'isDesignMode',
|
|
21917
22080
|
'[style.--m-list-gap]': 'resolvedGap()',
|
|
21918
|
-
}, 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:block;width:100%}.m-list__list{display:flex;gap:var(--m-list-gap, 0);margin:0;padding:0;list-style:none}.m-list__list--vertical{flex-direction:column}.m-list__list--horizontal{flex-direction:row;flex-wrap:wrap}.m-list__list.align-center{align-items:center}.m-list__list.align-right{align-items:flex-end}.m-list__item{display:flex;align-items:flex-start;gap:.5em;min-width:0}.m-list__marker{flex:0 0 auto;display:flex;align-items:center;color:var(--m-text-tertiary);line-height:inherit}.m-list__body{flex:1 1 auto;min-width:0}\n"] }]
|
|
22081
|
+
}, 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:block;width:100%}:host(.is-design-mode){min-height:4em}.m-list__list{display:flex;gap:var(--m-list-gap, 0);margin:0;padding:0;list-style:none}.m-list__list--vertical{flex-direction:column}.m-list__list--horizontal{flex-direction:row;flex-wrap:wrap}.m-list__list.align-center{align-items:center}.m-list__list.align-right{align-items:flex-end}.m-list__item{display:flex;align-items:flex-start;gap:.5em;min-width:0}.m-list__marker{flex:0 0 auto;display:flex;align-items:center;color:var(--m-text-tertiary);line-height:inherit}.m-list__body{flex:1 1 auto;min-width:0}\n"] }]
|
|
21919
22082
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: false }] }], template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: false }] }], startIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "startIcon", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], noTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "noTranslate", required: false }] }], projectedTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
21920
22083
|
|
|
21921
22084
|
const TOTAL_COLUMNS = 12;
|
|
@@ -29154,7 +29317,7 @@ class NavHeaderComponent {
|
|
|
29154
29317
|
_searchStore = inject(SearchStore);
|
|
29155
29318
|
_isUser = computed(() => this._navStore.id() === `${ROOT_NAV$1}_user`, ...(ngDevMode ? [{ debugName: "_isUser" }] : /* istanbul ignore next */ []));
|
|
29156
29319
|
_isSearch = computed(() => this._navStore.id() === `${ROOT_NAV$1}_search`, ...(ngDevMode ? [{ debugName: "_isSearch" }] : /* istanbul ignore next */ []));
|
|
29157
|
-
_hasParent = computed(() => this._navStore.
|
|
29320
|
+
_hasParent = computed(() => this._navStore.breadcrumb().header?.id !== ROOT_NAV$1, ...(ngDevMode ? [{ debugName: "_hasParent" }] : /* istanbul ignore next */ []));
|
|
29158
29321
|
_trail = computed(() => {
|
|
29159
29322
|
const trail = this._navStore.breadcrumb().trail;
|
|
29160
29323
|
return trail && trail.length > 0 ? trail : null;
|
|
@@ -34795,5 +34958,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
34795
34958
|
* Generated bundle index. Do not edit.
|
|
34796
34959
|
*/
|
|
34797
34960
|
|
|
34798
|
-
export { DEFAULT_NAV_PARAM as $, ACCESS_DOMAINS as A, BaseInputComponent as B, COMPONENT_INPUT_REGISTRY as C, CardComponent as D, CardWrapperComponent as E, CarouselComponent as F, ChartComponent as G, CheckboxInputComponent as H, IS_DESIGN_MODE as I, ClearableInputComponent as J, ColComponent as K, LabelComponent as L, ColorPickerInputComponent as M, CommentItemComponent as N, CommentsApiService as O, CommentsComponent as P, CommentsStore as Q, ComponentInputComponent as R, ComponentStepperComponent as S, TranslatePipe as T, ConfigComponent as U, ConfirmComponent as V, ContextMenuComponent as W, CustomIconClass as X, CustomIconEditComponent as Y, DEFAULT_FILTER_RANGE_MODE as Z, DEFAULT_FILTER_VARIANT as _, BaseTextInputComponent as a, MurlUrlSerializer as a$, DEFAULT_NAV_SEGMENT as a0, DEFAULT_SIZE as a1, DashboardCardComponent as a2, DateInputComponent as a3, DatePickerComponent as a4, DeviceService as a5, DomService as a6, Domain as a7, DotGridComponent as a8, DragListDirective as a9, InputType as aA, InstrumentScoreComponent as aB, InterceptorObservables as aC, JumbotronComponent as aD, KeyValueComponent as aE, LAYOUT_ASSET_FOLDER as aF, LOGIN_COMPONENT as aG, LOGIN_STORE as aH, LanguageComponent as aI, ListComponent as aJ, LogoComponent as aK, MAG_SOCKET_EVENT as aL, MHeroColorDirective as aM, MHeroComponent as aN, MODAL_REF as aO, MODAL_STORE_REF as aP, MRefDirective as aQ, MStepComponent as aR, MURL_PARAM as aS, MURL_SEP as aT, ManifestEnrichmentService as aU, MenuComponent as aV, ModalDirective as aW, ModalRef as aX, ModalStore as aY, MoneyPipe as aZ, MultiRangeInputComponent as a_, DragListItemDirective as aa, DraggableDirective as ab, DropdownInputComponent as ac, FILTER_GROUP_CONTEXT as ad, FILTER_RANGE_MODES as ae, FILTER_VARIANTS as af, FLEX_VARIANTS as ag, FOLDER_PICK_LISTENER as ah, FORM_ASSET_FOLDER as ai, FileService as aj, FileUploadDirective as ak, FileUploadInputComponent as al, FlexComponent as am, FlexItemComponent as an, FormGroupComponent as ao, FrameComponent as ap, FreezeService as aq, GRID_BREAKPOINTS as ar, GetNavService as as, HeaderComponent$1 as at, HighlightDirective as au, HttpService as av, ICON_SOURCE as aw, IS_SIDE_PANEL as ax, IconComponent as ay, ImgComponent as az, TextOutputComponent as b, SectionAccordionGroupDirective as b$, NAV_DEFAULT_MURL as b0, NAV_ID_SEP as b1, NAV_MAIN_BUTTONS as b2, NAV_SEGMENT_RE as b3, NAV_STORE_REF as b4, NAV_WC_COMPONENTS as b5, NAV_WIDGET_MAP as b6, NavComponent as b7, NavDetailsComponent as b8, NavHeaderComponent as b9, PlaygroundComponent as bA, PositionDirective as bB, PwaInstallComponent as bC, ROOT_NAV$1 as bD, RadioGroupComponent as bE, RadioInputComponent as bF, RangeInputComponent as bG, RatingInputComponent as bH, ReactiveElementComponent as bI, RemoteComponent as bJ, RemoteLoaderService as bK, ResizeElementComponent as bL, RouteContainer as bM, RowComponent as bN, SEARCH_QUERY as bO, SEARCH_RESULTS_EVENT as bP, SECTION_ACCORDION_GROUP as bQ, SECTION_FORM_CONTEXT as bR, SHARED_ICONS as bS, SIZE_CONTEXT as bT, ScoreComponent as bU, ScrollComponent as bV, ScrollService as bW, SearchPanelComponent as bX, SearchStore as bY, SearchUserPanelComponent as bZ, SectionAccordionDirective as b_, NavMenuComponent as ba, NavStore as bb, NavTrailComponent as bc, NothingComponent as bd, NotificationElementComponent as be, NotificationGroupComponent as bf, NotificationPopupComponent as bg, NotificationService as bh, NotificationStore as bi, NotificationType as bj, NotificationWidgetComponent as bk, ONE_ASSET_BASE_URL as bl, OPTIONS_SOURCE as bm, OVERLAY_WIDGETS as bn, OneApp as bo, OptionsSourceDirective as bp, OverlayBodyComponent as bq, OverlayRef as br, OverlayService as bs, PLATFORM_BUTTON_NAV_IDS as bt, PLATFORM_EXTENSIBLE_NAV_IDS as bu, PLATFORM_NAV_MAP as bv, PLATFORM_ROOT_CHILDREN as bw, PaginationComponent as bx, PanelComponent as by, PercentagePipe as bz, ButtonComponent as c, USER_STORE_REF as c$, SectionBackComponent as c0, SectionBadgesComponent as c1, SectionButtonGroupComponent as c2, SectionCardComponent as c3, SectionCarouselComponent as c4, SectionComponent as c5, SectionFilterComponent as c6, SectionFilterGroupComponent as c7, SectionFilterMenuComponent as c8, SectionFilterPanelComponent as c9, StorageService as cA, StrokeLinecap as cB, StrokeLinejoin as cC, SummaryComponent as cD, SvgGeneratorComponent as cE, SvgGeneratorService as cF, SvgService as cG, TOTAL_COLUMNS as cH, TRANSLATION_SOURCE as cI, TableComponent as cJ, TechnicalMeterComponent as cK, TextInputComponent as cL, TextareaInputComponent as cM, ThemeComponent as cN, ThemeDataService as cO, ThemeService as cP, ThemeStore as cQ, TimeAgoPipe as cR, TimelineComponent as cS, ToggleButtonComponent as cT, ToggleInputComponent as cU, ToggleRadioInputComponent as cV, ToolTipDirective as cW, TooltipComponent as cX, TranslateService as cY, TreeGridComponent as cZ, URL_SEP as c_, SectionFilterRangePanelComponent as ca, SectionFooterComponent as cb, SectionFormComponent as cc, SectionFormItemComponent as cd, SectionHeaderComponent as ce, SectionHeroComponent as cf, SectionPaginationComponent as cg, SectionSearchComponent as ch, SectionStepperComponent as ci, SectionTabsComponent as cj, SectionToggleComponent as ck, SectionToggleItemDirective as cl, SelectableCardInputComponent as cm, SelectorDirective as cn, SettingsSearchBarComponent as co, SettingsSearchService as cp, ShapeComponent as cq, SharedStoreRegistry as cr, SidePanelDirective as cs, Size as ct, SocketStore as cu, SortComponent as cv, StatComponent as cw, StepComponent as cx, StepperComponent as cy, StepsComponent as cz, APP_CONTEXT_REF as d, getTreeGridRow as d$, USER_TAB_MAP as d0, UniverseComponent as d1, UserApiService as d2, UserAvatarComponent as d3, UserComponent as d4, UserNavComponent as d5, UserSettingsComponent as d6, UserStore as d7, WC_ROUTE_CHANGED_EVENT as d8, WC_SEARCH_GROUPS as d9, derivePropertyName as dA, emailValidation as dB, evaluate as dC, evaluateBool as dD, filterHoldsList as dE, filterHoldsOneBound as dF, filterHoldsOptions as dG, filterHoldsRange as dH, filterList as dI, filterNumber as dJ, filterNumberList as dK, filterOne as dL, filterPanelOf as dM, filterPanelWidth as dN, filterRange as dO, filterTreeGridRows as dP, filterValueList as dQ, filterValues as dR, flattenTreeGridRows as dS, formatBadgeCount as dT, fullName as dU, generateClipPath as dV, generateTransform as dW, getClassList as dX, getProperty as dY, getScrollParent as dZ, getTierFromPreviewPath as d_, WIN_USER_TAB_HOOK as da, WIN_USER_TAB_KEY as db, WatermarkComponent as dc, WcRouterStore as dd, WrapperInputComponent as de, anchorNavId as df, applyColorsToElement as dg, assetOptions as dh, bootstrapMagApp as di, bootstrapPwaInstall as dj, buildWcBaseUrl as dk, calculateLuminance as dl, calculateRanks as dm, cellText as dn, checkFilterCondition as dp, childNavId as dq, classListSignal as dr, coerceSize as ds, cornerEdge as dt, cornerSide as du, createMap as dv, createPlatformNavMap as dw, deriveAvatarGradient as dx, deriveContrastColor as dy, deriveOppositeColor as dz, ASSET_BASE_URL as e,
|
|
34799
|
-
//# sourceMappingURL=magmonium-one-magmonium-one-
|
|
34961
|
+
export { DEFAULT_NAV_PARAM as $, ACCESS_DOMAINS as A, BaseInputComponent as B, COMPONENT_INPUT_REGISTRY as C, CardComponent as D, CardWrapperComponent as E, CarouselComponent as F, ChartComponent as G, CheckboxInputComponent as H, IS_DESIGN_MODE as I, ClearableInputComponent as J, ColComponent as K, LabelComponent as L, ColorPickerInputComponent as M, CommentItemComponent as N, CommentsApiService as O, CommentsComponent as P, CommentsStore as Q, ComponentInputComponent as R, ComponentStepperComponent as S, TranslatePipe as T, ConfigComponent as U, ConfirmComponent as V, ContextMenuComponent as W, CustomIconClass as X, CustomIconEditComponent as Y, DEFAULT_FILTER_RANGE_MODE as Z, DEFAULT_FILTER_VARIANT as _, BaseTextInputComponent as a, MurlUrlSerializer as a$, DEFAULT_NAV_SEGMENT as a0, DEFAULT_SIZE as a1, DashboardCardComponent as a2, DateInputComponent as a3, DatePickerComponent as a4, DeviceService as a5, DomService as a6, Domain as a7, DotGridComponent as a8, DragListDirective as a9, InputType as aA, InstrumentScoreComponent as aB, InterceptorObservables as aC, JumbotronComponent as aD, KeyValueComponent as aE, LAYOUT_ASSET_FOLDER as aF, LOGIN_COMPONENT as aG, LOGIN_STORE as aH, LanguageComponent as aI, ListComponent as aJ, LogoComponent as aK, MAG_SOCKET_EVENT as aL, MHeroColorDirective as aM, MHeroComponent as aN, MODAL_REF as aO, MODAL_STORE_REF as aP, MRefDirective as aQ, MStepComponent as aR, MURL_PARAM as aS, MURL_SEP as aT, ManifestEnrichmentService as aU, MenuComponent as aV, ModalDirective as aW, ModalRef as aX, ModalStore as aY, MoneyPipe as aZ, MultiRangeInputComponent as a_, DragListItemDirective as aa, DraggableDirective as ab, DropdownInputComponent as ac, FILTER_GROUP_CONTEXT as ad, FILTER_RANGE_MODES as ae, FILTER_VARIANTS as af, FLEX_VARIANTS as ag, FOLDER_PICK_LISTENER as ah, FORM_ASSET_FOLDER as ai, FileService as aj, FileUploadDirective as ak, FileUploadInputComponent as al, FlexComponent as am, FlexItemComponent as an, FormGroupComponent as ao, FrameComponent as ap, FreezeService as aq, GRID_BREAKPOINTS as ar, GetNavService as as, HeaderComponent$1 as at, HighlightDirective as au, HttpService as av, ICON_SOURCE as aw, IS_SIDE_PANEL as ax, IconComponent as ay, ImgComponent as az, TextOutputComponent as b, SectionAccordionGroupDirective as b$, NAV_DEFAULT_MURL as b0, NAV_ID_SEP as b1, NAV_MAIN_BUTTONS as b2, NAV_SEGMENT_RE as b3, NAV_STORE_REF as b4, NAV_WC_COMPONENTS as b5, NAV_WIDGET_MAP as b6, NavComponent as b7, NavDetailsComponent as b8, NavHeaderComponent as b9, PlaygroundComponent as bA, PositionDirective as bB, PwaInstallComponent as bC, ROOT_NAV$1 as bD, RadioGroupComponent as bE, RadioInputComponent as bF, RangeInputComponent as bG, RatingInputComponent as bH, ReactiveElementComponent as bI, RemoteComponent as bJ, RemoteLoaderService as bK, ResizeElementComponent as bL, RouteContainer as bM, RowComponent as bN, SEARCH_QUERY as bO, SEARCH_RESULTS_EVENT as bP, SECTION_ACCORDION_GROUP as bQ, SECTION_FORM_CONTEXT as bR, SHARED_ICONS as bS, SIZE_CONTEXT as bT, ScoreComponent as bU, ScrollComponent as bV, ScrollService as bW, SearchPanelComponent as bX, SearchStore as bY, SearchUserPanelComponent as bZ, SectionAccordionDirective as b_, NavMenuComponent as ba, NavStore as bb, NavTrailComponent as bc, NothingComponent as bd, NotificationElementComponent as be, NotificationGroupComponent as bf, NotificationPopupComponent as bg, NotificationService as bh, NotificationStore as bi, NotificationType as bj, NotificationWidgetComponent as bk, ONE_ASSET_BASE_URL as bl, OPTIONS_SOURCE as bm, OVERLAY_WIDGETS as bn, OneApp as bo, OptionsSourceDirective as bp, OverlayBodyComponent as bq, OverlayRef as br, OverlayService as bs, PLATFORM_BUTTON_NAV_IDS as bt, PLATFORM_EXTENSIBLE_NAV_IDS as bu, PLATFORM_NAV_MAP as bv, PLATFORM_ROOT_CHILDREN as bw, PaginationComponent as bx, PanelComponent as by, PercentagePipe as bz, ButtonComponent as c, USER_STORE_REF as c$, SectionBackComponent as c0, SectionBadgesComponent as c1, SectionButtonGroupComponent as c2, SectionCardComponent as c3, SectionCarouselComponent as c4, SectionComponent as c5, SectionFilterComponent as c6, SectionFilterGroupComponent as c7, SectionFilterMenuComponent as c8, SectionFilterPanelComponent as c9, StorageService as cA, StrokeLinecap as cB, StrokeLinejoin as cC, SummaryComponent as cD, SvgGeneratorComponent as cE, SvgGeneratorService as cF, SvgService as cG, TOTAL_COLUMNS as cH, TRANSLATION_SOURCE as cI, TableComponent as cJ, TechnicalMeterComponent as cK, TextInputComponent as cL, TextareaInputComponent as cM, ThemeComponent as cN, ThemeDataService as cO, ThemeService as cP, ThemeStore as cQ, TimeAgoPipe as cR, TimelineComponent as cS, ToggleButtonComponent as cT, ToggleInputComponent as cU, ToggleRadioInputComponent as cV, ToolTipDirective as cW, TooltipComponent as cX, TranslateService as cY, TreeGridComponent as cZ, URL_SEP as c_, SectionFilterRangePanelComponent as ca, SectionFooterComponent as cb, SectionFormComponent as cc, SectionFormItemComponent as cd, SectionHeaderComponent as ce, SectionHeroComponent as cf, SectionPaginationComponent as cg, SectionSearchComponent as ch, SectionStepperComponent as ci, SectionTabsComponent as cj, SectionToggleComponent as ck, SectionToggleItemDirective as cl, SelectableCardInputComponent as cm, SelectorDirective as cn, SettingsSearchBarComponent as co, SettingsSearchService as cp, ShapeComponent as cq, SharedStoreRegistry as cr, SidePanelDirective as cs, Size as ct, SocketStore as cu, SortComponent as cv, StatComponent as cw, StepComponent as cx, StepperComponent as cy, StepsComponent as cz, APP_CONTEXT_REF as d, getTreeGridRow as d$, USER_TAB_MAP as d0, UniverseComponent as d1, UserApiService as d2, UserAvatarComponent as d3, UserComponent as d4, UserNavComponent as d5, UserSettingsComponent as d6, UserStore as d7, WC_ROUTE_CHANGED_EVENT as d8, WC_SEARCH_GROUPS as d9, derivePropertyName as dA, emailValidation as dB, evaluate as dC, evaluateBool as dD, filterHoldsList as dE, filterHoldsOneBound as dF, filterHoldsOptions as dG, filterHoldsRange as dH, filterList as dI, filterNumber as dJ, filterNumberList as dK, filterOne as dL, filterPanelOf as dM, filterPanelWidth as dN, filterRange as dO, filterTreeGridRows as dP, filterValueList as dQ, filterValues as dR, flattenTreeGridRows as dS, formatBadgeCount as dT, fullName as dU, generateClipPath as dV, generateTransform as dW, getClassList as dX, getProperty as dY, getScrollParent as dZ, getTierFromPreviewPath as d_, WIN_USER_TAB_HOOK as da, WIN_USER_TAB_KEY as db, WatermarkComponent as dc, WcRouterStore as dd, WrapperInputComponent as de, anchorNavId as df, applyColorsToElement as dg, assetOptions as dh, bootstrapMagApp as di, bootstrapPwaInstall as dj, buildWcBaseUrl as dk, calculateLuminance as dl, calculateRanks as dm, cellText as dn, checkFilterCondition as dp, childNavId as dq, classListSignal as dr, coerceSize as ds, cornerEdge as dt, cornerSide as du, createMap as dv, createPlatformNavMap as dw, deriveAvatarGradient as dx, deriveContrastColor as dy, deriveOppositeColor as dz, ASSET_BASE_URL as e, provideMagAppConfig as e$, getUniqueId as e0, getValue as e1, hasErrorComputed as e2, hexToRgb as e3, hslToRgb$1 as e4, initMagmoniumApp as e5, initialNotificationState as e6, initialState$2 as e7, initials as e8, injectAuthenticate as e9, maxValidation as eA, mergePlatformNav as eB, mergeUnique as eC, mergeUniqueBy as eD, mergeUniqueWith as eE, minAgeValidation as eF, minLengthValidation as eG, minValidation as eH, miniMarkToHtml as eI, navIdChain as eJ, navIdFor as eK, navIdSegment as eL, navIdToRoutePath as eM, navIdToSegments as eN, navParamOf as eO, navToId as eP, normalizeAssetOptions as eQ, parentNavId as eR, parseAddress as eS, parseColor as eT, parsePatternNames as eU, patternValidation as eV, patternsValidation as eW, platformNavWidgets as eX, privateGuard as eY, processImageToSvg as eZ, provideAppContext as e_, injectInstallApp as ea, injectParentSize as eb, injectScrollSticky as ec, isButtonName as ed, isCancelledComputed as ee, isExtensiblePlatformNavId as ef, isJson as eg, isLoadingComputed as eh, isLocalhost as ei, isNavInstanceConfig as ej, isNavMenuConfig as ek, isNavRowsConfig as el, isPlatformNavId as em, isSize as en, isTierPreview as eo, isUrlLocalhost as ep, isValidNavId as eq, isValidNavSegment as er, isWebComponent as es, linkToId as et, linkToNav as eu, loadingActions as ev, mInterceptor as ew, manualValidation as ex, matchFieldValidation as ey, maxLengthValidation as ez, AccordionBodyDirective as f, provideMagWcConfig as f0, provideMagWcRoutes as f1, provideModalComponents as f2, provideMurlUrlSerializer as f3, provideNavWidgets as f4, provideOverlayWidgets as f5, providePlatformNavWidgets as f6, provideSearch as f7, provideSizeContext as f8, provideUserTabs as f9, toLocalNavId as fA, toggleTreeGridRow as fB, unfetchedPlatformNav as fC, urlValidation as fD, publicGuard as fa, readFieldPatterns as fb, renderAddress as fc, requiredValidation as fd, resolveConfigAsset as fe, resolveIconSize as ff, resolvePallet as fg, resolvePatternRules as fh, resolveSize as fi, rgbToHex as fj, rgbToHsl as fk, rowHasChildren as fl, samePatterns as fm, segmentsToNavId as fn, setProperty as fo, setTreeGridChildren as fp, settingsWidgets as fq, shouldShowBadge as fr, splitNavId as fs, splitOnMatch as ft, stringToColor as fu, toAttrBool as fv, toAttrNumber as fw, toCssLength as fx, toHostNavId as fy, toLength$1 as fz, AccordionComponent as g, AccordionGroupComponent as h, ActionComponent as i, AnimatedGraphsComponent as j, AppCardComponent as k, AppRelationType as l, AppTileComponent as m, AssetStore as n, AssetUrlPipe as o, Assets as p, AuthActivityPageComponent as q, AuthApiService as r, AuthStore as s, AutosizeDirective as t, BadgeComponent as u, BandingComponent as v, BaseArrayInputComponent as w, BaseRootWebComponent as x, BaseWebComponent as y, ButtonGroupComponent as z };
|
|
34962
|
+
//# sourceMappingURL=magmonium-one-magmonium-one-5PPvzWJw.mjs.map
|