@magmonium/one 0.2.34 → 0.2.36

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.
@@ -3999,7 +3999,14 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
3999
3999
  // global settings list, and reading it off the anchored key — a NavId no
4000
4000
  // asset holds — left the page's own menu up under its own header.
4001
4001
  const map = store.navMap();
4002
- return widgetNavIds().find((c) => menuChildIds(c, map).length) ?? id();
4002
+ const candidates = widgetNavIds();
4003
+ return (candidates.find((c) => menuChildIds(c, map).length) ??
4004
+ // A leaf nothing is registered for is still a Nav the tree knows, and
4005
+ // that is where the panel belongs: `|settings|app` with no widget hands
4006
+ // the panel back to *settings*, whose row it is, rather than climbing
4007
+ // an anchored key the map has never heard of all the way to root.
4008
+ candidates.find((c) => !!map[c]) ??
4009
+ id());
4003
4010
  }, ...(ngDevMode ? [{ debugName: "panelNavId" }] : /* istanbul ignore next */ []));
4004
4011
  const breadcrumbResult = computed(() => {
4005
4012
  const menuConfig = resolvedNavMenuConfig();
@@ -4043,6 +4050,7 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
4043
4050
  }, ...(ngDevMode ? [{ debugName: "navHasContent" }] : /* istanbul ignore next */ []));
