@smartsoft001-mobilems/creators-shell-angular 2.123.0 → 2.125.0

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": "@smartsoft001-mobilems/creators-shell-angular",
3
- "version": "2.123.0",
3
+ "version": "2.125.0",
4
4
  "description": "This library was generated with [Nx](https://nx.dev).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,10 +16,10 @@
16
16
  "access": "public"
17
17
  },
18
18
  "peerDependencies": {
19
- "@smartsoft001-mobilems/angular": "^2.123.0",
20
- "@smartsoft001-mobilems/creators-domain": "^2.123.0",
21
- "@smartsoft001-mobilems/creators-shell-dtos": "^2.123.0",
22
- "@smartsoft001-mobilems/objects-domain": "^2.123.0"
19
+ "@smartsoft001-mobilems/angular": "^2.125.0",
20
+ "@smartsoft001-mobilems/creators-domain": "^2.125.0",
21
+ "@smartsoft001-mobilems/creators-shell-dtos": "^2.125.0",
22
+ "@smartsoft001-mobilems/objects-domain": "^2.125.0"
23
23
  },
24
24
  "module": "fesm2022/smartsoft001-mobilems-creators-shell-angular.mjs",
25
25
  "typings": "types/smartsoft001-mobilems-creators-shell-angular.d.ts",
@@ -46,6 +46,13 @@ declare function creatorsIndexPrefixOf(name: string): string;
46
46
  * ignored. Diacritics count: the API keeps `Be` and `Bé` apart.
47
47
  */
48
48
  declare function creatorsFindPrefix(raw: string | null, prefixes: readonly string[]): string | null;
49
+ /**
50
+ * A whole index letter split into the API groups (`prefixes`, as `getPrefixes`
51
+ * gives them), in their order; empty groups are left out. A creator whose group
52
+ * the API did not list (data drift) still shows, in a group of its own after the
53
+ * listed ones. Items keep their order (`getByIndexPrefix` sorts them).
54
+ */
55
+ declare function groupCreatorsByIndexPrefixes(items: readonly Creator[], prefixes: readonly string[]): ICreatorsPrefixGroup[];
49
56
  /** `?litera=` query param to index letter; invalid or missing falls back to `A`. */
50
57
  declare function parseCreatorsLetter(raw: string | null): CreatorsLetter;
51
58
  /**
@@ -329,6 +336,7 @@ declare const CREATORS_INDEX_PREFIX_PARAM = "prefiks";
329
336
  /**
330
337
  * The index view (museum-artists MOB-1959): the letter's two-letter groups
331
338
  * (`prefixes`), the group shown (`prefix`, `?prefiks=` or the first one) and its creators.
339
+ * With `creatorsIndexWholeLetter()` and no `?prefiks=`, `prefix` is `null` and `items` is the whole letter.
332
340
  */
