@magmonium/one 0.4.36 → 0.4.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmonium/one",
3
- "version": "0.4.36",
3
+ "version": "0.4.38",
4
4
  "description": "Magmonium One — Angular design-system primitives for mm Apps",
5
5
  "author": "magmonium",
6
6
  "license": "MIT",
@@ -13041,10 +13041,34 @@ interface NavVisibilityConfig {
13041
13041
  }
13042
13042
  type NavWidgetEntry = Type<unknown> | NavWidgetConfig | NavMenuConfig | NavRowsConfig | NavInstanceConfig | NavVisibilityConfig;
13043
13043
  /**
13044
- * What an app hands `provideNavWidgets`. Keyed by NavId and nothing else — the
13045
- * same string as the nav asset filename and the route stamp (ADR 0014).
13044
+ * Where an app registers its search answer (ADR 0042): the element the host's
13045
+ * search panel mounts in place of its groups, with `query` bound, while the
13046
+ * Address stands inside that app's mount and the query is non-empty. Beside
13047
+ * `root_search` rather than at it, because a Platform panel stays the host's.
13048
+ */
13049
+ export declare const SEARCH_ANSWER_KEY = "search_answer";
13050
+ /**
13051
+ * Where an app registers the text its own search bar shows in its empty field
13052
+ * (app GLOSSARY.md SearchLabel, ADR 0042): a TranslationAsset key the host's
13053
+ * bar renders through `translate`, so the word follows the Visitor's language
13054
+ * without the app shipping them. Beside `root_search` for the reason
13055
+ * `SEARCH_ANSWER_KEY` is: the panel stays the host's, and this is a word the
13056
+ * host says rather than a body it mounts.
13057
+ *
13058
+ * The only entry in this map that is a string rather than a component.
13059
+ */
13060
+ export declare const SEARCH_LABEL_KEY = "search_label";
13061
+ /**
13062
+ * What an app hands `provideNavWidgets`. Keyed by NavId — the same string as
13063
+ * the nav asset filename and the route stamp (ADR 0014) — plus the two non-Nav
13064
+ * keys, whose values are typed on their own because neither is a Nav's panel:
13065
+ * `SEARCH_ANSWER_KEY` names the element that answers the host's search, and
13066
+ * `SEARCH_LABEL_KEY` names the key the host's search bar is worded by.
13046
13067
  */
13047
- type NavWidgetMap = Partial<Record<NavIdKey, NavWidgetEntry>>;
13068
+ type NavWidgetMap = Partial<Record<NavIdKey, NavWidgetEntry>> & {
13069
+ [SEARCH_ANSWER_KEY]?: NavWidgetEntry;
13070
+ [SEARCH_LABEL_KEY]?: string;
13071
+ };
13048
13072
  export declare function isNavMenuConfig(entry: NavWidgetEntry): entry is NavMenuConfig;
13049
13073
  export declare function isNavRowsConfig(entry: NavWidgetEntry): entry is NavRowsConfig;
13050
13074
  export declare function isNavInstanceConfig(entry: NavWidgetEntry): entry is NavInstanceConfig;
@@ -13054,7 +13078,7 @@ export declare function isNavVisibilityConfig(entry: NavWidgetEntry): entry is N
13054
13078
  * Platform Nav panels first so an app registering at the same NavId replaces
13055
13079
  * them (ADR 0016).
13056
13080
  */
