@magmonium/one 0.0.8 → 0.0.10

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.
Files changed (34) hide show
  1. package/assets/button_groups/nav_footer_button_group.json +1 -1
  2. package/assets/button_groups/nav_main_button_group.json +1 -1
  3. package/assets/buttons/apps.json +1 -1
  4. package/assets/buttons/current_lang.json +1 -1
  5. package/assets/buttons/language.json +1 -1
  6. package/assets/buttons/search.json +1 -1
  7. package/assets/buttons/settings.json +1 -1
  8. package/assets/buttons/settings_icon_only.json +1 -1
  9. package/assets/buttons/showcase_back_to_home.json +1 -1
  10. package/assets/buttons/terms.json +1 -1
  11. package/assets/buttons/theme.json +1 -1
  12. package/assets/buttons/theme_icon_only.json +1 -1
  13. package/assets/buttons/user.json +1 -1
  14. package/assets/icons/code.svg +4 -0
  15. package/assets/icons/minus.svg +3 -0
  16. package/assets/icons/svg.json +2 -0
  17. package/assets/index.json +1 -1
  18. package/fesm2022/{magmonium-one-magmonium-one-B5J36xup.mjs → magmonium-one-magmonium-one-Bsmruvcx.mjs} +6352 -5641
  19. package/fesm2022/magmonium-one-magmonium-one-Bsmruvcx.mjs.map +1 -0
  20. package/fesm2022/{magmonium-one-otp-Dlp8arYw.mjs → magmonium-one-otp-C-nsAtsR.mjs} +2 -2
  21. package/fesm2022/{magmonium-one-otp-Dlp8arYw.mjs.map → magmonium-one-otp-C-nsAtsR.mjs.map} +1 -1
  22. package/fesm2022/{magmonium-one-password-CVkPkspf.mjs → magmonium-one-password-6C8utHLm.mjs} +3 -3
  23. package/fesm2022/{magmonium-one-password-CVkPkspf.mjs.map → magmonium-one-password-6C8utHLm.mjs.map} +1 -1
  24. package/fesm2022/{magmonium-one-toggle-Bk1Z74Ii.mjs → magmonium-one-toggle-w2R0ZIGV.mjs} +2 -2
  25. package/fesm2022/{magmonium-one-toggle-Bk1Z74Ii.mjs.map → magmonium-one-toggle-w2R0ZIGV.mjs.map} +1 -1
  26. package/fesm2022/magmonium-one.mjs +1 -1
  27. package/package.json +2 -2
  28. package/sass/_index.sass +0 -1
  29. package/sass/mixins/_checkbox.sass +1 -15
  30. package/sass/mixins/_index.sass +0 -1
  31. package/sass/mixins/_radio.sass +1 -15
  32. package/types/magmonium-one.d.ts +606 -206
  33. package/fesm2022/magmonium-one-magmonium-one-B5J36xup.mjs.map +0 -1
  34. package/sass/mixins/_label.sass +0 -25
@@ -7,7 +7,8 @@ import * as _magmonium_cli from '@magmonium/cli';
7
7
  import { ThemeColor, WebComponentConfig as WebComponentConfig$1, ThemeList, Theme } from '@magmonium/cli';
8
8
  import * as _ngrx_signals from '@ngrx/signals';
9
9
  import * as _ngrx_signals_rxjs_interop from '@ngrx/signals/rxjs-interop';
10
- import { ActivatedRouteSnapshot, Router, Route, Routes } from '@angular/router';
10
+ import * as _angular_router from '@angular/router';
11
+ import { RouterStateSnapshot, Router, UrlSerializer, UrlTree, ActivatedRouteSnapshot, Route, Routes } from '@angular/router';
11
12
  import * as dist_libs_cli_src from 'dist/libs/cli/src';
12
13
  import { WithOptionalField, ValidationError, FormValueControl, FormCheckboxControl, FieldTree, SchemaOrSchemaFn, SchemaPath } from '@angular/forms/signals';
13
14
  import * as _magmonium_one from '@magmonium/one';