333
341
  interface ICreatorsIndexState {
334
342
  status: 'loading' | 'error' | 'success';
@@ -336,7 +344,10 @@ interface ICreatorsIndexState {
336
344
  prefix: string | null;
337
345
  items: Creator[];
338
346
  }
339
- /** A group of the letter with its DOM anchor; only the shown group carries items. */
347
+ /**
348
+ * A group of the letter with its DOM anchor; only the shown group carries items — every group of the
349
+ * whole letter does (`creatorsIndexWholeLetter()`).
350
+ */
340
351
  interface ICreatorsIndexGroup extends ICreatorsPrefixGroup {
341
352
  anchor: string;
342
353
  }
@@ -405,7 +416,28 @@ declare abstract class CreatorsIndexBaseComponent {
405
416
  retry(): void;
406
417
  private creatorsIndexFocusFiltersButton;
407
418
  private creatorsIndexApplySeo;
419
+ /**
420
+ * `true`: a letter shows its whole list split into the API groups, and `?prefiks=` only narrows it
421
+ * (MobileMS, Łukasz 22.10: „kliknięcie A powinno całą listę zwrócić”). `false` (the default, kept
422
+ * for the museums built on it) opens the first group. A method, not a field: a cached letter can
423
+ * load while the base initialisers still run, before a subclass field would be set.
424
+ */
425
+ protected creatorsIndexWholeLetter(): boolean;
426
+ /**
427
+ * A `?prefiks=` of this letter the API did not list (a group shown from the whole letter's data),
428
+ * in the index form (`cv` → `Cv`); `null` for anything else. Not for `#`, whose groups are local.
429
+ * Two characters only: a one-character group is the letter itself (a creator named `X`), and
430
+ * `lastNameSw` on it is the whole letter, so it cannot narrow.
431
+ */
432
+ /** The prefix a `#fragment` names: a group anchor (`tworcy-43-76`) read back, or the fragment itself (`#Cv`). */
433
+ private creatorsIndexFragmentPrefix;
434
+ private creatorsIndexUnlistedPrefix;
408
435
  private creatorsIndexLoad;
436
+ /**
437
+ * Every creator of a letter: one `lastNameSw` search on the letter, or for `#` (no API filter)
438
+ * its groups, read from the service's cached bucket.
439
+ */
440
+ private creatorsIndexLetter;
409
441
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CreatorsIndexBaseComponent, never>;
410
442
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CreatorsIndexBaseComponent, never, never, {}, {}, never, never, true, never>;
411
443
  }
@@ -414,7 +446,8 @@ declare abstract class CreatorsIndexBaseComponent {
414
446
  * Logic of the mobile "go to" panel of the creators index (museum-artists'
415
447
  * `index-filters-mobile`, MOB-1949/1959). The choice is a draft until `apply()`:
416
448
  * another letter emits `letterChange`, a prefix of the current letter emits
417
- * `prefixSelect`. Every way out (close, backdrop, Escape, apply) emits `closed`;
449
+ * `prefixSelect`, and — with `creatorsJumpToWholeLetter()` — unpressing the shown prefix
450
+ * (`togglePrefix`) emits the current letter, its whole list. Every way out (close, backdrop, Escape, apply) emits `closed`;
418
451
  * the host removes the panel and moves the focus on.
419
452
  *
420
453
  * Escape is bound here (`host`), so a subclass must not bind it again.
@@ -441,7 +474,14 @@ declare abstract class CreatorsJumpToBaseComponent {
441
474
  readonly topOffset: _angular_core.WritableSignal<number>;
442
475
  constructor();
443
476
  selectLetter(letter: CreatorsLetter): void;
477
+ /** Presses a prefix; the pressed one again goes back to no prefix (the whole letter). */
478
+ togglePrefix(prefix: string): void;
444
479
  apply(): void;
480
+ /**
481
+ * `true` beside an index with `creatorsIndexWholeLetter()`: unpressing the shown prefix goes back to
482
+ * the whole letter. `false` (the default) keeps the panel's apply a no-op then.
483
+ */
484
+ protected creatorsJumpToWholeLetter(): boolean;
445
485
  close(): void;
446
486
  private creatorsJumpToMeasureHeader;
447
487
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CreatorsJumpToBaseComponent, never>;
@@ -816,13 +856,17 @@ declare abstract class CreatorDetailsBaseComponent<TRelatedItem = MsObject> {
816
856
  /** `creator/{id}` gives a ready `url`; a MUZA file (`filePath`) goes through `FileUrlService`. */
817
857
  private creatorDetailsImageOf;
818
858
  private creatorDetailsGalleryOf;
819
- /** `creatorDetailsSeoTitle`, the plain biography (`creatorBiography`), the first image, the canonical. */
820
- private creatorDetailsSeoOf;
859
+ /**
860
+ * `creatorDetailsSeoTitle`, the plain biography (`creatorBiography`), the first image, the canonical
861
+ * with the slug (`resolveRelativeUrl`, so `MuseumSeoService` does not fall back to the request URL).
862
+ * Override to change the metadata; used on the page and on the server.
863
+ */
864
+ protected creatorDetailsSeoMetadata(creator: Creator): ISeoMetadata;
821
865
  private creatorDetailsFetchSsrSeo;
822
866
  private creatorDetailsT;
823
867
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CreatorDetailsBaseComponent<any>, never>;
824
868
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CreatorDetailsBaseComponent<any>, never, never, {}, {}, never, never, true, never>;
825
869
  }
826
870
 
827
- export { CREATORS_ALPHABET, CREATORS_CATALOG_DEFAULTS, CREATORS_HASH_PREFIXES, CREATORS_INDEX_LETTER_PARAM, CREATORS_INDEX_PREFIX_PARAM, CREATORS_SEARCH_LIMIT, CREATORS_SEARCH_PAGE_SIZES, CREATOR_DETAILS_KEYS, CREATOR_RELATED_STRIPS, CreatorCardBaseComponent, CreatorDetailsBaseComponent, CreatorsCatalogBaseComponent, CreatorsFiltersBaseComponent, CreatorsIndexBaseComponent, CreatorsJumpToBaseComponent, CreatorsListContext, CreatorsSearchListBaseComponent, CreatorsService, EMPTY_CREATORS_FILTER, createCreatorsCatalog, createCreatorsFacade, creatorBiography, creatorBiographyExcerpt, creatorDetailsCommands, creatorDictLabel, creatorDictionaryUrl, creatorDisplayName, creatorIsLongBiography, creatorLifeYears, creatorNfdLetter, creatorPlainName, creatorPlainText, creatorProfileUrl, creatorRelatedUrl, creatorRoles, creatorSlug, creatorWorksUrl, creatorYears, creatorsDisplayPrefix, creatorsFilterQueryParams, creatorsFilterToQuery, creatorsFilterValueOf, creatorsFindPrefix, creatorsIndexPrefixOf, creatorsLetterOf, creatorsListSeoMetadata, creatorsListUrl, creatorsPrefixAnchor, creatorsPrefixOf, creatorsPrefixesUrl, groupCreatorsByLetter, groupCreatorsByPrefix, hasCreatorsFilter, isCreatorsBirthRangeValid, isCreatorsBirthYear, parseCreatorsLetter, resolveCreatorsFragment };
871
+ export { CREATORS_ALPHABET, CREATORS_CATALOG_DEFAULTS, CREATORS_HASH_PREFIXES, CREATORS_INDEX_LETTER_PARAM, CREATORS_INDEX_PREFIX_PARAM, CREATORS_SEARCH_LIMIT, CREATORS_SEARCH_PAGE_SIZES, CREATOR_DETAILS_KEYS, CREATOR_RELATED_STRIPS, CreatorCardBaseComponent, CreatorDetailsBaseComponent, CreatorsCatalogBaseComponent, CreatorsFiltersBaseComponent, CreatorsIndexBaseComponent, CreatorsJumpToBaseComponent, CreatorsListContext, CreatorsSearchListBaseComponent, CreatorsService, EMPTY_CREATORS_FILTER, createCreatorsCatalog, createCreatorsFacade, creatorBiography, creatorBiographyExcerpt, creatorDetailsCommands, creatorDictLabel, creatorDictionaryUrl, creatorDisplayName, creatorIsLongBiography, creatorLifeYears, creatorNfdLetter, creatorPlainName, creatorPlainText, creatorProfileUrl, creatorRelatedUrl, creatorRoles, creatorSlug, creatorWorksUrl, creatorYears, creatorsDisplayPrefix, creatorsFilterQueryParams, creatorsFilterToQuery, creatorsFilterValueOf, creatorsFindPrefix, creatorsIndexPrefixOf, creatorsLetterOf, creatorsListSeoMetadata, creatorsListUrl, creatorsPrefixAnchor, creatorsPrefixOf, creatorsPrefixesUrl, groupCreatorsByIndexPrefixes, groupCreatorsByLetter, groupCreatorsByPrefix, hasCreatorsFilter, isCreatorsBirthRangeValid, isCreatorsBirthYear, parseCreatorsLetter, resolveCreatorsFragment };
828
872
  export type { CreatorRelatedKey, CreatorsFragmentTarget, CreatorsLetter, ICreatorActivityPlace, ICreatorAuthorityLink, ICreatorDetailRow, ICreatorDetailsKeys, ICreatorDetailsState, ICreatorGalleryImage, ICreatorNeighbours, ICreatorRef, ICreatorRelatedStrip, ICreatorRelatedStripConfig, ICreatorRelatedStripLink, ICreatorTocEntry, ICreatorWorksPage, ICreatorsCatalog, ICreatorsCatalogOptions, ICreatorsCatalogPageOptions, ICreatorsFacade, ICreatorsFilterValue, ICreatorsIndexGroup, ICreatorsIndexState, ICreatorsLetterGroup, ICreatorsListSeo, ICreatorsPage, ICreatorsPrefixGroup, ICreatorsSearchState };