13057
- export declare const NAV_WIDGET_MAP: InjectionToken<Signal<Partial<Record<NavIdKey, NavWidgetEntry>>>>;
13081
+ export declare const NAV_WIDGET_MAP: InjectionToken<Signal<NavWidgetMap>>;
13058
13082
  /**
13059
13083
  * List of Angular components to register as custom elements for cross-bundle nav widget rendering.
13060
13084
  * Provided by WC apps in their providers so BaseRootWebComponent can register them on bootstrap.
@@ -13130,6 +13154,10 @@ export declare class FrameComponent {
13130
13154
  resolvedWidget: import("@angular/core").Signal<(import("@magmonium/one").NavWidgetConfig & {
13131
13155
  ceSelector?: string;
13132
13156
  }) | null>;
13157
+ searchAnswer: import("@angular/core").Signal<(import("@magmonium/one").NavWidgetConfig & {
13158
+ ceSelector?: string;
13159
+ }) | null>;
13160
+ searchLabel: import("@angular/core").Signal<string | null>;
13133
13161
  breadcrumb: import("@angular/core").Signal<import("@magmonium/one").BreadCrumb>;
13134
13162
  navMenus: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail[]>;
13135
13163
  navHasContent: import("@angular/core").Signal<boolean>;
@@ -13536,6 +13564,10 @@ export declare const NavStore: import("@angular/core").Type<{
13536
13564
  resolvedWidget: Signal<(NavWidgetConfig & {
13537
13565
  ceSelector?: string;
13538
13566
  }) | null>;
13567
+ searchAnswer: Signal<(NavWidgetConfig & {
13568
+ ceSelector?: string;
13569
+ }) | null>;
13570
+ searchLabel: Signal<string | null>;
13539
13571
  breadcrumb: Signal<BreadCrumb>;
13540
13572
  navMenus: Signal<import("@magmonium/one").BreadcrumbTrail[]>;
13541
13573
  navHasContent: Signal<boolean>;
@@ -14007,6 +14039,10 @@ export declare class NavDetailsComponent {
14007
14039
  resolvedWidget: import("@angular/core").Signal<(import("@magmonium/one").NavWidgetConfig & {
14008
14040
  ceSelector?: string;
14009
14041
  }) | null>;
14042
+ searchAnswer: import("@angular/core").Signal<(import("@magmonium/one").NavWidgetConfig & {
14043
+ ceSelector?: string;
14044
+ }) | null>;
14045
+ searchLabel: import("@angular/core").Signal<string | null>;
14010
14046
  breadcrumb: import("@angular/core").Signal<import("@magmonium/one").BreadCrumb>;
14011
14047
  navMenus: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail[]>;
14012
14048
  navHasContent: import("@angular/core").Signal<boolean>;
@@ -14106,10 +14142,22 @@ export declare class NavDetailsComponent {
14106
14142
  visibilityAnswers: Record<string, boolean>;
14107
14143
  }>;
14108
14144
  _device: DeviceService;
14145
+ private readonly _searchStore;
14109
14146
  private readonly _settingsSearch;
14110
14147
  protected readonly Size: typeof Size;
14111
14148
  protected readonly _skeletonItems: number[];
14112
14149
  protected readonly _isInSettings: import("@angular/core").Signal<boolean>;
14150
+ /**
14151
+ * The app's search answer, drawn in place of the search groups only while
14152
+ * the search panel is up and there is text to answer (ADR 0042). The bar
14153
+ * stays in the header and keeps writing `SearchStore`.
14154
+ */
14155
+ protected readonly _searchAnswer: import("@angular/core").Signal<(import("@magmonium/one").NavWidgetConfig & {
14156
+ ceSelector?: string;
14157
+ }) | null>;
14158
+ protected readonly _answerInputs: import("@angular/core").Signal<{
14159
+ query: string;
14160
+ }>;
14113
14161
  protected isScrolledDown: import("@angular/core").Signal<boolean>;
14114
14162
  protected readonly _draggable: import("@angular/core").WritableSignal<Draggable>;
14115
14163
  constructor();
@@ -14244,6 +14292,10 @@ export declare class NavHeaderComponent {
14244
14292
  resolvedWidget: import("@angular/core").Signal<(import("@magmonium/one").NavWidgetConfig & {
14245
14293
  ceSelector?: string;
14246
14294
  }) | null>;
14295
+ searchAnswer: import("@angular/core").Signal<(import("@magmonium/one").NavWidgetConfig & {
14296
+ ceSelector?: string;
14297
+ }) | null>;
14298
+ searchLabel: import("@angular/core").Signal<string | null>;
14247
14299
  breadcrumb: import("@angular/core").Signal<import("@magmonium/one").BreadCrumb>;
14248
14300
  navMenus: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail[]>;
14249
14301
  navHasContent: import("@angular/core").Signal<boolean>;
@@ -14362,6 +14414,13 @@ export declare class NavHeaderComponent {
14362
14414
  _isUser: import("@angular/core").Signal<boolean>;
14363
14415
  _isSearch: import("@angular/core").Signal<boolean>;
14364
14416
  _hasParent: import("@angular/core").Signal<boolean>;
14417
+ /**
14418
+ * The text the app the Address stands in words its search bar with
14419
+ * (GLOSSARY.md SearchLabel), or `''` where it named none — the bar's input is
14420
+ * a `string` and its own resolution falls through an empty one to the
14421
+ * library's `search`, so nothing has to be told apart here.
14422
+ */
14423
+ _searchLabel: import("@angular/core").Signal<string>;
14365
14424
  _trail: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail[] | null>;
14366
14425
  _user: import("@angular/core").Signal<import("@magmonium/one").AuthUser | null>;
14367
14426
  _header: import("@angular/core").Signal<import("@magmonium/one").BreadcrumbTrail | null>;