4044
4051
  return {
4045
4052
  id,
4053
+ panelNavId,
4046
4054
  hasMurl,
4047
4055
  isNavOpened,
4048
4056
  isMNavOpened,
@@ -4184,20 +4192,39 @@ const NavStore = signalStore({ providedIn: 'root' }, withState(initialState$3),
4184
4192
  const back = () => {
4185
4193
  if (!untracked(() => store.isNavOpened()))
4186
4194
  return;
4187
- const parent = parentNavId(untracked(() => store.id()));
4188
- if (!parent)
4195
+ const murl = untracked(() => store.murl());
4196
+ // One Murl segment off the Address we are on, keeping the Anchor. Read
4197
+ // from the Address rather than resolved through the map: an anchored
4198
+ // panel's NavId (`root_page_settings_user`) names no node, so asking the
4199
+ // map whether the parent is still a Murl answered no and sent a route
4200
+ // path nothing matched — the `**` redirect then landed on home.
4201
+ if (murl.length > 1) {
4202
+ const path = untracked(() => store.path());
4203
+ const base = path === URL_SEP ? URL_SEP : path.replace(/\/$/, '');
4204
+ router.navigateByUrl(`${base}${MURL_SEP}${murl.slice(0, -1).join(MURL_SEP)}`, { replaceUrl: true });
4189
4205
  return;
4190
- const address = addressFor(parent);
4191
- const parentStillMurl = untracked(() => splitNavId(parent, store.navMap()).murl.length > 0);
4192
- if (parentStillMurl) {
4193
- router.navigateByUrl(address, { replaceUrl: true });
4206
+ }
4207
+ // The last Murl closes menu space and leaves the page we opened over,
4208
+ // panel still up so the menu follows the trail instead of vanishing.
4209
+ if (murl.length === 1) {
4210
+ patchState(store, {
4211
+ navOpenedByUser: true,
4212
+ keepPanelOnPathChange: true,
4213
+ });
4214
+ router.navigateByUrl(untracked(() => store.path()), {
4215
+ replaceUrl: true,
4216
+ });
4194
4217
  return;
4195
4218
  }
4219
+ // Icon-opened over a page: "up" is the Url tree's own step.
4220
+ const parent = parentNavId(untracked(() => store.id()));
4221
+ if (!parent)
4222
+ return;
4196
4223
  patchState(store, {
4197
4224
  navOpenedByUser: true,
4198
4225
  keepPanelOnPathChange: true,
4199
4226
  });
4200
- router.navigateByUrl(address, { replaceUrl: true });
4227
+ router.navigateByUrl(addressFor(parent), { replaceUrl: true });
4201
4228
  };
4202
4229
  const loadNav = rxMethod(pipe(filter((req) => !!req.navId), tap(() => untracked(() => patchState(store, { navLoading: true }))), switchMap$1(({ navId, appNavId }) => getNavService
4203
4230
  .getNav(navId, untracked(() => store.navMap()), {
@@ -5488,8 +5515,14 @@ class MRefDirective {
5488
5515
  #navRef = inject(NAV_STORE_REF, { optional: true });
5489
5516
  #renderer = inject(Renderer2);
5490
5517
  #elementRef = inject(ElementRef);
5518
+ /**
5519
+ * Where the User stands as the panel reads it — the Nav that answered the
5520
+ * address rather than the address's own key, so a row still knows itself
5521
+ * when the panel was opened over a page (`/page|settings` → `root_settings`).
5522
+ */
5523
+ #currentNavId = computed(() => this.#navRef?.panelNavId?.() ?? this.#navRef?.id(), ...(ngDevMode ? [{ debugName: "#currentNavId" }] : /* istanbul ignore next */ []));
5491
5524
  /** Exact hit only — what a toggle re-clicks, and never an ancestor. */
5492
- #currentlySelected = computed(() => this.mRef() === this.#navRef?.id(), ...(ngDevMode ? [{ debugName: "#currentlySelected" }] : /* istanbul ignore next */ []));
5525
+ #currentlySelected = computed(() => this.mRef() === this.#currentNavId(), ...(ngDevMode ? [{ debugName: "#currentlySelected" }] : /* istanbul ignore next */ []));
5493
5526
  /**
5494
5527
  * The row the open Nav came through. A menu lists the Nav Menu Owner's
5495
5528
  * children, and the User may be standing deeper than a row — on a leaf that
@@ -5499,7 +5532,7 @@ class MRefDirective {
5499
5532
  */
5500
5533
  #currentlyActive = computed(() => {
5501
5534
  const target = this.mRef();
5502
- const current = this.#navRef?.id();
5535
+ const current = this.#currentNavId();
5503
5536
  if (!target || !current)
5504
5537
  return false;
5505
5538
  return current === target || current.startsWith(`${target}_`);
@@ -6609,7 +6642,7 @@ class SectionFormItemComponent extends ConfigComponent {
6609
6642
  break;
6610
6643
  }
6611
6644
  case InputType.TOGGLE: {
6612
- const { ToggleInputComponent } = await import('./magmonium-one-toggle-CGQcwMix.mjs');
6645
+ const { ToggleInputComponent } = await import('./magmonium-one-toggle-F27rRHhf.mjs');
6613
6646
  this.createDynamicComponent(seq, ToggleInputComponent, [], true);
6614
6647
  break;
6615
6648
  }
@@ -6621,12 +6654,12 @@ class SectionFormItemComponent extends ConfigComponent {
6621
6654
  break;
6622
6655
  }
6623
6656
  case InputType.PASSWORD: {
6624
- const { PasswordInputComponent } = await import('./magmonium-one-password-uZNaA0ja.mjs');
6657
+ const { PasswordInputComponent } = await import('./magmonium-one-password-MtQpTJX1.mjs');
6625
6658
  this.createDynamicComponent(seq, PasswordInputComponent);
6626
6659
  break;
6627
6660
  }
6628
6661
  case InputType.OTP: {
6629
- const { OtpInputComponent } = await import('./magmonium-one-otp-H2f26MEi.mjs');
6662
+ const { OtpInputComponent } = await import('./magmonium-one-otp-B4nZEh_m.mjs');
6630
6663
  this.createDynamicComponent(seq, OtpInputComponent);
6631
6664
  break;
6632
6665
  }
@@ -20029,7 +20062,7 @@ class WrapperInputComponent extends ConfigComponent {
20029
20062
  break;
20030
20063
  }
20031
20064
  case InputType.TOGGLE: {
20032
- const { ToggleInputComponent } = await import('./magmonium-one-toggle-CGQcwMix.mjs');
20065
+ const { ToggleInputComponent } = await import('./magmonium-one-toggle-F27rRHhf.mjs');
20033
20066
  this.createDynamicComponent(seq, ToggleInputComponent, [], true);
20034
20067
  break;
20035
20068
  }
@@ -20041,12 +20074,12 @@ class WrapperInputComponent extends ConfigComponent {
20041
20074
  break;
20042
20075
  }
20043
20076
  case InputType.PASSWORD: {
20044
- const { PasswordInputComponent } = await import('./magmonium-one-password-uZNaA0ja.mjs');
20077
+ const { PasswordInputComponent } = await import('./magmonium-one-password-MtQpTJX1.mjs');
20045
20078
  this.createDynamicComponent(seq, PasswordInputComponent);
20046
20079
  break;
20047
20080
  }
20048
20081
  case InputType.OTP: {
20049
- const { OtpInputComponent } = await import('./magmonium-one-otp-H2f26MEi.mjs');
20082
+ const { OtpInputComponent } = await import('./magmonium-one-otp-B4nZEh_m.mjs');
20050
20083
  this.createDynamicComponent(seq, OtpInputComponent);
20051
20084
  break;
20052
20085
  }
@@ -34266,4 +34299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
34266
34299
  */
34267
34300
 
34268
34301
  export { DEFAULT_NAV_SEGMENT 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, NAV_ID_SEP as a$, DEFAULT_SIZE as a0, DashboardCardComponent as a1, DateInputComponent as a2, DatePickerComponent as a3, DeviceService as a4, DomService as a5, Domain as a6, DotGridComponent as a7, DragListDirective as a8, DragListItemDirective as a9, InstrumentScoreComponent as aA, InterceptorObservables as aB, JumbotronComponent as aC, KeyValueComponent as aD, LAYOUT_ASSET_FOLDER as aE, LOGIN_COMPONENT as aF, LOGIN_STORE as aG, LanguageComponent as aH, LogoComponent as aI, MAG_SOCKET_EVENT as aJ, MHeroColorDirective as aK, MHeroComponent as aL, MODAL_REF as aM, MODAL_STORE_REF as aN, MRefDirective as aO, MStepComponent as aP, MURL_PARAM as aQ, MURL_SEP as aR, ManifestEnrichmentService as aS, MenuComponent as aT, ModalDirective as aU, ModalRef as aV, ModalStore as aW, MoneyPipe as aX, MultiRangeInputComponent as aY, MurlUrlSerializer as aZ, NAV_DEFAULT_MURL as a_, DraggableDirective as aa, DropdownInputComponent as ab, FILTER_GROUP_CONTEXT as ac, FILTER_RANGE_MODES as ad, FILTER_VARIANTS as ae, FLEX_VARIANTS as af, FOLDER_PICK_LISTENER as ag, FORM_ASSET_FOLDER as ah, FileService as ai, FileUploadDirective as aj, FileUploadInputComponent as ak, FlexComponent as al, FlexItemComponent as am, FormGroupComponent as an, FrameComponent as ao, FreezeService as ap, GRID_BREAKPOINTS as aq, GetNavService as ar, HeaderComponent$1 as as, HighlightDirective as at, HttpService as au, ICON_SOURCE as av, IS_SIDE_PANEL as aw, IconComponent as ax, ImgComponent as ay, InputType as az, TextOutputComponent as b, SectionBadgesComponent as b$, NAV_MAIN_BUTTONS as b0, NAV_SEGMENT_RE as b1, NAV_STORE_REF as b2, NAV_WC_COMPONENTS as b3, NAV_WIDGET_MAP as b4, NavComponent as b5, NavDetailsComponent as b6, NavHeaderComponent as b7, NavMenuComponent as b8, NavStore as b9, PwaInstallComponent as bA, ROOT_NAV$1 as bB, RadioGroupComponent as bC, RadioInputComponent as bD, RangeInputComponent as bE, RatingInputComponent as bF, ReactiveElementComponent as bG, RemoteComponent as bH, RemoteLoaderService as bI, ResizeElementComponent as bJ, RouteContainer as bK, RowComponent as bL, SEARCH_QUERY as bM, SEARCH_RESULTS_EVENT as bN, SECTION_ACCORDION_GROUP as bO, SECTION_FORM_CONTEXT as bP, SHARED_ICONS as bQ, SIZE_CONTEXT as bR, ScoreComponent as bS, ScrollComponent as bT, ScrollService as bU, SearchPanelComponent as bV, SearchStore as bW, SearchUserPanelComponent as bX, SectionAccordionDirective as bY, SectionAccordionGroupDirective as bZ, SectionBackComponent as b_, NavTrailComponent as ba, NothingComponent as bb, NotificationElementComponent as bc, NotificationGroupComponent as bd, NotificationPopupComponent as be, NotificationService as bf, NotificationStore as bg, NotificationType as bh, NotificationWidgetComponent as bi, ONE_ASSET_BASE_URL as bj, OPTIONS_SOURCE as bk, OVERLAY_WIDGETS as bl, OneApp as bm, OptionsSourceDirective as bn, OverlayBodyComponent as bo, OverlayRef as bp, OverlayService as bq, PLATFORM_BUTTON_NAV_IDS as br, PLATFORM_EXTENSIBLE_NAV_IDS as bs, PLATFORM_NAV_MAP as bt, PLATFORM_ROOT_CHILDREN as bu, PaginationComponent as bv, PanelComponent as bw, PercentagePipe as bx, PlaygroundComponent as by, PositionDirective as bz, ButtonComponent as c, UlComponent as c$, SectionButtonGroupComponent as c0, SectionCardComponent as c1, SectionCarouselComponent as c2, SectionComponent as c3, SectionFilterComponent as c4, SectionFilterGroupComponent as c5, SectionFilterMenuComponent as c6, SectionFilterPanelComponent as c7, SectionFilterRangePanelComponent as c8, SectionFooterComponent as c9, StrokeLinejoin as cA, SummaryComponent as cB, SvgGeneratorComponent as cC, SvgGeneratorService as cD, SvgService as cE, TOTAL_COLUMNS as cF, TRANSLATION_SOURCE as cG, TableComponent as cH, TechnicalMeterComponent as cI, TextInputComponent as cJ, TextareaInputComponent as cK, ThemeComponent as cL, ThemeDataService as cM, ThemeService as cN, ThemeStore as cO, TimeAgoPipe as cP, TimelineComponent as cQ, ToggleButtonComponent as cR, ToggleInputComponent as cS, ToggleRadioInputComponent as cT, ToolTipDirective as cU, TooltipComponent as cV, TranslateService as cW, TreeGridComponent as cX, URL_SEP as cY, USER_STORE_REF as cZ, USER_TAB_MAP as c_, SectionFormComponent as ca, SectionFormItemComponent as cb, SectionHeaderComponent as cc, SectionHeroComponent as cd, SectionPaginationComponent as ce, SectionSearchComponent as cf, SectionStepperComponent as cg, SectionTabsComponent as ch, SectionToggleComponent as ci, SectionToggleItemDirective as cj, SelectableCardInputComponent as ck, SelectorDirective as cl, SettingsSearchBarComponent as cm, SettingsSearchService as cn, ShapeComponent as co, SharedStoreRegistry as cp, SidePanelDirective as cq, Size as cr, SocketStore as cs, SortComponent as ct, StatComponent as cu, StepComponent as cv, StepperComponent as cw, StepsComponent as cx, StorageService as cy, StrokeLinecap as cz, APP_CONTEXT_REF as d, hexToRgb as d$, UniverseComponent as d0, UserApiService as d1, UserAvatarComponent as d2, UserComponent as d3, UserNavComponent as d4, UserSettingsComponent as d5, UserStore as d6, WC_ROUTE_CHANGED_EVENT as d7, WC_SEARCH_GROUPS as d8, WIN_USER_TAB_HOOK as d9, evaluate as dA, evaluateBool as dB, filterHoldsList as dC, filterHoldsOneBound as dD, filterHoldsOptions as dE, filterHoldsRange as dF, filterList as dG, filterOne as dH, filterPanelOf as dI, filterPanelWidth as dJ, filterRange as dK, filterTreeGridRows as dL, filterValueList as dM, filterValues as dN, flattenTreeGridRows as dO, formatBadgeCount as dP, fullName as dQ, generateClipPath as dR, generateTransform as dS, getClassList as dT, getProperty as dU, getScrollParent as dV, getTierFromPreviewPath as dW, getTreeGridRow as dX, getUniqueId as dY, getValue as dZ, hasErrorComputed as d_, WIN_USER_TAB_KEY as da, WatermarkComponent as db, WcRouterStore as dc, WrapperInputComponent as dd, anchorNavId as de, applyColorsToElement as df, bootstrapMagApp as dg, bootstrapPwaInstall as dh, buildWcBaseUrl as di, calculateLuminance as dj, calculateRanks as dk, cellText as dl, checkFilterCondition as dm, childNavId as dn, classListSignal as dp, coerceSize as dq, cornerEdge as dr, cornerSide as ds, createMap as dt, createPlatformNavMap as du, deriveAvatarGradient as dv, deriveContrastColor as dw, deriveOppositeColor as dx, derivePropertyName as dy, emailValidation as dz, ASSET_BASE_URL as e, provideSizeContext as e$, hslToRgb$1 as e0, initMagmoniumApp as e1, initialNotificationState as e2, initialState$2 as e3, initials as e4, injectAuthenticate as e5, injectInstallApp as e6, injectParentSize as e7, injectScrollSticky as e8, isButtonName as e9, minValidation as eA, miniMarkToHtml as eB, navIdChain as eC, navIdFor as eD, navIdSegment as eE, navIdToRoutePath as eF, navIdToSegments as eG, navToId as eH, parentNavId as eI, parseAddress as eJ, parseColor as eK, parsePatternNames as eL, patternValidation as eM, patternsValidation as eN, platformNavWidgets as eO, privateGuard as eP, processImageToSvg as eQ, provideAppContext as eR, provideMagAppConfig as eS, provideMagWcConfig as eT, provideMagWcRoutes as eU, provideModalComponents as eV, provideMurlUrlSerializer as eW, provideNavWidgets as eX, provideOverlayWidgets as eY, providePlatformNavWidgets as eZ, provideSearch as e_, isCancelledComputed as ea, isExtensiblePlatformNavId as eb, isJson as ec, isLoadingComputed as ed, isLocalhost as ee, isPlatformNavId as ef, isSize as eg, isTierPreview as eh, isUrlLocalhost as ei, isValidNavId as ej, isValidNavSegment as ek, isWebComponent as el, linkToId as em, linkToNav as en, loadingActions as eo, mInterceptor as ep, manualValidation as eq, matchFieldValidation as er, maxLengthValidation as es, maxValidation as et, mergePlatformNav as eu, mergeUnique as ev, mergeUniqueBy as ew, mergeUniqueWith as ex, minAgeValidation as ey, minLengthValidation as ez, AccordionBodyDirective as f, provideUserTabs as f0, publicGuard as f1, readFieldPatterns as f2, renderAddress as f3, requiredValidation as f4, resolveConfigAsset as f5, resolveIconSize as f6, resolvePallet as f7, resolvePatternRules as f8, resolveSize as f9, rgbToHex as fa, rgbToHsl as fb, rowHasChildren as fc, samePatterns as fd, segmentsToNavId as fe, setProperty as ff, setTreeGridChildren as fg, settingsWidgets as fh, shouldShowBadge as fi, splitNavId as fj, splitOnMatch as fk, stringToColor as fl, toAttrBool as fm, toAttrNumber as fn, toCssLength as fo, toHostNavId as fp, toLength$1 as fq, toLocalNavId as fr, toggleTreeGridRow as fs, unfetchedPlatformNav as ft, urlValidation as fu, 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 };
34269
- //# sourceMappingURL=magmonium-one-magmonium-one-Cc9Gk-uU.mjs.map
34302
+ //# sourceMappingURL=magmonium-one-magmonium-one-BiogYqpG.mjs.map