@@ -500,15 +501,85 @@ interface WeeklyData {
500
501
  type BreadcrumbTrail = {
501
502
  label: string;
502
503
  icon?: string;
504
+ /** NavId of this entry. */
503
505
  id: string;
504
- url?: string;
505
- murl?: string;
506
+ /**
507
+ * NavRef — names the target by NavId only. The NavKind on the target decides
508
+ * whether following it routes or opens a panel, so a link can never pick the
509
+ * wrong kind. See libs/one/CONTEXT.md (NavRef) and ADR 0014.
510
+ */
511
+ nav?: string;
512
+ /** Rendered Address for `nav`, resolved against where we stand. */
513
+ address?: string;
514
+ /** A target outside the app, which has no NavId. */
515
+ href?: string;
506
516
  };
507
517
  type BreadCrumb = {
508
518
  trail?: BreadcrumbTrail[];
509
519
  header: BreadcrumbTrail;
510
520
  };
511
521
 
522
+ /**
523
+ * Nav model — see libs/one/CONTEXT.md (NavId, NavKind, Address, Anchor, NavRef)
524
+ * and docs/adr/0014.
525
+ */
526
+ /** How a Nav is reached. A property of the node, never of the link. */
527
+ type NavKind = 'url' | 'murl';
528
+ /** How a Nav fills its panel. Orthogonal to whether it has children. */
529
+ type NavPresentation = 'static' | 'component' | 'dynamic';
530
+ type Nav = {
531
+ /** Full-path NavId — `root`, `root_settings`, `root_settings_user`. */
532
+ navId: string;
533
+ title: string;
534
+ icon?: string;
535
+ logo?: string;
536
+ kind: NavKind;
537
+ presentation: NavPresentation;
538
+ /** Child NavIds (full paths), ordered. */
539
+ children?: string[];
540
+ /**
541
+ * Route path override for a Url Nav. Absent means the route path is the
542
+ * node's own segment. A `dynamic` Url Nav routes at `<segment>/:<param>`.
543
+ */
544
+ path?: string;
545
+ /**
546
+ * Route parameter name for a `dynamic` Nav, defaulting to `id`. Named
547
+ * explicitly so two dynamic Navs on one path do not collide — m-comics
548
+ * routes `:id/:issueId`, not `:id/:id`.
549
+ */
550
+ param?: string;
551
+ /**
552
+ * Present from the library's Platform Nav seed and not yet reconciled with
553
+ * the app's own asset. Never authored and never emitted — it is how the
554
+ * store knows an extensible Platform Nav still has one fetch owing, so a
555
+ * node that is already in the map is asked for exactly once (ADR 0016).
556
+ */
557
+ seeded?: boolean;
558
+ };
559
+ type NavMap = Record<string, Nav>;
560
+ /**
561
+ * A NavId in type position. ADR 0014 made one string the asset filename, the
562
+ * `NAV_WIDGET_MAP` key and the route stamp, but only the assets were migrated —
563
+ * fourteen registrations kept the old `'root/user'` shape and silently resolved
564
+ * to nothing for a year. Typing the key is what makes the next such migration
565
+ * fail at the keyboard rather than at a blank panel (ADR 0016).
566
+ */
567
+ type NavIdKey = 'root' | `root_${string}`;
568
+ declare const ROOT_NAV = "root";
569
+ /** NavId segment joiner. Flattens both `/` and `|` — see ADR 0014. */
570
+ declare const NAV_ID_SEP = "_";
571
+ /** Address separator for a Murl. */
572
+ declare const MURL_SEP = "|";
573
+ /** Address separator for a Url. */
574
+ declare const URL_SEP = "/";
575
+ /**
576
+ * A segment may not contain `_`, or a NavId could not be split back into
577
+ * segments unambiguously.
578
+ */
579
+ declare const NAV_SEGMENT_RE: RegExp;
580
+ declare const isValidNavSegment: (segment: string) => boolean;
581
+ declare const isValidNavId: (navId: string) => boolean;
582
+
512
583
  type ButtonBadge = {
513
584
  count?: number;
514
585
  variant?: 'default' | 'primary' | 'danger';
@@ -522,8 +593,9 @@ type Button = Config & {
522
593
  disabled?: boolean;
523
594
  icon?: string;
524
595
  isRightIcon?: boolean;
525
- url?: string;
526
- murl?: string;
596
+ nav?: string;
597
+ navParams?: Record<string, string | number>;
598
+ href?: string;
527
599
  fullWidth?: boolean;
528
600
  iconOnly?: boolean;
529
601
  stacked?: boolean;
@@ -562,114 +634,308 @@ interface NavMenuConfig {
562
634
  breadcramb?: Signal<BreadCrumb>;
563
635
  }
564
636
  type NavWidgetEntry = Type<unknown> | NavWidgetConfig | NavMenuConfig;
565
- declare const NAV_WIDGET_MAP: InjectionToken<Signal<Record<string, NavWidgetEntry>>>;
637
+ /**
638
+ * What an app hands `provideNavWidgets`. Keyed by NavId and nothing else — the
639
+ * same string as the nav asset filename and the route stamp (ADR 0014).
640
+ */
641
+ type NavWidgetMap = Partial<Record<NavIdKey, NavWidgetEntry>>;
642
+ /**
643
+ * Multi-provided, and resolved **last-wins**: the library provides its own
644
+ * Platform Nav panels first so an app registering at the same NavId replaces
645
+ * them (ADR 0016).
646
+ */
647
+ declare const NAV_WIDGET_MAP: InjectionToken<Signal<Partial<Record<NavIdKey, NavWidgetEntry>>>>;
566
648
  /**
567
649
  * List of Angular components to register as custom elements for cross-bundle nav widget rendering.
568
650
  * Provided by WC apps in their providers so BaseRootWebComponent can register them on bootstrap.
569
651
  */
570
652
  declare const NAV_WC_COMPONENTS: InjectionToken<Type<unknown>[]>;
571
653
  interface NavWidgetRegistryEntry {
572
- widgetMap: Signal<Record<string, NavWidgetEntry>>;
654
+ widgetMap: Signal<NavWidgetMap>;
573
655
  injector: Injector;
574
656
  defaultNavId?: string;
575
657
  }
576
658
  declare const NAV_DEFAULT_MURL: InjectionToken<string>;
577
659
 
578
- interface RemoteSelectorConfig {
579
- appName: string;
580
- version: string;
581
- componentName?: string;
582
- prefix?: string;
583
- separator?: string;
584
- }
585
- interface WebComponentConfig {
586
- selector?: string;
587
- app: string;
588
- version: string;
589
- company?: string;
590
- timestamp?: string;
591
- logo?: string;
592
- inputs?: string[];
593
- outputs?: string[];
594
- autoRegister?: boolean;
595
- providers?: (Provider | EnvironmentProviders)[];
596
- selectorConfig?: Partial<RemoteSelectorConfig>;
597
- backend?: string;
598
- }
599
-
600
- type Nav = {
601
- title: string;
602
- icon?: string;
603
- logo?: string;
604
- isMurl?: boolean;
605
- url?: string | boolean;
606
- navs?: string[];
607
- };
608
- type NavMap = Record<string, Nav | WebComponentConfig>;
609
- declare const ROOT_NAV = "root";
610
-
611
660
  declare const NavStore: _angular_core.Type<{
612
- url: Signal<string>;
613
- murl: Signal<string>;
614
- id: Signal<string>;
661
+ path: Signal<string>;
662
+ routeNavId: Signal<string>;
663
+ murl: Signal<string[]>;
615
664
  appLink: Signal<string>;
665
+ appNavId: Signal<string>;
616
666
  navOpenedByUser: Signal<boolean>;
667
+ panelPushed: Signal<boolean>;
617
668
  navScrolledDown: Signal<boolean>;
618
669
  remoteWidgets: Signal<Record<string, NavWidgetRegistryEntry>>;
619
- navMap: Signal<Record<string, Record<string, Nav>>>;
670
+ navMap: Signal<NavMap>;
620
671
  wcConfigMap: Signal<Record<string, WebComponentConfig$1>>;
621
672
  navLoading: Signal<boolean>;
622
- urlSignal: Signal<string>;
673
+ navigationEnd: Signal<RouterStateSnapshot>;
674
+ router: Router;
675
+ id: Signal<string>;
676
+ hasMurl: Signal<boolean>;
623
677
  isNavOpened: Signal<boolean>;
624
678
  isMNavOpened: Signal<boolean>;
625
679
  resolvedWidget: Signal<NavWidgetConfig & {
626
680
  ceSelector?: string;
627
681
  }>;
628
- embeddedId: Signal<string>;
629
682
  breadcrumb: Signal<BreadCrumb>;
630
683
  navMenus: Signal<_magmonium_one.BreadcrumbTrail[]>;
631
684
  navHasContent: Signal<boolean>;
632
685
  currentWcConfig: Signal<WebComponentConfig$1>;
633
686
  resolvedNavMenuConfig: Signal<NavMenuConfig>;
634
- updateUrl: _ngrx_signals_rxjs_interop.RxMethod<string>;
635
- updateMurl: (murl: string | undefined) => void;
687
+ addressFor: (navId: string, params?: Record<string, string | number>) => string;
688
+ goToNav: (navId: string, params?: Record<string, string | number>) => void;
689
+ closePanel: () => void;
690
+ syncFromRouter: _ngrx_signals_rxjs_interop.RxMethod<RouterStateSnapshot>;
636
691
  toggleMenu: () => void;
637
- setSelected: (id: string | undefined) => void;
638
- setAppLink: (appLink: string | undefined) => void;
692
+ setSelected: (navId: string | undefined, params?: Record<string, string | number>) => void;
693
+ setAppLink: (appLink: string | undefined, appNavId?: string) => void;
639
694
  setWcConfig: (appLink: string, config: WebComponentConfig$1) => void;
640
695
  loadWcConfig: _ngrx_signals_rxjs_interop.RxMethod<string>;
641
696
  loadNav: _ngrx_signals_rxjs_interop.RxMethod<{
642
- id: string | undefined;
643
- appLink: string | undefined;
697
+ navId: string;
698
+ appNavId: string | undefined;
644
699
  }>;
645
700
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
646
701
  back: () => void;
647
702
  resolveUrl: (url: string) => string;
648
703
  setNavScrolledDown: (value: boolean) => void;
704
+ routePathFor: (navId: string) => string;
705
+ anchorOf: (navId: string) => string;
706
+ navIdChain: (navId: string) => string[];
649
707
  } & _ngrx_signals.StateSource<{
650
- url: string;
651
- murl: string | undefined;
652
- id: string | undefined;
708
+ path: string;
709
+ routeNavId: string | undefined;
710
+ murl: string[];
653
711
  appLink: string | undefined;
712
+ appNavId: string | undefined;
654
713
  navOpenedByUser: boolean;
714
+ panelPushed: boolean;
655
715
  navScrolledDown: boolean;
656
716
  remoteWidgets: Record<string, NavWidgetRegistryEntry>;
657
- navMap: Record<string, Record<string, Nav>>;
717
+ navMap: NavMap;
658
718
  wcConfigMap: Record<string, WebComponentConfig$1>;
659
719
  navLoading: boolean;
660
720
  }>>;
661
721
 
722
+ interface RemoteSelectorConfig {
723
+ appName: string;
724
+ version: string;
725
+ componentName?: string;
726
+ prefix?: string;
727
+ separator?: string;
728
+ }
729
+ interface WebComponentConfig {
730
+ selector?: string;
731
+ app: string;
732
+ version: string;
733
+ company?: string;
734
+ timestamp?: string;
735
+ logo?: string;
736
+ inputs?: string[];
737
+ outputs?: string[];
738
+ autoRegister?: boolean;
739
+ providers?: (Provider | EnvironmentProviders)[];
740
+ selectorConfig?: Partial<RemoteSelectorConfig>;
741
+ backend?: string;
742
+ }
743
+
744
+ interface GetNavContext {
745
+ /** NavId the current Remote is mounted at, in the host's keyspace. */
746
+ appNavId?: string;
747
+ appLink?: string;
748
+ }
662
749
  declare class GetNavService {
663
750
  private readonly httpService;
664
751
  private readonly assetStore;
665
- private readonly navWidgetMaps;
666
752
  readonly loadWcConfig: (appId: string) => Observable<WebComponentConfig>;
667
- readonly getNav: (id: string, navMap: Record<string, Nav>, appId?: string) => Observable<Record<string, Nav>>;
753
+ /**
754
+ * Resolves a NavId and its children into the single nav keyspace.
755
+ *
756
+ * Nodes belonging to a Remote are fetched from that Remote under its own
757
+ * root-relative NavId and rewritten to the host's prefix once, here at the
758
+ * boundary — nothing downstream can tell them apart (ADR 0015).
759
+ */
760
+ /**
761
+ * A closed Platform Nav is held by the library and is never fetched — the
762
+ * app that owns the assets does not own that node, and asking for it is what
763
+ * produced a 404 on the first click on chrome (ADR 0016). An extensible one
764
+ * is seeded *and* asked for, exactly once, so an app's own children under it
765
+ * survive; `seeded` is the flag that makes it once rather than every time.
766
+ */
767
+ private readonly isWanted;
768
+ readonly getNav: (navId: string, navMap: NavMap, ctx?: GetNavContext) => Observable<NavMap>;
769
+ private readonly fetchAll;
668
770
  private readonly fetchNav;
771
+ /**
772
+ * A Remote authors root-relative, so its own `navId` and `children` arrive in
773
+ * its keyspace. This is the one place they are rewritten into the host's.
774
+ *
775
+ * The platform merge happens here too, on the way in, so the rest of the
776
+ * runtime sees one already-merged node — `root`'s platform children ride
777
+ * behind the app's own, and omitting them from `root.yml` cannot delete a
778
+ * panel the library ships (ADR 0016). A Remote's root is not the host's root
779
+ * and takes no platform children.
780
+ */
781
+ private readonly rebase;
669
782
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GetNavService, never>;
670
783
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<GetNavService>;
671
784
  }
672
785
 
786
+ /**
787
+ * Platform Nav — the chrome this library owns (CONTEXT.md Platform Nav,
788
+ * ADR 0016).
789
+ *
790
+ * `NavComponent` renders a search, notification and user button in every app it
791
+ * is embedded in, and the editor's emitter deliberately writes App Navs only.
792
+ * So no app ever shipped `navs/root_search.yml`, and the first click on chrome
793
+ * fetched an asset nobody authored. These nodes are held here instead: they are
794
+ * never fetched, and an app's own tree is laid over them rather than replacing
795
+ * them.
796
+ *
797
+ * What fills a Platform Nav's panel is a separate fact — see
798
+ * `providePlatformNavWidgets`, whose entries an app's own `provideNavWidgets`
799
+ * overrides by registering at the same NavId.
800
+ */
801
+
802
+ /**
803
+ * Platform children rendered as rows in the root panel. Search and
804
+ * notification are deliberately absent: they are reached by their chrome
805
+ * buttons, and listing them here would put a row beside the icon that already
806
+ * opens them.
807
+ */
808
+ declare const PLATFORM_ROOT_CHILDREN: string[];
809
+ /** Platform Navs reached by a chrome button rather than a root row. */
810
+ declare const PLATFORM_BUTTON_NAV_IDS: string[];
811
+ /**
812
+ * Root carries no title of its own — an app's `navs/root.yml` names the app,
813
+ * and that is the one field of root the asset owns outright.
814
+ */
815
+ declare const PLATFORM_NAV_MAP: NavMap;
816
+ declare const isPlatformNavId: (navId: string) => boolean;
817
+ /**
818
+ * The two Platform Navs an app has a stake in — the only ones the editor lets
819
+ * a User hang children under, and so the only ones worth asking an app about.
820
+ * Every other Platform Nav is closed and is never fetched at all.
821
+ */
822
+ declare const PLATFORM_EXTENSIBLE_NAV_IDS: string[];
823
+ declare const isExtensiblePlatformNavId: (navId: string) => boolean;
824
+ /** A fresh copy — the store mutates its map and this one is shared. */
825
+ declare const createPlatformNavMap: () => NavMap;
826
+ /**
827
+ * Lays a fetched node over its platform counterpart. A closed Platform Nav is
828
+ * owned outright — an app cannot redefine chrome by shipping an asset at the
829
+ * same id. An extensible one merges: the asset contributes its App Nav
830
+ * children (and, at `root`, the app's own `title` / `logo` / `icon`), the
831
+ * platform children follow, and NavKind and NavPresentation stay the
832
+ * library's — so omitting `root_settings` from an asset cannot delete the
833
+ * settings panel, and shipping it cannot turn a Murl into a Url.
834
+ */
835
+ declare const mergePlatformNav: (nav: Nav, navId: string) => Nav;
836
+ /** The seed as it stands when an app ships no asset for an extensible node. */
837
+ declare const unfetchedPlatformNav: (navId: string) => Nav | undefined;
838
+
839
+ /**
840
+ * Reserved query param carrying the Murl part of an Address.
841
+ *
842
+ * Angular ignores query params when matching routes, and the default
843
+ * `runGuardsAndResolvers: 'paramsChange'` does not re-fire on a query-param-only
844
+ * change — so opening a panel re-matches no route, recreates no component and
845
+ * re-runs no guard, while still being a real location. See ADR 0013.
846
+ *
847
+ * It never appears in the address bar: this serializer writes it back out as
848
+ * `|`, and reads it back in the same way.
849
+ */
850
+ declare const MURL_PARAM = "__m";
851
+ /**
852
+ * Serializes the Murl part of an Address as `|` in the path while carrying it
853
+ * internally as a query param.
854
+ *
855
+ * `|` is not URL-unreserved — `encodeURI('/a|d')` yields `/a%7Cd` — so links
856
+ * arrive in both forms and parsing accepts both. Serialization always emits the
857
+ * literal `|`, and always keeps a leading `/`: a bare `|search` is a *relative*
858
+ * URL that would resolve against the current directory.
859
+ */
860
+ declare class MurlUrlSerializer implements UrlSerializer {
861
+ #private;
862
+ parse(url: string): UrlTree;
863
+ serialize(tree: UrlTree): string;
864
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MurlUrlSerializer, never>;
865
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<MurlUrlSerializer>;
866
+ }
867
+ declare const provideMurlUrlSerializer: () => Provider;
868
+
869
+ /**
870
+ * NavId <-> Address. See libs/one/CONTEXT.md and docs/adr/0014.
871
+ *
872
+ * A NavId is the full path joined with `_`, always rooted: `root`,
873
+ * `root_settings_user`. It is separator-blind — the `/` vs `|` of an Address
874
+ * comes from each node's NavKind, never from the id and never hand-written.
875
+ */
876
+ /** `root_settings_user` -> `['root', 'settings', 'user']`. */
877
+ declare const navIdToSegments: (navId?: string) => string[];
878
+ /** `['settings', 'user']` -> `root_settings_user`. Root is implicit. */
879
+ declare const segmentsToNavId: (segments?: string[]) => string;
880
+ declare const childNavId: (parentNavId: string, segment: string) => string;
881
+ declare const parentNavId: (navId: string) => string | undefined;
882
+ /** Last segment, for display. `root_settings_user` -> `user`. */
883
+ declare const navIdSegment: (navId: string) => string;
884
+ /** Every ancestor id from `root` down to `navId` inclusive. */
885
+ declare const navIdChain: (navId: string) => string[];
886
+ /**
887
+ * Splits a NavId at the point where Murl space begins. Murl is absorbing, so
888
+ * the first Murl node ends the Url part and everything after it is Murl.
889
+ * A node missing from the map is treated as Url while still in Url space —
890
+ * an unresolved segment cannot be assumed to open a panel.
891
+ */
892
+ declare const splitNavId: (navId: string, navMap: NavMap) => {
893
+ url: string[];
894
+ murl: string[];
895
+ };
896
+ /** The Url-space ancestor of a NavId — its Anchor. */
897
+ declare const anchorNavId: (navId: string, navMap: NavMap) => string;
898
+ /**
899
+ * Route path for the Url part of a NavId. `root` -> `/`. A `dynamic` Nav
900
+ * contributes `<segment>/:id`, which is why a concrete path can only be
901
+ * rendered against a live location (see `renderAddress`).
902
+ */
903
+ declare const navIdToRoutePath: (navId: string, navMap: NavMap) => string;
904
+ /**
905
+ * Renders the Address for a NavId. The Url part is taken from `anchorPath`
906
+ * when the target is anchored to where we already stand — that is the only
907
+ * way a dynamic segment's real value (`abc123`, not `:id`) can appear.
908
+ */
909
+ declare const renderAddress: (navId: string, navMap: NavMap, anchor?: {
910
+ navId: string;
911
+ path: string;
912
+ },
913
+ /**
914
+ * Values for the dynamic segments on the way to the target. A NavRef names a
915
+ * node; a `dynamic` node still needs to know *which* instance, and that is
916
+ * data, not identity (ADR 0014).
917
+ */
918
+ params?: Record<string, string | number>) => string;
919
+ /**
920
+ * Splits a location into its route path and its Murl segments. Accepts the
921
+ * percent-encoded form too, because `|` is not URL-unreserved and any encoder
922
+ * in the chain will have turned it into `%7C` (ADR 0013).
923
+ */
924
+ declare const parseAddress: (address: string) => {
925
+ path: string;
926
+ murl: string[];
927
+ };
928
+ /** Appends Murl segments to the NavId of the page they are anchored to. */
929
+ declare const navIdFor: (anchorNavId: string, murl: string[]) => string;
930
+ /**
931
+ * Rewrites a Remote's root-relative NavId into the host's keyspace, so a
932
+ * single map holds both (ADR 0015). `root_book` under `root_app_m-comics`
933
+ * becomes `root_app_m-comics_book`.
934
+ */
935
+ declare const toHostNavId: (localNavId: string, hostNavId: string) => string;
936
+ /** Inverse of `toHostNavId`, for asking a Remote for its own asset. */
937
+ declare const toLocalNavId: (hostScopedNavId: string, hostNavId: string) => string | undefined;
938
+
673
939
  type OsTheme = 'light' | 'dark';
674
940
 
675
941
  type ColorPropertyType = 'color' | 'color-contrast' | 'color-opposite';
@@ -814,8 +1080,9 @@ declare class ButtonComponent extends ReactiveElementComponent<Button> {
814
1080
  color: _angular_core.InputSignal<keyof ThemeColor>;
815
1081
  labelClass: _angular_core.InputSignal<string>;
816
1082
  fullWidth: _angular_core.InputSignal<string | boolean>;
817
- url: _angular_core.InputSignal<string>;
818
- murl: _angular_core.InputSignal<string>;
1083
+ nav: _angular_core.InputSignal<string>;
1084
+ navParams: _angular_core.InputSignal<Record<string, string | number>>;
1085
+ href: _angular_core.InputSignal<string>;
819
1086
  disabled: _angular_core.InputSignal<boolean>;
820
1087
  variant: _angular_core.InputSignal<"primary" | "ghost" | "secondary" | "tab">;
821
1088
  name: _angular_core.InputSignal<string>;
@@ -857,7 +1124,7 @@ declare class ButtonComponent extends ReactiveElementComponent<Button> {
857
1124
  onClick(): void;
858
1125
  protected readonly formatBadgeCount: (count: number, max?: number) => string;
859
1126
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
860
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "m-button,m-one-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "labelClass": { "alias": "labelClass"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "url": { "alias": "url"; "required": false; "isSignal": true; }; "murl": { "alias": "murl"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "baseUrl": { "alias": "baseUrl"; "required": false; "isSignal": true; }; "one": { "alias": "one"; "required": false; "isSignal": true; }; "remote": { "alias": "remote"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "noTranslate": { "alias": "noTranslate"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "isRightIcon": { "alias": "isRightIcon"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "imgSrc": { "alias": "imgSrc"; "required": false; "isSignal": true; }; "nonClickable": { "alias": "nonClickable"; "required": false; "isSignal": true; }; "inverted": { "alias": "inverted"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "config": "configChange"; "clicked": "clicked"; }, never, never, true, never>;
1127
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "m-button,m-one-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "labelClass": { "alias": "labelClass"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "nav": { "alias": "nav"; "required": false; "isSignal": true; }; "navParams": { "alias": "navParams"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "baseUrl": { "alias": "baseUrl"; "required": false; "isSignal": true; }; "one": { "alias": "one"; "required": false; "isSignal": true; }; "remote": { "alias": "remote"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "noTranslate": { "alias": "noTranslate"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "isRightIcon": { "alias": "isRightIcon"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "imgSrc": { "alias": "imgSrc"; "required": false; "isSignal": true; }; "nonClickable": { "alias": "nonClickable"; "required": false; "isSignal": true; }; "inverted": { "alias": "inverted"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "config": "configChange"; "clicked": "clicked"; }, never, never, true, never>;
861
1128
  }
862
1129
 
863
1130
  declare enum Direction$1 {
@@ -963,6 +1230,8 @@ type MenuItem = {
963
1230
  icon?: string;
964
1231
  value?: string | number;
965
1232
  link?: string;
1233
+ /** NavRef — a NavId. Selection is compared by id, not by URL string. */
1234
+ nav?: string;
966
1235
  disabled?: boolean;
967
1236
  hidden?: boolean;
968
1237
  selected?: boolean;
@@ -1674,15 +1943,23 @@ declare class MHeroColorDirective {
1674
1943
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MHeroColorDirective, "[mHeroColor]", never, { "mHeroColor": { "alias": "mHeroColor"; "required": true; "isSignal": true; }; "mHeroColorVar": { "alias": "mHeroColorVar"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1675
1944
  }
1676
1945
 
1946
+ /**
1947
+ * NavRef link. `mRef` names a target by NavId and nothing else — the NavKind on
1948
+ * that node decides whether following it routes or opens a panel, so this
1949
+ * directive never chooses. See libs/one/CONTEXT.md (NavRef) and ADR 0014.
1950
+ */
1677
1951
  declare class MRefDirective {
1678
1952
  #private;
1953
+ /** NavId of the target. */
1679
1954
  mRef: _angular_core.InputSignal<string>;
1680
1955
  mRefLinkActive: _angular_core.InputSignal<string>;
1681
1956
  mRefToggle: _angular_core.InputSignal<boolean>;
1957
+ /** Values for dynamic segments on the way to the target. */
1958
+ mRefParams: _angular_core.InputSignal<Record<string, string | number>>;
1682
1959
  constructor();
1683
1960
  onHostClick(event: MouseEvent): void;
1684
1961
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MRefDirective, never>;
1685
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MRefDirective, "[mRef]", never, { "mRef": { "alias": "mRef"; "required": true; "isSignal": true; }; "mRefLinkActive": { "alias": "mRefLinkActive"; "required": false; "isSignal": true; }; "mRefToggle": { "alias": "mRefToggle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1962
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MRefDirective, "[mRef]", never, { "mRef": { "alias": "mRef"; "required": true; "isSignal": true; }; "mRefLinkActive": { "alias": "mRefLinkActive"; "required": false; "isSignal": true; }; "mRefToggle": { "alias": "mRefToggle"; "required": false; "isSignal": true; }; "mRefParams": { "alias": "mRefParams"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1686
1963
  }
1687
1964
 
1688
1965
  type FilterOption = {
@@ -2236,7 +2513,7 @@ declare class SectionTabsComponent extends ConfigComponent<TabGroup> implements
2236
2513
  protected readonly isColumnMode: _angular_core.Signal<boolean>;
2237
2514
  private observer?;
2238
2515
  private readonly injector;
2239
- private readonly router;
2516
+ private readonly navRef;
2240
2517
  constructor();
2241
2518
  ngOnDestroy(): void;
2242
2519
  protected resolveComponentOverrides(): Partial<TabGroup>;
@@ -4013,6 +4290,90 @@ declare class TableComponent extends ConfigComponent<TableConfig> {
4013
4290
  */
4014
4291
  declare function checkFilterCondition(val: unknown, condition: TableFilterCondition, filterVal: unknown): boolean;
4015
4292
 
4293
+ type TreeGridRow = {
4294
+ data: unknown[];
4295
+ /** Expanded state; start false so the tree is squeezed until the User opens a node. */
4296
+ isOpened?: boolean;
4297
+ /** Node may have children that are not loaded yet. */
4298
+ hasNode?: boolean;
4299
+ /**
4300
+ * Loaded children. `undefined` = not loaded yet (may emit loadChildren).
4301
+ * `[]` or non-empty = already loaded; reopen must not fetch again.
4302
+ */
4303
+ child?: TreeGridRow[];
4304
+ };
4305
+ type FlatTreeGridRow = {
4306
+ row: TreeGridRow;
4307
+ depth: number;
4308
+ path: number[];
4309
+ hasChildren: boolean;
4310
+ pathKey: string;
4311
+ };
4312
+ type TreeGridToggleEvent = {
4313
+ path: number[];
4314
+ isOpened: boolean;
4315
+ row: TreeGridRow;
4316
+ };
4317
+ /** Emitted when a node opens and its children still need to be loaded. */
4318
+ type TreeGridLoadChildrenEvent = {
4319
+ path: number[];
4320
+ row: TreeGridRow;
4321
+ };
4322
+ type TreeGridRowSelectEvent = {
4323
+ path: number[];
4324
+ row: TreeGridRow;
4325
+ key: string;
4326
+ };
4327
+
4328
+ declare class TreeGridComponent extends ConfigComponent<TableConfig> {
4329
+ subFolder: string;
4330
+ config: _angular_core.ModelSignal<Partial<TableConfig>>;
4331
+ readonly data: _angular_core.ModelSignal<TreeGridRow[]>;
4332
+ readonly loading: _angular_core.InputSignal<boolean>;
4333
+ /** Per-depth indent; default matches toggle icon width. */
4334
+ readonly indentRem: _angular_core.InputSignal<number>;
4335
+ /**
4336
+ * Index into row.data used as selection identity. When set with selectedKey,
4337
+ * that row is highlighted.
4338
+ */
4339
+ readonly keyIndex: _angular_core.InputSignal<number>;
4340
+ readonly selectedKey: _angular_core.ModelSignal<string>;
4341
+ readonly rowToggled: _angular_core.OutputEmitterRef<TreeGridToggleEvent>;
4342
+ /** Parent should resolve children and call setTreeGridChildren / patch data. */
4343
+ readonly loadChildren: _angular_core.OutputEmitterRef<TreeGridLoadChildrenEvent>;
4344
+ readonly rowSelected: _angular_core.OutputEmitterRef<TreeGridRowSelectEvent>;
4345
+ readonly menuAction: _angular_core.OutputEmitterRef<{
4346
+ row: TreeGridRow;
4347
+ path: number[];
4348
+ actionId: string;
4349
+ }>;
4350
+ readonly cellText: (row: unknown[], colIndex: number) => string;
4351
+ readonly cellTitle: (row: unknown[], colIndex: number) => string | undefined;
4352
+ readonly variantClass: _angular_core.Signal<string>;
4353
+ readonly visibleColumns: _angular_core.Signal<ColumnDef[]>;
4354
+ readonly effectiveFixedCount: _angular_core.Signal<number>;
4355
+ readonly displayRows: _angular_core.Signal<_magmonium_one.FlatTreeGridRow[]>;
4356
+ readonly fixedOffsetFn: _angular_core.Signal<(visibleColIndex: number) => number>;
4357
+ readonly rowKey: (row: TreeGridRow) => string;
4358
+ readonly iconName: (data: unknown[], index: number) => string | undefined;
4359
+ readonly menuConfig: (data: unknown[], col: ColumnDef) => {
4360
+ options: MenuItem[][];
4361
+ };
4362
+ readonly onToggle: (path: number[]) => void;
4363
+ readonly onRowClick: (row: TreeGridRow, path: number[]) => void;
4364
+ readonly onMenuAction: (row: TreeGridRow, path: number[], item: MenuItem) => void;
4365
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeGridComponent, never>;
4366
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeGridComponent, "m-tree-grid", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "indentRem": { "alias": "indentRem"; "required": false; "isSignal": true; }; "keyIndex": { "alias": "keyIndex"; "required": false; "isSignal": true; }; "selectedKey": { "alias": "selectedKey"; "required": false; "isSignal": true; }; }, { "config": "configChange"; "data": "dataChange"; "selectedKey": "selectedKeyChange"; "rowToggled": "rowToggled"; "loadChildren": "loadChildren"; "rowSelected": "rowSelected"; "menuAction": "menuAction"; }, never, never, true, never>;
4367
+ }
4368
+
4369
+ declare const rowHasChildren: (row: TreeGridRow) => boolean;
4370
+ declare const getTreeGridRow: (rows: TreeGridRow[], path: number[]) => TreeGridRow | undefined;
4371
+ declare const flattenTreeGridRows: (rows: TreeGridRow[], depth?: number, path?: number[]) => FlatTreeGridRow[];
4372
+ declare const toggleTreeGridRow: (rows: TreeGridRow[], path: number[]) => TreeGridRow[];
4373
+ /** Attach lazily loaded children at `path` and keep the node opened. */
4374
+ declare const setTreeGridChildren: (rows: TreeGridRow[], path: number[], child: TreeGridRow[]) => TreeGridRow[];
4375
+ declare const cellText: (row: unknown[], colIndex: number) => string;
4376
+
4016
4377
  interface ChartSeries {
4017
4378
  values: number[];
4018
4379
  color: string;
@@ -4089,7 +4450,10 @@ interface SummaryRow {
4089
4450
  interface SummaryAction {
4090
4451
  name: string;
4091
4452
  label?: string;
4092
- url?: string;
4453
+ /** NavRef — a NavId. The NavKind on the target decides route vs panel. */
4454
+ nav?: string;
4455
+ /** Values for dynamic segments on the way to `nav`. */
4456
+ navParams?: Record<string, string | number>;
4093
4457
  icon?: string;
4094
4458
  variant?: 'primary' | 'ghost';
4095
4459
  isGroup?: boolean;
@@ -4514,52 +4878,63 @@ declare class IdentityCardContentComponent {
4514
4878
  remoteUserTabs: _angular_core.Signal<Record<string, Record<string, string>>>;
4515
4879
  hostUserTabs: Record<string, _angular_core.Type<unknown>>;
4516
4880
  navStore: {
4517
- url: _angular_core.Signal<string>;
4518
- murl: _angular_core.Signal<string>;
4519
- id: _angular_core.Signal<string>;
4881
+ path: _angular_core.Signal<string>;
4882
+ routeNavId: _angular_core.Signal<string>;
4883
+ murl: _angular_core.Signal<string[]>;
4520
4884
  appLink: _angular_core.Signal<string>;
4885
+ appNavId: _angular_core.Signal<string>;
4521
4886
  navOpenedByUser: _angular_core.Signal<boolean>;
4887
+ panelPushed: _angular_core.Signal<boolean>;
4522
4888
  navScrolledDown: _angular_core.Signal<boolean>;
4523
4889
  remoteWidgets: _angular_core.Signal<Record<string, NavWidgetRegistryEntry>>;
4524
- navMap: _angular_core.Signal<Record<string, Record<string, _magmonium_one.Nav>>>;
4890
+ navMap: _angular_core.Signal<_magmonium_one.NavMap>;
4525
4891
  wcConfigMap: _angular_core.Signal<Record<string, dist_libs_cli_src.WebComponentConfig>>;
4526
4892
  navLoading: _angular_core.Signal<boolean>;
4527
- urlSignal: _angular_core.Signal<string>;
4893
+ navigationEnd: _angular_core.Signal<_angular_router.RouterStateSnapshot>;
4894
+ router: _angular_router.Router;
4895
+ id: _angular_core.Signal<string>;
4896
+ hasMurl: _angular_core.Signal<boolean>;
4528
4897
  isNavOpened: _angular_core.Signal<boolean>;
4529
4898
  isMNavOpened: _angular_core.Signal<boolean>;
4530
4899
  resolvedWidget: _angular_core.Signal<_magmonium_one.NavWidgetConfig & {
4531
4900
  ceSelector?: string;
4532
4901
  }>;
4533
- embeddedId: _angular_core.Signal<string>;
4534
4902
  breadcrumb: _angular_core.Signal<_magmonium_one.BreadCrumb>;
4535
4903
  navMenus: _angular_core.Signal<_magmonium_one.BreadcrumbTrail[]>;
4536
4904
  navHasContent: _angular_core.Signal<boolean>;
4537
4905
  currentWcConfig: _angular_core.Signal<dist_libs_cli_src.WebComponentConfig>;
4538
4906
  resolvedNavMenuConfig: _angular_core.Signal<NavMenuConfig>;
4539
- updateUrl: _ngrx_signals_rxjs_interop.RxMethod<string>;
4540
- updateMurl: (murl: string | undefined) => void;
4907
+ addressFor: (navId: string, params?: Record<string, string | number>) => string;
4908
+ goToNav: (navId: string, params?: Record<string, string | number>) => void;
4909
+ closePanel: () => void;
4910
+ syncFromRouter: _ngrx_signals_rxjs_interop.RxMethod<_angular_router.RouterStateSnapshot>;
4541
4911
  toggleMenu: () => void;
4542
- setSelected: (id: string | undefined) => void;
4543
- setAppLink: (appLink: string | undefined) => void;
4912
+ setSelected: (navId: string | undefined, params?: Record<string, string | number>) => void;
4913
+ setAppLink: (appLink: string | undefined, appNavId?: string) => void;
4544
4914
  setWcConfig: (appLink: string, config: dist_libs_cli_src.WebComponentConfig) => void;
4545
4915
  loadWcConfig: _ngrx_signals_rxjs_interop.RxMethod<string>;
4546
4916
  loadNav: _ngrx_signals_rxjs_interop.RxMethod<{
4547
- id: string | undefined;
4548
- appLink: string | undefined;
4917
+ navId: string;
4918
+ appNavId: string | undefined;
4549
4919
  }>;
4550
4920
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
4551
4921
  back: () => void;
4552
4922
  resolveUrl: (url: string) => string;
4553
4923
  setNavScrolledDown: (value: boolean) => void;
4924
+ routePathFor: (navId: string) => string;
4925
+ anchorOf: (navId: string) => string;
4926
+ navIdChain: (navId: string) => string[];
4554
4927
  } & _ngrx_signals.StateSource<{
4555
- url: string;
4556
- murl: string | undefined;
4557
- id: string | undefined;
4928
+ path: string;
4929
+ routeNavId: string | undefined;
4930
+ murl: string[];
4558
4931
  appLink: string | undefined;
4932
+ appNavId: string | undefined;
4559
4933
  navOpenedByUser: boolean;
4934
+ panelPushed: boolean;
4560
4935
  navScrolledDown: boolean;
4561
4936
  remoteWidgets: Record<string, NavWidgetRegistryEntry>;
4562
- navMap: Record<string, Record<string, _magmonium_one.Nav>>;
4937
+ navMap: _magmonium_one.NavMap;
4563
4938
  wcConfigMap: Record<string, dist_libs_cli_src.WebComponentConfig>;
4564
4939
  navLoading: boolean;
4565
4940
  }>;
@@ -4656,52 +5031,63 @@ declare class LoginOneComponent {
4656
5031
  remoteUserTabs: _angular_core.Signal<Record<string, Record<string, string>>>;
4657
5032
  hostUserTabs: Record<string, _angular_core.Type<unknown>>;
4658
5033
  navStore: {
4659
- url: _angular_core.Signal<string>;
4660
- murl: _angular_core.Signal<string>;
4661
- id: _angular_core.Signal<string>;
5034
+ path: _angular_core.Signal<string>;
5035
+ routeNavId: _angular_core.Signal<string>;
5036
+ murl: _angular_core.Signal<string[]>;
4662
5037
  appLink: _angular_core.Signal<string>;
5038
+ appNavId: _angular_core.Signal<string>;
4663
5039
  navOpenedByUser: _angular_core.Signal<boolean>;
5040
+ panelPushed: _angular_core.Signal<boolean>;
4664
5041
  navScrolledDown: _angular_core.Signal<boolean>;
4665
5042
  remoteWidgets: _angular_core.Signal<Record<string, NavWidgetRegistryEntry>>;
4666
- navMap: _angular_core.Signal<Record<string, Record<string, _magmonium_one.Nav>>>;
5043
+ navMap: _angular_core.Signal<_magmonium_one.NavMap>;
4667
5044
  wcConfigMap: _angular_core.Signal<Record<string, dist_libs_cli_src.WebComponentConfig>>;
4668
5045
  navLoading: _angular_core.Signal<boolean>;
4669
- urlSignal: _angular_core.Signal<string>;
5046
+ navigationEnd: _angular_core.Signal<_angular_router.RouterStateSnapshot>;
5047
+ router: _angular_router.Router;
5048
+ id: _angular_core.Signal<string>;
5049
+ hasMurl: _angular_core.Signal<boolean>;
4670
5050
  isNavOpened: _angular_core.Signal<boolean>;
4671
5051
  isMNavOpened: _angular_core.Signal<boolean>;
4672
5052
  resolvedWidget: _angular_core.Signal<_magmonium_one.NavWidgetConfig & {
4673
5053
  ceSelector?: string;
4674
5054
  }>;
4675
- embeddedId: _angular_core.Signal<string>;
4676
5055
  breadcrumb: _angular_core.Signal<_magmonium_one.BreadCrumb>;
4677
5056
  navMenus: _angular_core.Signal<_magmonium_one.BreadcrumbTrail[]>;
4678
5057
  navHasContent: _angular_core.Signal<boolean>;
4679
5058
  currentWcConfig: _angular_core.Signal<dist_libs_cli_src.WebComponentConfig>;
4680
5059
  resolvedNavMenuConfig: _angular_core.Signal<NavMenuConfig>;
4681
- updateUrl: _ngrx_signals_rxjs_interop.RxMethod<string>;
4682
- updateMurl: (murl: string | undefined) => void;
5060
+ addressFor: (navId: string, params?: Record<string, string | number>) => string;
5061
+ goToNav: (navId: string, params?: Record<string, string | number>) => void;
5062
+ closePanel: () => void;
5063
+ syncFromRouter: _ngrx_signals_rxjs_interop.RxMethod<_angular_router.RouterStateSnapshot>;
4683
5064
  toggleMenu: () => void;
4684
- setSelected: (id: string | undefined) => void;
4685
- setAppLink: (appLink: string | undefined) => void;
5065
+ setSelected: (navId: string | undefined, params?: Record<string, string | number>) => void;
5066
+ setAppLink: (appLink: string | undefined, appNavId?: string) => void;
4686
5067
  setWcConfig: (appLink: string, config: dist_libs_cli_src.WebComponentConfig) => void;
4687
5068
  loadWcConfig: _ngrx_signals_rxjs_interop.RxMethod<string>;
4688
5069
  loadNav: _ngrx_signals_rxjs_interop.RxMethod<{
4689
- id: string | undefined;
4690
- appLink: string | undefined;
5070
+ navId: string;
5071
+ appNavId: string | undefined;
4691
5072
  }>;
4692
5073
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
4693
5074
  back: () => void;
4694
5075
  resolveUrl: (url: string) => string;
4695
5076
  setNavScrolledDown: (value: boolean) => void;
5077
+ routePathFor: (navId: string) => string;
5078
+ anchorOf: (navId: string) => string;
5079
+ navIdChain: (navId: string) => string[];
4696
5080
  } & _ngrx_signals.StateSource<{
4697
- url: string;
4698
- murl: string | undefined;
4699
- id: string | undefined;
5081
+ path: string;
5082
+ routeNavId: string | undefined;
5083
+ murl: string[];
4700
5084
  appLink: string | undefined;
5085
+ appNavId: string | undefined;
4701
5086
  navOpenedByUser: boolean;
5087
+ panelPushed: boolean;
4702
5088
  navScrolledDown: boolean;
4703
5089
  remoteWidgets: Record<string, NavWidgetRegistryEntry>;
4704
- navMap: Record<string, Record<string, _magmonium_one.Nav>>;
5090
+ navMap: _magmonium_one.NavMap;
4705
5091
  wcConfigMap: Record<string, dist_libs_cli_src.WebComponentConfig>;
4706
5092
  navLoading: boolean;
4707
5093
  }>;
@@ -4792,52 +5178,63 @@ declare const LoginStore: Type<{
4792
5178
  remoteUserTabs: _angular_core.Signal<Record<string, Record<string, string>>>;
4793
5179
  hostUserTabs: Record<string, Type<unknown>>;
4794
5180
  navStore: {
4795
- url: _angular_core.Signal<string>;
4796
- murl: _angular_core.Signal<string>;
4797
- id: _angular_core.Signal<string>;
5181
+ path: _angular_core.Signal<string>;
5182
+ routeNavId: _angular_core.Signal<string>;
5183
+ murl: _angular_core.Signal<string[]>;
4798
5184
  appLink: _angular_core.Signal<string>;
5185
+ appNavId: _angular_core.Signal<string>;
4799
5186
  navOpenedByUser: _angular_core.Signal<boolean>;
5187
+ panelPushed: _angular_core.Signal<boolean>;
4800
5188
  navScrolledDown: _angular_core.Signal<boolean>;
4801
5189
  remoteWidgets: _angular_core.Signal<Record<string, NavWidgetRegistryEntry>>;
4802
- navMap: _angular_core.Signal<Record<string, Record<string, _magmonium_one.Nav>>>;
5190
+ navMap: _angular_core.Signal<_magmonium_one.NavMap>;
4803
5191
  wcConfigMap: _angular_core.Signal<Record<string, dist_libs_cli_src.WebComponentConfig>>;
4804
5192
  navLoading: _angular_core.Signal<boolean>;
4805
- urlSignal: _angular_core.Signal<string>;
5193
+ navigationEnd: _angular_core.Signal<_angular_router.RouterStateSnapshot>;
5194
+ router: Router;
5195
+ id: _angular_core.Signal<string>;
5196
+ hasMurl: _angular_core.Signal<boolean>;
4806
5197
  isNavOpened: _angular_core.Signal<boolean>;
4807
5198
  isMNavOpened: _angular_core.Signal<boolean>;
4808
5199
  resolvedWidget: _angular_core.Signal<_magmonium_one.NavWidgetConfig & {
4809
5200
  ceSelector?: string;
4810
5201
  }>;
4811
- embeddedId: _angular_core.Signal<string>;
4812
5202
  breadcrumb: _angular_core.Signal<_magmonium_one.BreadCrumb>;
4813
5203
  navMenus: _angular_core.Signal<_magmonium_one.BreadcrumbTrail[]>;
4814
5204
  navHasContent: _angular_core.Signal<boolean>;
4815
5205
  currentWcConfig: _angular_core.Signal<dist_libs_cli_src.WebComponentConfig>;
4816
5206
  resolvedNavMenuConfig: _angular_core.Signal<NavMenuConfig>;
4817
- updateUrl: _ngrx_signals_rxjs_interop.RxMethod<string>;
4818
- updateMurl: (murl: string | undefined) => void;
5207
+ addressFor: (navId: string, params?: Record<string, string | number>) => string;
5208
+ goToNav: (navId: string, params?: Record<string, string | number>) => void;
5209
+ closePanel: () => void;
5210
+ syncFromRouter: _ngrx_signals_rxjs_interop.RxMethod<_angular_router.RouterStateSnapshot>;
4819
5211
  toggleMenu: () => void;
4820
- setSelected: (id: string | undefined) => void;
4821
- setAppLink: (appLink: string | undefined) => void;
5212
+ setSelected: (navId: string | undefined, params?: Record<string, string | number>) => void;
5213
+ setAppLink: (appLink: string | undefined, appNavId?: string) => void;
4822
5214
  setWcConfig: (appLink: string, config: dist_libs_cli_src.WebComponentConfig) => void;
4823
5215
  loadWcConfig: _ngrx_signals_rxjs_interop.RxMethod<string>;
4824
5216
  loadNav: _ngrx_signals_rxjs_interop.RxMethod<{
4825
- id: string | undefined;
4826
- appLink: string | undefined;
5217
+ navId: string;
5218
+ appNavId: string | undefined;
4827
5219
  }>;
4828
5220
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
4829
5221
  back: () => void;
4830
5222
  resolveUrl: (url: string) => string;
4831
5223
  setNavScrolledDown: (value: boolean) => void;
5224
+ routePathFor: (navId: string) => string;
5225
+ anchorOf: (navId: string) => string;
5226
+ navIdChain: (navId: string) => string[];
4832
5227
  } & _ngrx_signals.StateSource<{
4833
- url: string;
4834
- murl: string | undefined;
4835
- id: string | undefined;
5228
+ path: string;
5229
+ routeNavId: string | undefined;
5230
+ murl: string[];
4836
5231
  appLink: string | undefined;
5232
+ appNavId: string | undefined;
4837
5233
  navOpenedByUser: boolean;
5234
+ panelPushed: boolean;
4838
5235
  navScrolledDown: boolean;
4839
5236
  remoteWidgets: Record<string, NavWidgetRegistryEntry>;
4840
- navMap: Record<string, Record<string, _magmonium_one.Nav>>;
5237
+ navMap: _magmonium_one.NavMap;
4841
5238
  wcConfigMap: Record<string, dist_libs_cli_src.WebComponentConfig>;
4842
5239
  navLoading: boolean;
4843
5240
  }>;
@@ -4980,59 +5377,69 @@ declare class NavComponent {
4980
5377
  protected computedFooterButtons: _angular_core.Signal<Record<string, Partial<Button>>>;
4981
5378
  constructor();
4982
5379
  toggleMenu(): void;
4983
- handleMainGroupClick(name: string | undefined): void;
4984
5380
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavComponent, never>;
4985
5381
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavComponent, "m-nav", never, { "isHost": { "alias": "isHost"; "required": false; "isSignal": true; }; "showLogo": { "alias": "showLogo"; "required": false; "isSignal": true; }; }, { "menuClicked": "menuClicked"; }, never, never, true, never>;
4986
5382
  }
4987
5383
 
4988
5384
  declare class NavDetailsComponent {
4989
5385
  _navStore: {
4990
- url: _angular_core.Signal<string>;
4991
- murl: _angular_core.Signal<string>;
4992
- id: _angular_core.Signal<string>;
5386
+ path: _angular_core.Signal<string>;
5387
+ routeNavId: _angular_core.Signal<string>;
5388
+ murl: _angular_core.Signal<string[]>;
4993
5389
  appLink: _angular_core.Signal<string>;
5390
+ appNavId: _angular_core.Signal<string>;
4994
5391
  navOpenedByUser: _angular_core.Signal<boolean>;
5392
+ panelPushed: _angular_core.Signal<boolean>;
4995
5393
  navScrolledDown: _angular_core.Signal<boolean>;
4996
5394
  remoteWidgets: _angular_core.Signal<Record<string, NavWidgetRegistryEntry>>;
4997
- navMap: _angular_core.Signal<Record<string, Record<string, _magmonium_one.Nav>>>;
5395
+ navMap: _angular_core.Signal<_magmonium_one.NavMap>;
4998
5396
  wcConfigMap: _angular_core.Signal<Record<string, dist_libs_cli_src.WebComponentConfig>>;
4999
5397
  navLoading: _angular_core.Signal<boolean>;
5000
- urlSignal: _angular_core.Signal<string>;
5398
+ navigationEnd: _angular_core.Signal<_angular_router.RouterStateSnapshot>;
5399
+ router: _angular_router.Router;
5400
+ id: _angular_core.Signal<string>;
5401
+ hasMurl: _angular_core.Signal<boolean>;
5001
5402
  isNavOpened: _angular_core.Signal<boolean>;
5002
5403
  isMNavOpened: _angular_core.Signal<boolean>;
5003
5404
  resolvedWidget: _angular_core.Signal<_magmonium_one.NavWidgetConfig & {
5004
5405
  ceSelector?: string;
5005
5406
  }>;
5006
- embeddedId: _angular_core.Signal<string>;
5007
5407
  breadcrumb: _angular_core.Signal<_magmonium_one.BreadCrumb>;
5008
5408
  navMenus: _angular_core.Signal<_magmonium_one.BreadcrumbTrail[]>;
5009
5409
  navHasContent: _angular_core.Signal<boolean>;
5010
5410
  currentWcConfig: _angular_core.Signal<dist_libs_cli_src.WebComponentConfig>;
5011
5411
  resolvedNavMenuConfig: _angular_core.Signal<NavMenuConfig>;
5012
- updateUrl: _ngrx_signals_rxjs_interop.RxMethod<string>;
5013
- updateMurl: (murl: string | undefined) => void;
5412
+ addressFor: (navId: string, params?: Record<string, string | number>) => string;
5413
+ goToNav: (navId: string, params?: Record<string, string | number>) => void;
5414
+ closePanel: () => void;
5415
+ syncFromRouter: _ngrx_signals_rxjs_interop.RxMethod<_angular_router.RouterStateSnapshot>;
5014
5416
  toggleMenu: () => void;
5015
- setSelected: (id: string | undefined) => void;
5016
- setAppLink: (appLink: string | undefined) => void;
5417
+ setSelected: (navId: string | undefined, params?: Record<string, string | number>) => void;
5418
+ setAppLink: (appLink: string | undefined, appNavId?: string) => void;
5017
5419
  setWcConfig: (appLink: string, config: dist_libs_cli_src.WebComponentConfig) => void;
5018
5420
  loadWcConfig: _ngrx_signals_rxjs_interop.RxMethod<string>;
5019
5421
  loadNav: _ngrx_signals_rxjs_interop.RxMethod<{
5020
- id: string | undefined;
5021
- appLink: string | undefined;
5422
+ navId: string;
5423
+ appNavId: string | undefined;
5022
5424
  }>;
5023
5425
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
5024
5426
  back: () => void;
5025
5427
  resolveUrl: (url: string) => string;
5026
5428
  setNavScrolledDown: (value: boolean) => void;
5429
+ routePathFor: (navId: string) => string;
5430
+ anchorOf: (navId: string) => string;
5431
+ navIdChain: (navId: string) => string[];
5027
5432
  } & _ngrx_signals.StateSource<{
5028
- url: string;
5029
- murl: string | undefined;
5030
- id: string | undefined;
5433
+ path: string;
5434
+ routeNavId: string | undefined;
5435
+ murl: string[];
5031
5436
  appLink: string | undefined;
5437
+ appNavId: string | undefined;
5032
5438
  navOpenedByUser: boolean;
5439
+ panelPushed: boolean;
5033
5440
  navScrolledDown: boolean;
5034
5441
  remoteWidgets: Record<string, NavWidgetRegistryEntry>;
5035
- navMap: Record<string, Record<string, _magmonium_one.Nav>>;
5442
+ navMap: _magmonium_one.NavMap;
5036
5443
  wcConfigMap: Record<string, dist_libs_cli_src.WebComponentConfig>;
5037
5444
  navLoading: boolean;
5038
5445
  }>;
@@ -5040,8 +5447,6 @@ declare class NavDetailsComponent {
5040
5447
  private readonly _settingsSearch;
5041
5448
  protected readonly Size: typeof Size;
5042
5449
  protected readonly _skeletonItems: number[];
5043
- _isSearch: _angular_core.Signal<boolean>;
5044
- _isNotification: _angular_core.Signal<boolean>;
5045
5450
  protected readonly _isInSettings: _angular_core.Signal<boolean>;
5046
5451
  protected isScrolledDown: _angular_core.Signal<boolean>;
5047
5452
  protected readonly _draggable: _angular_core.WritableSignal<Draggable>;
@@ -5062,67 +5467,20 @@ declare class NavTrailComponent {
5062
5467
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavTrailComponent, "m-nav-trail", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
5063
5468
  }
5064
5469
 
5470
+ /**
5471
+ * Every row is a NavRef — it names a NavId and nothing else. Whether a row
5472
+ * routes to a page or opens a panel is the NavKind on its target, resolved by
5473
+ * the store, so this template has no url/murl branch left (ADR 0014).
5474
+ */
5065
5475
  declare class NavMenuComponent {
5066
- _navStore: {
5067
- url: _angular_core.Signal<string>;
5068
- murl: _angular_core.Signal<string>;
5069
- id: _angular_core.Signal<string>;
5070
- appLink: _angular_core.Signal<string>;
5071
- navOpenedByUser: _angular_core.Signal<boolean>;
5072
- navScrolledDown: _angular_core.Signal<boolean>;
5073
- remoteWidgets: _angular_core.Signal<Record<string, NavWidgetRegistryEntry>>;
5074
- navMap: _angular_core.Signal<Record<string, Record<string, Nav>>>;
5075
- wcConfigMap: _angular_core.Signal<Record<string, dist_libs_cli_src.WebComponentConfig>>;
5076
- navLoading: _angular_core.Signal<boolean>;
5077
- urlSignal: _angular_core.Signal<string>;
5078
- isNavOpened: _angular_core.Signal<boolean>;
5079
- isMNavOpened: _angular_core.Signal<boolean>;
5080
- resolvedWidget: _angular_core.Signal<_magmonium_one.NavWidgetConfig & {
5081
- ceSelector?: string;
5082
- }>;
5083
- embeddedId: _angular_core.Signal<string>;
5084
- breadcrumb: _angular_core.Signal<_magmonium_one.BreadCrumb>;
5085
- navMenus: _angular_core.Signal<BreadcrumbTrail[]>;
5086
- navHasContent: _angular_core.Signal<boolean>;
5087
- currentWcConfig: _angular_core.Signal<dist_libs_cli_src.WebComponentConfig>;
5088
- resolvedNavMenuConfig: _angular_core.Signal<NavMenuConfig>;
5089
- updateUrl: _ngrx_signals_rxjs_interop.RxMethod<string>;
5090
- updateMurl: (murl: string | undefined) => void;
5091
- toggleMenu: () => void;
5092
- setSelected: (id: string | undefined) => void;
5093
- setAppLink: (appLink: string | undefined) => void;
5094
- setWcConfig: (appLink: string, config: dist_libs_cli_src.WebComponentConfig) => void;
5095
- loadWcConfig: _ngrx_signals_rxjs_interop.RxMethod<string>;
5096
- loadNav: _ngrx_signals_rxjs_interop.RxMethod<{
5097
- id: string | undefined;
5098
- appLink: string | undefined;
5099
- }>;
5100
- registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
5101
- back: () => void;
5102
- resolveUrl: (url: string) => string;
5103
- setNavScrolledDown: (value: boolean) => void;
5104
- } & _ngrx_signals.StateSource<{
5105
- url: string;
5106
- murl: string | undefined;
5107
- id: string | undefined;
5108
- appLink: string | undefined;
5109
- navOpenedByUser: boolean;
5110
- navScrolledDown: boolean;
5111
- remoteWidgets: Record<string, NavWidgetRegistryEntry>;
5112
- navMap: Record<string, Record<string, Nav>>;
5113
- wcConfigMap: Record<string, dist_libs_cli_src.WebComponentConfig>;
5114
- navLoading: boolean;
5115
- }>;
5116
5476
  private readonly _settingsSearch;
5117
5477
  items: _angular_core.InputSignal<BreadcrumbTrail[]>;
5118
- config: _angular_core.InputSignal<Nav>;
5119
5478
  baseUrl: _angular_core.InputSignal<string>;
5120
5479
  filterBySearch: _angular_core.InputSignal<boolean>;
5121
5480
  size: typeof Size;
5122
5481
  navList: _angular_core.Signal<BreadcrumbTrail[]>;
5123
- private _buildFromConfig;
5124
5482
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavMenuComponent, never>;
5125
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavMenuComponent, "m-nav-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "baseUrl": { "alias": "baseUrl"; "required": false; "isSignal": true; }; "filterBySearch": { "alias": "filterBySearch"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5483
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavMenuComponent, "m-nav-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "baseUrl": { "alias": "baseUrl"; "required": false; "isSignal": true; }; "filterBySearch": { "alias": "filterBySearch"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5126
5484
  }
5127
5485
 
5128
5486
  declare class UserNavComponent {
@@ -5140,6 +5498,13 @@ declare class UserNavComponent {
5140
5498
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserNavComponent, "m-user-nav", never, {}, {}, never, never, true, never>;
5141
5499
  }
5142
5500
 
5501
+ /**
5502
+ * The tabs an app contributes to the user panel. The panel itself is a
5503
+ * Platform Nav registered by `providePlatformNavWidgets` (ADR 0016) — this used
5504
+ * to register it too, under `'root/user'`, which matched no NavId and so never
5505
+ * resolved. An app wanting a different user panel registers its own component
5506
+ * at `root_user` instead of going through here.
5507
+ */
5143
5508
  declare function provideUserTabs(tabs: Record<string, Type<unknown>>): Provider[];
5144
5509
 
5145
5510
  interface TextNotification {
@@ -5679,8 +6044,20 @@ declare function initials(user: UserLike): string;
5679
6044
 
5680
6045
  declare function deriveAvatarGradient(id: string, sex?: number, dob?: string): string;
5681
6046
 
5682
- declare function provideNavWidgets(appWidgets?: Record<string, NavWidgetEntry>): Provider[];
5683
- declare function provideNavWidgets(factory: (...deps: any[]) => Record<string, NavWidgetEntry>, deps: Type<any>[]): Provider[];
6047
+ declare function provideNavWidgets(appWidgets?: NavWidgetMap): Provider[];
6048
+ declare function provideNavWidgets(factory: (...deps: any[]) => NavWidgetMap, deps: Type<any>[]): Provider[];
6049
+
6050
+ /**
6051
+ * The panels behind the Platform Navs (ADR 0016). Search and notification used
6052
+ * to be `@if` branches in `NavDetailsComponent`, which is why no app could
6053
+ * replace them; they are ordinary registrations now.
6054
+ *
6055
+ * Provided by `provideMagAppConfig` / `provideMagWcConfig` *before* the app's
6056
+ * own providers, and `NavStore` resolves the multi-provided maps last-wins, so
6057
+ * an app registering at any of these NavIds replaces the library's panel.
6058
+ */
6059
+ declare const platformNavWidgets: () => NavWidgetMap;
6060
+ declare const providePlatformNavWidgets: () => Provider[];
5684
6061
 
5685
6062
  declare class CommentsComponent {
5686
6063
  id: _angular_core.InputSignal<string>;
@@ -5962,6 +6339,11 @@ declare class UserSettingsComponent {
5962
6339
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserSettingsComponent, "m-user-settings", never, {}, {}, never, never, true, never>;
5963
6340
  }
5964
6341
 
6342
+ /**
6343
+ * Theme and language live under user settings, and the profile form moved to
6344
+ * its own leaf so `root_settings_user` can be a `static` menu listing all
6345
+ * three — a panel is filled by rows or by a component, never both.
6346
+ */
5965
6347
  declare function settingsWidgets(): Record<string, NavWidgetEntry>;
5966
6348
 
5967
6349
  interface AppTileData {
@@ -6036,9 +6418,16 @@ declare class SharedStoreRegistry {
6036
6418
  declare const mInterceptor: (request: HttpRequest<unknown>, next: HttpHandlerFn) => Observable<HttpEvent<unknown>>;
6037
6419
 
6038
6420
  interface NavStoreRef {
6421
+ /** Current NavId — route's NavId plus any open Murl segments. */
6039
6422
  id: Signal<string | undefined>;
6040
- murl: Signal<string | undefined>;
6041
- updateMurl: (val?: string) => void;
6423
+ /** Open Murl segments. Empty means no panel is addressed. */
6424
+ murl: Signal<string[]>;
6425
+ /**
6426
+ * Follows a NavRef by NavId; `undefined` closes the panel. `params` supplies
6427
+ * values for any dynamic segment on the way — a NavRef names the node, the
6428
+ * instance is data.
6429
+ */
6430
+ setSelected: (navId?: string, params?: Record<string, string | number>) => void;
6042
6431
  }
6043
6432
  declare enum AppRelationType {
6044
6433
  OWNER = 1,
@@ -6765,52 +7154,63 @@ declare function provideModalComponents(): EnvironmentProviders;
6765
7154
 
6766
7155
  declare class FrameComponent {
6767
7156
  protected readonly navStore: {
6768
- url: _angular_core.Signal<string>;
6769
- murl: _angular_core.Signal<string>;
6770
- id: _angular_core.Signal<string>;
7157
+ path: _angular_core.Signal<string>;
7158
+ routeNavId: _angular_core.Signal<string>;
7159
+ murl: _angular_core.Signal<string[]>;
6771
7160
  appLink: _angular_core.Signal<string>;
7161
+ appNavId: _angular_core.Signal<string>;
6772
7162
  navOpenedByUser: _angular_core.Signal<boolean>;
7163
+ panelPushed: _angular_core.Signal<boolean>;
6773
7164
  navScrolledDown: _angular_core.Signal<boolean>;
6774
7165
  remoteWidgets: _angular_core.Signal<Record<string, NavWidgetRegistryEntry>>;
6775
- navMap: _angular_core.Signal<Record<string, Record<string, _magmonium_one.Nav>>>;
7166
+ navMap: _angular_core.Signal<_magmonium_one.NavMap>;
6776
7167
  wcConfigMap: _angular_core.Signal<Record<string, dist_libs_cli_src.WebComponentConfig>>;
6777
7168
  navLoading: _angular_core.Signal<boolean>;
6778
- urlSignal: _angular_core.Signal<string>;
7169
+ navigationEnd: _angular_core.Signal<_angular_router.RouterStateSnapshot>;
7170
+ router: _angular_router.Router;
7171
+ id: _angular_core.Signal<string>;
7172
+ hasMurl: _angular_core.Signal<boolean>;
6779
7173
  isNavOpened: _angular_core.Signal<boolean>;
6780
7174
  isMNavOpened: _angular_core.Signal<boolean>;
6781
7175
  resolvedWidget: _angular_core.Signal<_magmonium_one.NavWidgetConfig & {
6782
7176
  ceSelector?: string;
6783
7177
  }>;
6784
- embeddedId: _angular_core.Signal<string>;
6785
7178
  breadcrumb: _angular_core.Signal<_magmonium_one.BreadCrumb>;
6786
7179
  navMenus: _angular_core.Signal<_magmonium_one.BreadcrumbTrail[]>;
6787
7180
  navHasContent: _angular_core.Signal<boolean>;
6788
7181
  currentWcConfig: _angular_core.Signal<dist_libs_cli_src.WebComponentConfig>;
6789
7182
  resolvedNavMenuConfig: _angular_core.Signal<NavMenuConfig>;
6790
- updateUrl: _ngrx_signals_rxjs_interop.RxMethod<string>;
6791
- updateMurl: (murl: string | undefined) => void;
7183
+ addressFor: (navId: string, params?: Record<string, string | number>) => string;
7184
+ goToNav: (navId: string, params?: Record<string, string | number>) => void;
7185
+ closePanel: () => void;
7186
+ syncFromRouter: _ngrx_signals_rxjs_interop.RxMethod<_angular_router.RouterStateSnapshot>;
6792
7187
  toggleMenu: () => void;
6793
- setSelected: (id: string | undefined) => void;
6794
- setAppLink: (appLink: string | undefined) => void;
7188
+ setSelected: (navId: string | undefined, params?: Record<string, string | number>) => void;
7189
+ setAppLink: (appLink: string | undefined, appNavId?: string) => void;
6795
7190
  setWcConfig: (appLink: string, config: dist_libs_cli_src.WebComponentConfig) => void;
6796
7191
  loadWcConfig: _ngrx_signals_rxjs_interop.RxMethod<string>;
6797
7192
  loadNav: _ngrx_signals_rxjs_interop.RxMethod<{
6798
- id: string | undefined;
6799
- appLink: string | undefined;
7193
+ navId: string;
7194
+ appNavId: string | undefined;
6800
7195
  }>;
6801
7196
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
6802
7197
  back: () => void;
6803
7198
  resolveUrl: (url: string) => string;
6804
7199
  setNavScrolledDown: (value: boolean) => void;
7200
+ routePathFor: (navId: string) => string;
7201
+ anchorOf: (navId: string) => string;
7202
+ navIdChain: (navId: string) => string[];
6805
7203
  } & _ngrx_signals.StateSource<{
6806
- url: string;
6807
- murl: string | undefined;
6808
- id: string | undefined;
7204
+ path: string;
7205
+ routeNavId: string | undefined;
7206
+ murl: string[];
6809
7207
  appLink: string | undefined;
7208
+ appNavId: string | undefined;
6810
7209
  navOpenedByUser: boolean;
7210
+ panelPushed: boolean;
6811
7211
  navScrolledDown: boolean;
6812
7212
  remoteWidgets: Record<string, NavWidgetRegistryEntry>;
6813
- navMap: Record<string, Record<string, _magmonium_one.Nav>>;
7213
+ navMap: _magmonium_one.NavMap;
6814
7214
  wcConfigMap: Record<string, dist_libs_cli_src.WebComponentConfig>;
6815
7215
  navLoading: boolean;
6816
7216
  }>;
@@ -6909,5 +7309,5 @@ declare class DotGridComponent {
6909
7309
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DotGridComponent, "m-dot-grid", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6910
7310
  }
6911
7311
 
6912
- export { ACCESS_DOMAINS, APP_CONTEXT_REF, ASSET_BASE_URL, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppCardComponent, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, ButtonComponent, ButtonGroupComponent, COLOR_SCHEMES, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, CheckboxInputComponent, ClearableInputComponent, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_SIZE, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GEN_NAV_DISPLAY_ORDER, GRID_BREAKPOINTS, GetNavService, HeaderComponent, HighlightDirective, HttpService, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOGIN_COMPONENT, LOGIN_FORM_GROUP, LOGIN_PROCESS, LOGIN_STORE, LanguageComponent, LoginDataService, LoginOneComponent, LoginStore, LogoComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MRefDirective, MStepComponent, ManifestEnrichmentService, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, NAV_DEFAULT_MURL, NAV_DISPLAY_ORDER, NAV_MAIN_BUTTONS, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PaginationComponent, PanelComponent, PlaygroundComponent, PositionDirective, PwaInstallComponent, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_FORM_CONTEXT, SHARED_ICONS, SIZE_CONTEXT, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionComponent, SectionFilterComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionSearchComponent, SectionStepperComponent, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, Sex, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TableFilterCondition, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, USER_STORE_REF, USER_TAB_MAP, UlComponent, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, applyColorsToElement, authGuard, bootstrapMagApp, bootstrapPwaInstall, buildWcBaseUrl, calculateLuminance, calculateRanks, checkFilterCondition, classListSignal, createMap, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, emailValidation, evaluate, evaluateBool, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getUniqueId, getValue, hasErrorComputed, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initials, injectAuthenticate, injectInstallApp, injectParentSize, injectScrollSticky, isButtonName, isCancelledComputed, isJson, isLoadingComputed, isLocalhost, isSize, isTierPreview, isUrlLocalhost, isWebComponent, linkToId, linkToNav, loadingActions, loginState, mInterceptor, manualValidation, matchFieldValidation, maxLengthValidation, maxValidation, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkToHtml, navToId, parseColor, patternValidation, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideNavWidgets, provideSearch, provideSizeContext, provideUserTabs, publicGuard, requiredValidation, resolveConfigAsset, resolvePallet, resolveSize, rgbToHex, rgbToHsl, setProperty, settingsWidgets, shouldShowBadge, stringToColor, toAttrBool, toAttrNumber, toCssLength, toLength, urlValidation };
6913
- export type { Accordion, AccordionGroup, AccordionVariant, ActionNotification, Align, AnimatedGraphConfig, AnimatedGraphCurveInput, AppCardData, AppCardInputs, AppCardVariant, AppContextRef, AppHint, AppManifest, AppRelation, AppTileData, Auth, AuthResult, Badge, BadgePosition, BadgeVariant, BandingConfig, BreadCrumb, BreadcrumbTrail, Button, ButtonGroup, Carousel, CarouselPosition, CarouselSlide, CellChangeEvent, CellClickEvent, Chart, ChartSeries, ColBreakpoint, ColSpan, ColorInput, ColorPallet, ColorPropertyType, ColorScheme, ColumnDef, Comment, CommentItem, ComponentInput, Config, ContextMenu, ContextMenuEvent, CropData, Cursor, CustomIcon, DateInput, Direction$2 as Direction, DotGridVariant, DragListReorder, Draggable, DraggableState, DropdownInput, DropdownOption, ElementType, FileUploadConfig, FileUploadEvent, FileUploadInput, FilterOption, FlexAlign, FlexAlignSelf, FlexConfig, FlexDirection, FlexItemConfig, FlexJustify, FlexVariant, FolderPickListener, Form, FormState, Genre, GridBreakpoint, Header, HeaderLevel, HeroDataRecord, HeroDimensions, HslColor, Icon, IdentityInfo, Input, InputModel, InputSpan, InputState, InputValue, Jumbotron, JumbotronAnimation, KeyValueVariant, LoadingActionsApi, LoginState, LoginStoreContract, LogoVariant, MagAppConfigOptions, MagWcConfigOptions, ManualErrorValidator, MenuItem, Modal, ModalOverlayConfig, ModalStoreRef, ModalStoreTrigger, ModalTrigger, MoneySystem, MultiRangeInput, Nav, NavMap, NavStoreRef, NavWidgetConfig, NavWidgetEntry, Notification, NotificationSeverity, NotificationState, NotificationUser, Option, OtpInput, OverlayConfig, PageChangeEvent, Pagination, PanelOverlayConfig, PanelTrigger, PasswordInput, Position, QueryParams, QueryValue, RadioGroupInput, RadioInput, RangeInput, RatingInput, RemoteSelectorConfig, ResolvedUserTab, RgbColor, SearchChangeEvent, SearchInput, SearchResult, SearchSourceGroup, SearchState, SectionAccordion, SectionAccordionGroup, SectionAccordionGroupContext, SectionAccordionRef, SectionButtonGroupConfig, SectionFormConfig, SectionFormContext, SectionToggleItem, SectionToggleItemContext, SelectableCardInput, SelectableCardItem, SelectionAction, SelectionActionEvent, SelectionChangeEvent, SelectorConfig, Shape, ShapeType, ShapeVariant, SharedToken, SharedUser, SizeContext, SizeDeclarer, SocketMessage, Sort, SortChange, SortChangeEvent, SortOption, SortOrder, Step, Stepper, StepperResponsiveConfig, StepperStep, Steps, StickyBehavior, Summary, SummaryAction, SummaryRow, SummaryRowType, Svg, SvgGenOptions, SvgGeneratorCoreOptions, SvgGeneratorEditOptions, TabGroup, TableConfig, TableFilterDef, TextInput, TextNotification, TextOutputAlign, TextOutputConfig, TextareaInput, Timeline, TimelineItem, ToggleInput, ToggleRadioInput, Token, UniverseColorScheme, User, UserStoreRef, Version, Watermark, WebComponentConfig, WeeklyData };
7312
+ export { ACCESS_DOMAINS, APP_CONTEXT_REF, ASSET_BASE_URL, AccordionBodyDirective, AccordionComponent, AccordionGroupComponent, ActionComponent, AnimatedGraphsComponent, AppCardComponent, AppRelationType, AppTileComponent, AssetStore, AssetUrlPipe, Assets, AutosizeDirective, BadgeComponent, BandingComponent, BaseArrayInputComponent, BaseRootWebComponent, BaseWebComponent, ButtonComponent, ButtonGroupComponent, COLOR_SCHEMES, COMPONENT_INPUT_REGISTRY, CardComponent, CardWrapperComponent, CarouselComponent, ChartComponent, CheckboxInputComponent, ClearableInputComponent, ColComponent, ColorPickerInputComponent, CommentItemComponent, CommentsApiService, CommentsComponent, CommentsStore, ComponentInputComponent, ComponentStepperComponent, ConfigComponent, ConfirmComponent, ContextMenuComponent, CustomIconClass, CustomIconEditComponent, DEFAULT_SIZE, DashboardCardComponent, DateInputComponent, DatePickerComponent, DeviceService, DomService, Domain, DotGridComponent, DragListDirective, DragListItemDirective, DraggableDirective, DropdownInputComponent, FLEX_VARIANTS, FOLDER_PICK_LISTENER, FORM_ASSET_FOLDER, FileService, FileUploadDirective, FileUploadInputComponent, FlexComponent, FlexItemComponent, FormGroupComponent, FrameComponent, FreezeService, GEN_NAV_DISPLAY_ORDER, GRID_BREAKPOINTS, GetNavService, HeaderComponent, HighlightDirective, HttpService, ICON_SOURCE, IS_DESIGN_MODE, IS_SIDE_PANEL, IconComponent, ImgComponent, InputType, InstrumentScoreComponent, InterceptorObservables, JumbotronComponent, KeyValueComponent, LAYOUT_ASSET_FOLDER, LOGIN_COMPONENT, LOGIN_FORM_GROUP, LOGIN_PROCESS, LOGIN_STORE, LanguageComponent, LoginDataService, LoginOneComponent, LoginStore, LogoComponent, MAG_SOCKET_EVENT, MHeroColorDirective, MHeroComponent, MODAL_REF, MODAL_STORE_REF, MRefDirective, MStepComponent, MURL_PARAM, MURL_SEP, ManifestEnrichmentService, MenuComponent, ModalDirective, ModalRef, ModalStore, MoneyPipe, MultiRangeInputComponent, MurlUrlSerializer, NAV_DEFAULT_MURL, NAV_DISPLAY_ORDER, NAV_ID_SEP, NAV_MAIN_BUTTONS, NAV_SEGMENT_RE, NAV_STORE_REF, NAV_WC_COMPONENTS, NAV_WIDGET_MAP, NavComponent, NavDetailsComponent, NavMenuComponent, NavStore, NavTrailComponent, NothingComponent, NotificationElementComponent, NotificationGroupComponent, NotificationPopupComponent, NotificationService, NotificationStore, NotificationType, NotificationWidgetComponent, ONE_ASSET_BASE_URL, OPTIONS_SOURCE, OneApp, OptionsSourceDirective, OverlayBodyComponent, OverlayRef, OverlayService, PLATFORM_BUTTON_NAV_IDS, PLATFORM_EXTENSIBLE_NAV_IDS, PLATFORM_NAV_MAP, PLATFORM_ROOT_CHILDREN, PaginationComponent, PanelComponent, PlaygroundComponent, PositionDirective, PwaInstallComponent, ROOT_NAV, RadioGroupComponent, RadioInputComponent, RangeInputComponent, RatingInputComponent, ReactiveElementComponent, RemoteComponent, RemoteLoaderService, ResizeElementComponent, RouteContainer, RowComponent, SEARCH_QUERY, SEARCH_RESULTS_EVENT, SECTION_ACCORDION_GROUP, SECTION_FORM_CONTEXT, SHARED_ICONS, SIZE_CONTEXT, ScoreComponent, ScrollComponent, ScrollService, SearchPanelComponent, SearchStore, SearchUserPanelComponent, SectionAccordionDirective, SectionAccordionGroupDirective, SectionBackComponent, SectionBadgesComponent, SectionButtonGroupComponent, SectionCardComponent, SectionComponent, SectionFilterComponent, SectionFooterComponent, SectionFormComponent, SectionFormItemComponent, SectionHeaderComponent, SectionSearchComponent, SectionStepperComponent, SectionTabsComponent, SectionToggleComponent, SectionToggleItemDirective, SelectableCardInputComponent, SelectorDirective, SettingsSearchBarComponent, SettingsSearchService, Sex, ShapeComponent, SharedStoreRegistry, SidePanelDirective, Size, SocketStore, SortComponent, StepComponent, StepperComponent, StepsComponent, StorageService, StrokeLinecap, StrokeLinejoin, SummaryComponent, SvgGeneratorComponent, SvgGeneratorService, SvgService, TOTAL_COLUMNS, TRANSLATION_SOURCE, TableComponent, TableFilterCondition, TechnicalMeterComponent, TextInputComponent, TextOutputComponent, TextareaInputComponent, ThemeComponent, ThemeService, ThemeStore, TimeAgoPipe, TimelineComponent, ToggleButtonComponent, ToggleInputComponent, ToggleRadioInputComponent, ToolTipDirective, TooltipComponent, TranslatePipe, TranslateService, TreeGridComponent, URL_SEP, USER_STORE_REF, USER_TAB_MAP, UlComponent, UniverseComponent, UserApiService, UserAvatarComponent, UserComponent, UserNavComponent, UserSettingsComponent, UserStore, WC_ROUTE_CHANGED_EVENT, WC_SEARCH_GROUPS, WIN_USER_TAB_HOOK, WIN_USER_TAB_KEY, WatermarkComponent, WcRouterStore, WrapperInputComponent, anchorNavId, applyColorsToElement, authGuard, bootstrapMagApp, bootstrapPwaInstall, buildWcBaseUrl, calculateLuminance, calculateRanks, cellText, checkFilterCondition, childNavId, classListSignal, createMap, createPlatformNavMap, deriveAvatarGradient, deriveContrastColor, deriveOppositeColor, derivePropertyName, emailValidation, evaluate, evaluateBool, flattenTreeGridRows, formatBadgeCount, fullName, generateClipPath, generateTransform, getClassList, getProperty, getScrollParent, getTierFromPreviewPath, getTreeGridRow, getUniqueId, getValue, hasErrorComputed, hexToRgb, hslToRgb, initMagmoniumApp, initialNotificationState, initials, injectAuthenticate, injectInstallApp, injectParentSize, injectScrollSticky, isButtonName, isCancelledComputed, isExtensiblePlatformNavId, isJson, isLoadingComputed, isLocalhost, isPlatformNavId, isSize, isTierPreview, isUrlLocalhost, isValidNavId, isValidNavSegment, isWebComponent, linkToId, linkToNav, loadingActions, loginState, mInterceptor, manualValidation, matchFieldValidation, maxLengthValidation, maxValidation, mergePlatformNav, mergeUnique, mergeUniqueBy, mergeUniqueWith, minAgeValidation, minLengthValidation, minValidation, miniMarkToHtml, navIdChain, navIdFor, navIdSegment, navIdToRoutePath, navIdToSegments, navToId, parentNavId, parseAddress, parseColor, patternValidation, platformNavWidgets, privateGuard, processImageToSvg, provideAppContext, provideMagAppConfig, provideMagWcConfig, provideMagWcRoutes, provideModalComponents, provideMurlUrlSerializer, provideNavWidgets, providePlatformNavWidgets, provideSearch, provideSizeContext, provideUserTabs, publicGuard, renderAddress, requiredValidation, resolveConfigAsset, resolvePallet, resolveSize, rgbToHex, rgbToHsl, rowHasChildren, segmentsToNavId, setProperty, setTreeGridChildren, settingsWidgets, shouldShowBadge, splitNavId, stringToColor, toAttrBool, toAttrNumber, toCssLength, toHostNavId, toLength, toLocalNavId, toggleTreeGridRow, unfetchedPlatformNav, urlValidation };
7313
+ export type { Accordion, AccordionGroup, AccordionVariant, ActionNotification, Align, AnimatedGraphConfig, AnimatedGraphCurveInput, AppCardData, AppCardInputs, AppCardVariant, AppContextRef, AppHint, AppManifest, AppRelation, AppTileData, Auth, AuthResult, Badge, BadgePosition, BadgeVariant, BandingConfig, BreadCrumb, BreadcrumbTrail, Button, ButtonGroup, Carousel, CarouselPosition, CarouselSlide, CellChangeEvent, CellClickEvent, Chart, ChartSeries, ColBreakpoint, ColSpan, ColorInput, ColorPallet, ColorPropertyType, ColorScheme, ColumnDef, Comment, CommentItem, ComponentInput, Config, ContextMenu, ContextMenuEvent, CropData, Cursor, CustomIcon, DateInput, Direction$2 as Direction, DotGridVariant, DragListReorder, Draggable, DraggableState, DropdownInput, DropdownOption, ElementType, FileUploadConfig, FileUploadEvent, FileUploadInput, FilterOption, FlatTreeGridRow, FlexAlign, FlexAlignSelf, FlexConfig, FlexDirection, FlexItemConfig, FlexJustify, FlexVariant, FolderPickListener, Form, FormState, Genre, GridBreakpoint, Header, HeaderLevel, HeroDataRecord, HeroDimensions, HslColor, Icon, IdentityInfo, Input, InputModel, InputSpan, InputState, InputValue, Jumbotron, JumbotronAnimation, KeyValueVariant, LoadingActionsApi, LoginState, LoginStoreContract, LogoVariant, MagAppConfigOptions, MagWcConfigOptions, ManualErrorValidator, MenuItem, Modal, ModalOverlayConfig, ModalStoreRef, ModalStoreTrigger, ModalTrigger, MoneySystem, MultiRangeInput, Nav, NavIdKey, NavKind, NavMap, NavPresentation, NavStoreRef, NavWidgetConfig, NavWidgetEntry, NavWidgetMap, Notification, NotificationSeverity, NotificationState, NotificationUser, Option, OtpInput, OverlayConfig, PageChangeEvent, Pagination, PanelOverlayConfig, PanelTrigger, PasswordInput, Position, QueryParams, QueryValue, RadioGroupInput, RadioInput, RangeInput, RatingInput, RemoteSelectorConfig, ResolvedUserTab, RgbColor, SearchChangeEvent, SearchInput, SearchResult, SearchSourceGroup, SearchState, SectionAccordion, SectionAccordionGroup, SectionAccordionGroupContext, SectionAccordionRef, SectionButtonGroupConfig, SectionFormConfig, SectionFormContext, SectionToggleItem, SectionToggleItemContext, SelectableCardInput, SelectableCardItem, SelectionAction, SelectionActionEvent, SelectionChangeEvent, SelectorConfig, Shape, ShapeType, ShapeVariant, SharedToken, SharedUser, SizeContext, SizeDeclarer, SocketMessage, Sort, SortChange, SortChangeEvent, SortOption, SortOrder, Step, Stepper, StepperResponsiveConfig, StepperStep, Steps, StickyBehavior, Summary, SummaryAction, SummaryRow, SummaryRowType, Svg, SvgGenOptions, SvgGeneratorCoreOptions, SvgGeneratorEditOptions, TabGroup, TableConfig, TableFilterDef, TextInput, TextNotification, TextOutputAlign, TextOutputConfig, TextareaInput, Timeline, TimelineItem, ToggleInput, ToggleRadioInput, Token, TreeGridLoadChildrenEvent, TreeGridRow, TreeGridRowSelectEvent, TreeGridToggleEvent, UniverseColorScheme, User, UserStoreRef, Version, Watermark, WebComponentConfig, WeeklyData };