open-index/open-npm huggingface dataset:
npm package: @myrmidon/cadmus-part-refs-pg
Description: Cadmus - references parts UI component wrappers.
Author: Daniele Fusi
Latest version: 1.2.0

# CadmusPartRefsPg

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-part-refs-pg` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-part-refs-pg`.
> Note: Don't forget to add `--project cadmus-part-refs-pg` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-part-refs-pg` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-part-refs-pg`, go to the dist folder `cd dist/cadmus-part-refs-pg` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-part-refs-pg` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-part-refs-ui
Description: Cadmus - references parts UI components.
Author: Daniele Fusi
Latest version: 1.2.0

# CadmusPartRefsUi

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-part-refs-ui` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-part-refs-ui`.
> Note: Don't forget to add `--project cadmus-part-refs-ui` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-part-refs-ui` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-part-refs-ui`, go to the dist folder `cd dist/cadmus-part-refs-ui` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-part-refs-ui` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-part-taxo-pg
Description: Cadmus - Taxonomies part wrappers.
Author: Daniele Fusi
Latest version: 0.0.1

# CadmusPartTaxoPg

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.1.0.

## Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

```bash
ng generate component component-name
```

For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:

```bash
ng generate --help
```

## Building

To build the library, run:

```bash
ng build cadmus-part-taxo-pg
```

This command will compile your project, and the build artifacts will be placed in the `dist/` directory.

### Publishing the Library

Once the project is built, you can publish your library by following these steps:

1. Navigate to the `dist` directory:
   ```bash
   cd dist/cadmus-part-taxo-pg
   ```

2. Run the `npm publish` command to publish your library to the npm registry:
   ```bash
   npm publish
   ```

## Running unit tests

To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:

```bash
ng test
```

## Running end-to-end tests

For end-to-end (e2e) testing, run:

```bash
ng e2e
```

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

## Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
npm package: @myrmidon/cadmus-part-taxo-ui
Description: Cadmus - Taxonomies part
Author: Daniele Fusi
Latest version: 0.1.2

# CadmusPartTaxoUi

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.1.0.

## Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

```bash
ng generate component component-name
```

For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:

```bash
ng generate --help
```

## Building

To build the library, run:

```bash
ng build cadmus-part-taxo
```

This command will compile your project, and the build artifacts will be placed in the `dist/` directory.

### Publishing the Library

Once the project is built, you can publish your library by following these steps:

1. Navigate to the `dist` directory:
   ```bash
   cd dist/cadmus-part-taxo
   ```

2. Run the `npm publish` command to publish your library to the npm registry:
   ```bash
   npm publish
   ```

## Running unit tests

To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:

```bash
ng test
```

## Running end-to-end tests

For end-to-end (e2e) testing, run:

```bash
ng e2e
```

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

## Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
npm package: @myrmidon/cadmus-preview-pg
Description: Cadmus - preview wrapper components.
Author: Daniele Fusi
Latest version: 17.1.0

# CadmusPreviewPg

- 📦 `@myrmidon/cadmus-preview-pg`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains the pages wrapping Cadmus preview components.
npm package: @myrmidon/cadmus-preview-ui
Description: Cadmus - preview components.
Author: Daniele Fusi
Latest version: 17.1.1

# CadmusPreviewUi

- 📦 `@myrmidon/cadmus-preview-ui`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains Cadmus data preview components.
npm package: @myrmidon/cadmus-profile-core
Description: Cadmus - profile services.
Author: Daniele Fusi
Latest version: 12.0.1

# CadmusProfileCore

- 📦 `@myrmidon/cadmus-profile-core`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains services and models for managing Cadmus profiles (mostly thesauri).
npm package: @myrmidon/cadmus-profile-editor
Description: Cadmus - profile editor components.
Author: Daniele Fusi
Latest version: 0.0.2

# CadmusProfileEditor

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.2.0.

This library contains components for editing Cadmus item facets.

In Cadmus, which is a general-purpose content management, data records are named items, and each item can contain any number of parts.

Each part is a data object having any scheme, and representing a portion of the data of the item. This way the item's model is dynamically built by composing parts.

The item's facet is a configuration abstraction which tells the editor which parts can be found inside each item type. The main data models are (from `@myrmidon/cadmus-core`):

- `FacetDefinition`: the definition of a facet: id, label, color, description, and definitions of the parts it can contain.
- `PartDefinition`: the definition of a part: type ID (a unique string identifier for the part's type, like a class name), role ID (an optional string identifier used when multiple parts of the same type are used to assign to each usage a specific role), name, description, whether it is required in its item, color, group (a string used to group parts when displaying their list), sort key (a string used to sort parts within each group when displaying their list), and settings (a POJO object for settings, which is now obsoleted).

## Components

The components in this library are:

- `FacetDefinitionListEditorComponent`: editor for a list of facet definitions. This is the top-level component which loads and saves facets from the server. All the other components are descendant dumb components.
- `FacetDefinitionEditorComponent`: editor for a facet definition.
- `PartDefinitionEditorComponent`: editor for a part definition.
- `FacetEditPage`: wrapper for the `FacetDefinitionListEditorComponent` linked to a preset route (defined in `CADMUS_PROFILE_EDIT_ROUTES`).
npm package: @myrmidon/cadmus-profile-import
Description: Cadmus - profile import (facets, settings).
Author: Daniele Fusi
Latest version: 0.0.4

# CadmusProfileImport

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.1.0.

## Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

```bash
ng generate component component-name
```

For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:

```bash
ng generate --help
```

## Building

To build the library, run:

```bash
ng build cadmus-profile-import
```

This command will compile your project, and the build artifacts will be placed in the `dist/` directory.

### Publishing the Library

Once the project is built, you can publish your library by following these steps:

1. Navigate to the `dist` directory:
   ```bash
   cd dist/cadmus-profile-import
   ```

2. Run the `npm publish` command to publish your library to the npm registry:
   ```bash
   npm publish
   ```

## Running unit tests

To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:

```bash
ng test
```

## Running end-to-end tests

For end-to-end (e2e) testing, run:

```bash
ng e2e
```

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

## Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
npm package: @myrmidon/cadmus-prosopa-cited-person
Description: Cadmus - cited person component.
Author: Daniele Fusi
Latest version: 0.1.0

# CadmusProsopaCitedPerson

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.0-.

## Code scaffolding

Run `ng generate component component-name --project cadmus-prosopa-cited-person` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-prosopa-cited-person`.
> Note: Don't forget to add `--project cadmus-prosopa-cited-person` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-prosopa-cited-person` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-prosopa-cited-person`, go to the dist folder `cd dist/cadmus-prosopa-cited-person` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-prosopa-cited-person` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-prosopa-person-name
Description: Cadmus - shared sub-model components.
Author: Daniele Fusi
Latest version: 0.0.1

# CadmusProsopaPersonName

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.5.

## Code scaffolding

Run `ng generate component component-name --project cadmus-prosopa-person-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-prosopa-person-name`.
> Note: Don't forget to add `--project cadmus-prosopa-person-name` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-prosopa-person-name` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-prosopa-person-name`, go to the dist folder `cd dist/cadmus-prosopa-person-name` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-prosopa-person-name` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-refs-asserted-id
Description: Cadmus - asserted ID component.
Author: Daniele Fusi
Latest version: 0.1.0

# CadmusRefsAssertedId

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.2.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-refs-asserted-id` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-refs-asserted-id`.
> Note: Don't forget to add `--project cadmus-refs-asserted-id` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-refs-asserted-id` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-refs-asserted-id`, go to the dist folder `cd dist/cadmus-refs-asserted-id` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-refs-asserted-id` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-refs-assertion
Description: Cadmus - assertion component.
Author: Daniele Fusi
Latest version: 10.0.6

# CadmusRefsAssertion

📦 `@myrmidon/cadmus-refs-assertion`

- [CadmusRefsAssertion](#cadmusrefsassertion)
  - [AssertionComponent](#assertioncomponent)
    - [10.0.4](#1004)
    - [9.0.1](#901)
    - [9.0.0](#900)

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## AssertionComponent

This component provides an editable assertion. The assertion decorates some other datum providing a likelihood estimation of its truthfulness.

- 🔑 `AssertionComponent`
- 🚩 `cadmus-refs-assertion`
- ▶️ input:
  - `assertion` (`Assertion`)
  - `noLookup`: true to disable the lookup set.
  - `noCitation`: true to disable the citation builder.
  - `defaultPicker` (`citation` (default) or `lookup`): the default picker to show when the editor opens.
- 📚 thesauri:
  - `assertion-tags` (assTagEntries)
  - `doc-reference-types` (refTypeEntries)
  - `doc-reference-tags` (refTagEntries)
- 🔥 output:
  - `assertionChange` (`Assertion`)

### 10.0.4

- 2025-09-10: refactored for `OnPush`.

### 9.0.1

- 2025-07-15: replaced doc references with lookup doc references.

### 9.0.0

- 2025-01-03: ⚠️ updated [Cadmus dependencies](https://github.com/vedph/cadmus-shell-v3) to version 11 (standalone components).
npm package: @myrmidon/cadmus-refs-chronotope
Description: Cadmus - chronotope component.
Author: Daniele Fusi
Latest version: 9.0.2

# CadmusRefsChronotope

📦 `@myrmidon/cadmus-refs-chronotope`

- [CadmusRefsChronotope](#cadmusrefschronotope)
  - [ChronotopeComponent](#chronotopecomponent)
  - [History](#history)
    - [9.0.1](#901)

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## ChronotopeComponent

Editable place and/or date.

- 🔑 `ChronotopeComponent`
- 🚩 `cadmus-refs-chronotope`
- ▶️ input:
  - `chronotope` (`Chronotope`)
- 📚 thesauri:
  - `chronotope-tags` (for `ctTagEntries`)
- 🔥 output:
  - `chronotopeChange` (`Chronotope`)

## History

### 9.0.1

- 2025-09-11: refactored for `OnPush`.
npm package: @myrmidon/cadmus-refs-decorated-counts
Description: Cadmus - decorated counts.
Author: Daniele Fusi
Latest version: 9.0.3

# CadmusRefsDecoratedCounts

📦 `@myrmidon/cadmus-refs-decorated-counts`

- [CadmusRefsDecoratedCounts](#cadmusrefsdecoratedcounts)
  - [DecoratedCountsComponent](#decoratedcountscomponent)
  - [History](#history)
    - [9.0.1](#901)
    - [8.0.1](#801)

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## DecoratedCountsComponent

This component provides an editable list of counts with some essential metadata attached.

Each decorated count is a count (thus a numeric value) decorated with the ID of the entity being counted, and optionally by a tag and/or note.

- 🔑 `DecoratedCountsComponent`
- 🚩 `cadmus-refs-decorated-counts`
- ▶️ input:
  - `counts` (`DecoratedCount[]`)
  - `allowCustomId` (`boolean`, default is `true`)
  - `distinct` (`boolean`)
- 📚 thesauri:
  - `decorated-count-ids` (for `idEntries`)
  - `decorated-count-tags` (for `tagEntries`)
- 🔥 output:
  - `countsChange` (`DecoratedCount[]`)

## History

### 9.0.1

- 2025-09-11: refactored for `OnPush`.

### 8.0.1

- 2025-01-23:
  - refactored UI.
  - added `allowCustomId` and `distinct` properties.
npm package: @myrmidon/cadmus-refs-decorated-ids
Description: Cadmus - decorated IDs component.
Author: Daniele Fusi
Latest version: 9.0.6

# CadmusRefsDecoratedIds

📦 `@myrmidon/cadmus-refs-decorated-ids`

- [CadmusRefsDecoratedIds](#cadmusrefsdecoratedids)
  - [DecoratedIdsComponent](#decoratedidscomponent)
  - [History](#history)
    - [9.0.3](#903)
    - [9.0.1](#901)

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## DecoratedIdsComponent

This component provides an editable list of simple identifiers decorated with some optional metadata (rank, tag, documental sources).

- 🔑 `DecoratedIdsComponent`
- 🚩 `cadmus-refs-decorated-ids`
- ▶️ input:
  - `ids` (`DecoratedId[]`)
  - `noLookup`: true to disable the lookup set.
  - `noCitation`: true to disable the citation builder.
  - `defaultPicker` (`citation` (default) or `lookup`): the default picker to show when the editor opens.
- 📚 thesauri:
  - `decorated-id-tags` (for `tagEntries`)
  - `doc-reference-tags` (for `refTagEntries`)
  - `doc-reference-types` (for `refTypeEntries`)
- 🔥 output:
  - `idsChange` (`DecoratedId[]`)

## History

### 9.0.3

- 2025-09-11:
  - refactored for `OnPush`.
  - added move up/down.
  - added tag lookup in ID tags list.

### 9.0.1

- 2025-07-15: replaced doc references with lookup doc references.
npm package: @myrmidon/cadmus-refs-doc-references
Description: Cadmus - document references component.
Author: Daniele Fusi
Latest version: 10.0.3

# CadmusRefsDocReferences

📦 `@myrmidon/cadmus-refs-doc-references`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## DocReferencesComponent

This component provides an editable list of generic and compact document references, like e.g. "Hom., Il.1.234", "CIL X 21", "LSJ 872", "Rossi 1963 12", etc. A reference thus essentially corresponds to a citation following some convention, and can also include metadata like type, tag, and a free text note.

- 🔑 `DocReferencesComponent`
- 🚩 `cadmus-refs-doc-references`
- ▶️ input:
  - `references` (`DocReference[]`)
- 📚 thesauri:
  - `doc-reference-types` (for `typeEntries`)
  - `doc-reference-tags` (for `tagEntries`)
- 🔥 output:
  - `referencesChange` (`DocReference[]`)

### 10.0.2

- 2025-09-10: refactored for `OnPush`.

### 9.0.0

- 2025-01-03: ⚠️ updated [Cadmus dependencies](https://github.com/vedph/cadmus-shell-v3) to version 11 (standalone components).
npm package: @myrmidon/cadmus-refs-external-ids
Description: Cadmus - external IDs component.
Author: Daniele Fusi
Latest version: 10.0.4

# CadmusRefsExternalIds

📦 `@myrmidon/cadmus-refs-external-ids`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

⚠️ This library is no longer in use.

## History

### 9.0.0

- 2025-01-03: ⚠️ updated [Cadmus dependencies](https://github.com/vedph/cadmus-shell-v3) to version 11 (standalone components).
npm package: @myrmidon/cadmus-refs-geonames-lookup
Description: Cadmus - GeoNames lookup.
Author: Daniele Fusi
Latest version: 10.0.3

# CadmusRefsGeonamesLookup

📦 `@myrmidon/cadmus-refs-geonames-lookup`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## Configuration

To use GeoNames you must provide your GeoNames **user name**, assumed that you have enabled API access for that account.

To configure your app:

(1) add your username to the `src/environments/environment.prod.ts` file, e.g.:

```ts
export const environment = {
  production: true,
  geoNamesUserName: 'yourUserNameHere'
};
```

(2) be sure to add `src/environments/environment.prod.ts` to `.gitignore` so you don't accidentally publish it.

(3) provide the username via token under your app's `providers` (`appConfig`):

```ts
// GeoNames lookup (see environment.prod.ts for the username)
{
  provide: GEONAMES_USERNAME_TOKEN,
  useValue: environment.geoNamesUserName,
}
```

⚠️ Be sure to use the Angular CLI’s `--configuration=production` flag when building for production, as this will ensure the correct environment file is used. If you want to debug with your username, just provide it in `src/environments/environment.ts`.
npm package: @myrmidon/cadmus-refs-mol-lookup
Description: Cadmus - MOL (Manus Online) lookup.
Author: Daniele Fusi
Latest version: 0.0.3

# CadmusRefsMolLookup

📦 `@myrmidon/cadmus-refs-mol-lookup`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.0.0.

A simple [Manus Online](https://manus.iccu.sbn.it) authority entries lookup service.

## Requirements

⚠️ As MOL does not currently provide any API services, you will need to add the MOL API service to your Cadmus API using the corresponding package (`Mol.Api.Controllers`).

In this workspace, the demo page for this service assumes that the endpoints for this controller are reachable at <http://localhost:5230/api/>. You can change the base address from the app's `env.js` file.

## Usage

1. `npm i @myrmidon/cadmus-refs-mol-lookup`.
2. if you want to use the MOL icon in a set of lookup providers, add to your `public/img` folder the corresponding image you can find here in the demo app at the same location.
3. add to your `env.js` the root URL for the MUFI service, e.g. (change the URL to reflect your configuration):

   ```js
   // MOL
   window.__env.molUrl = "http://localhost:5230/";
   ```

4. inject `MolRefLookupService` in your controller and bind it to the lookup component used in your component.

## History

### 0.0.1

- 2025-11-26: initial commit.
npm package: @myrmidon/cadmus-refs-sparql
Description: Cadmus - Generic SPARQL endpoint client with W3C SPARQL 1.1 JSON result types.
Author: Daniele Fusi
Latest version: 11.0.0

# CadmusRefsSparql

`@myrmidon/cadmus-refs-sparql`

Generic, reusable Angular library for querying any SPARQL endpoint. Provides hand-written TypeScript types for the [W3C SPARQL 1.1 Query Results JSON Format](https://www.w3.org/TR/sparql11-results-json/) and a service to execute SPARQL queries.

This library is endpoint-agnostic: it works with DBPedia, Wikidata, or any other SPARQL-compliant endpoint.

## Types

All types model the W3C SPARQL 1.1 JSON Results Format directly, with no external dependencies.

### SparqlTerm (discriminated union)

A single value in a SPARQL result binding. Discriminated on `type`:

- `SparqlUriTerm` — `{ type: 'uri'; value: string }`
- `SparqlLiteralTerm` — `{ type: 'literal'; value: string; 'xml:lang'?: string; datatype?: string }`
- `SparqlBnodeTerm` — `{ type: 'bnode'; value: string }`

### SparqlBinding

A single row in a SELECT result: a record mapping variable names to `SparqlTerm` values.

```ts
interface SparqlBinding {
  [variable: string]: SparqlTerm;
}
```

### SparqlSelectResponse

The full response from a SPARQL SELECT query:

```ts
interface SparqlSelectResponse {
  head: { vars: string[]; link?: string[] };
  results: { bindings: SparqlBinding[] };
}
```

### SparqlAskResponse

The response from a SPARQL ASK query:

```ts
interface SparqlAskResponse {
  head: Record<string, never>;
  boolean: boolean;
}
```

### SparqlQueryOptions

Configuration for a SPARQL request:

- `defaultGraphUri?` — default graph URI to pass to the endpoint.
- `maxRetries?` — maximum retry attempts on transient failure (default: 2).
- `retryDelay?` — initial retry delay in ms, doubled on each retry (default: 1000).

## SparqlService

Injectable Angular service (`providedIn: 'root'`) for querying SPARQL endpoints.

### select()

```ts
select(endpoint: string, query: string, options?: SparqlQueryOptions): Observable<SparqlSelectResponse>
```

Executes a SPARQL SELECT query. Returns the typed JSON response.

### ask()

```ts
ask(endpoint: string, query: string, options?: SparqlQueryOptions): Observable<boolean>
```

Executes a SPARQL ASK query. Returns the boolean result.

### Features

- Sets `Accept: application/sparql-results+json` header and `format` parameter.
- Exponential backoff retry (configurable via `maxRetries` and `retryDelay`).
- Detects Virtuoso partial results via `X-SPARQL-MaxRows` and `X-SQL-State` response headers, logging warnings to the console.
- Error handling via `ErrorService` from `@myrmidon/ngx-tools`.
npm package: @myrmidon/cadmus-refs-whg-lookup
Description: Cadmus - WHG lookup.
Author: Daniele Fusi
Latest version: 10.0.3

# CadmusRefsWhgLookup

📦 `@myrmidon/cadmus-refs-whg-lookup`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

Lookup component for WHG, [Word Historical Gazetteer](https://whgazetteer.org).
npm package: @myrmidon/cadmus-reset-password
Description: Cadmus - reset password page.
Author: Daniele Fusi
Latest version: 0.3.0

# CadmusResetPassword

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4.

## Code scaffolding

Run `ng generate component component-name --project cadmus-reset-password` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-reset-password`.
> Note: Don't forget to add `--project cadmus-reset-password` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-reset-password` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-reset-password`, go to the dist folder `cd dist/cadmus-reset-password` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-reset-password` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @myrmidon/cadmus-state
Description: Cadmus - state management.
Author: Daniele Fusi
Latest version: 15.0.0

# CadmusState

- 📦 `@myrmidon/cadmus-state`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains models, services and base classes for managing Cadmus UI state and its editors.
npm package: @myrmidon/cadmus-statistics
Description: Cadmus - data statistics.
Author: Daniele Fusi
Latest version: 1.1.0

# CadmusStatistics

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

```bash
ng generate component component-name
```

For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:

```bash
ng generate --help
```

## Building

To build the library, run:

```bash
ng build cadmus-statistics
```

This command will compile your project, and the build artifacts will be placed in the `dist/` directory.

### Publishing the Library

Once the project is built, you can publish your library by following these steps:

1. Navigate to the `dist` directory:
   ```bash
   cd dist/cadmus-statistics
   ```

2. Run the `npm publish` command to publish your library to the npm registry:
   ```bash
   npm publish
   ```

## Running unit tests

To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:

```bash
ng test
```

## Running end-to-end tests

For end-to-end (e2e) testing, run:

```bash
ng e2e
```

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

## Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
npm package: @myrmidon/cadmus-text-block-view
Description: Cadmus - text blocks view.
Author: Daniele Fusi
Latest version: 9.0.3

# CadmusTextBlockView

📦 `@myrmidon/cadmus-text-block-view`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## TextBlockViewComponent

- 🔑 `TextBlockViewComponent`
- 🚩 `cadmus-text-block-view`
- ▶️ input:
  - `blocks` (`TextBlock[]`)
  - `selectedIds` (`string[]?`)
- 🔥 output:
  - `blockClick` (`TextBlockEventArgs`)

## History

- 2025-09-12: refactored for `OnPush`.
npm package: @myrmidon/cadmus-text-ed-md
Description: Cadmus - text editing helpers.
Author: Daniele Fusi
Latest version: 10.0.5

# CadmusTextEdMd

📦 `@myrmidon/cadmus-text-ed-md`

- [CadmusTextEdMd](#cadmustextedmd)
  - [Plugins](#plugins)
    - [Toggle Bold](#toggle-bold)
    - [Toggle Italic](#toggle-italic)
    - [Insert Link](#insert-link)
  - [Example](#example)
  - [History](#history)
    - [10.0.3](#1003)
    - [9.0.0](#900)

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

This library contains Markdown-related plugins for the Cadmus [text editing service](../cadmus-text-ed/README.md).

These plugins can be used to provide shortcuts to frequent edit tasks like toggling bold or italic, or providing more complex logic in assisting edits.

## Plugins

### Toggle Bold

- 🔑 `md.bold` (`MdBoldCtePlugin`)

This plugin toggles bold text on or off using two asterisks for it. It expects a text, and if it finds a bold span inside it it removes the wrapper asterisks; else, it wraps the text in them.

### Toggle Italic

- 🔑 `md.italic` (`MdItalicCtePlugin`)

This plugin toggles italic text on or off using one asterisk for it. It expects a text, and if it finds a bold span inside it it removes the wrapper asterisks; else, it wraps the text in them.

### Insert Link

- 🔑 `md.link` (`MdLinkCtePlugin`)

This plugin assists in inserting or editing Markdown links via lookup. These links have a JSON string as their target, where `)` is rendered as `\)` to avoid issues with Markdown parsers.

The JSON target is built from an asserted composite ID UI, so it can represent an internal or an external link. For external links, you can configure the lookup providers via a storage service (`RamStorageService`) with key `ASSERTED_COMPOSITE_ID_CONFIGS_KEY` , e.g.:

```ts
// assuming we got RamStorageService via injection

storage.store(ASSERTED_COMPOSITE_ID_CONFIGS_KEY, [
  {
    name: 'colors',
    iconUrl: '/img/colors128.png',
    description: 'Colors',
    label: 'color',
    service: new WebColorLookup(),
    itemIdGetter: (item: any) => item?.value,
    itemLabelGetter: (item: any) => item?.name,
  },
  {
    name: 'VIAF',
    iconUrl: '/img/viaf128.png',
    description: 'Virtual International Authority File',
    label: 'ID',
    service: viaf,
    itemIdGetter: (item: any) => item?.viafid,
    itemLabelGetter: (item: any) => item?.term,
  },
  {
    name: 'geonames',
    iconUrl: '/img/geonames128.png',
    description: 'GeoNames',
    label: 'ID',
    service: geonames,
    itemIdGetter: (item: any) => item?.geonameId,
    itemLabelGetter: (item: any) => item?.name,
  },
] as RefLookupConfig[]);
```

## Example

For an example usage with a Monaco editor instance see the [text editor service demo page](../../../src/app/text/text-ed-pg/text-ed-pg.component.ts).

## History

### 10.0.3

- 2025-10-09: refactored for `OnPush`.

### 9.0.0

- 2025-01-03: ⚠️ updated [Cadmus dependencies](https://github.com/vedph/cadmus-shell-v3) to version 11 (standalone components).
npm package: @myrmidon/cadmus-text-ed-txt
Description: Cadmus - text editing helpers.
Author: Daniele Fusi
Latest version: 9.0.2

# CadmusTextEdTxt

📦 `@myrmidon/cadmus-text-ed-txt`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

This library contains Markdown-related plugins for the Cadmus [text editing service](../cadmus-text-ed/README.md).

These plugins can be used to provide shortcuts to frequent edit tasks like toggling bold or italic, or providing more complex logic in assisting edits.

## Plugins

### Insert Unicode Emoji

- 🔑 `txt.emoji` (`TxtEmojiCtePlugin`)

This plugin provides a user-friendly way for inserting Unicode Emoji characters in a text.

You can pass it the name of an emoji, or just an empty text. When the name corresponds to the full name of an existing Emoji, the corresponding text is returned. If instead the text is empty, or it does not match a full name, a dialog pops up and lets you pick the desired emoji, which is then returned as text.

## History

### 9.0.1

- 2025-09-10: refactored for `OnPush`.
npm package: @myrmidon/cadmus-tgr-core
Description: Cadmus TGR - core components.
Author: Daniele Fusi
Latest version: 5.0.0

# CadmusTgrCore

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.0.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-tgr-core` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-tgr-core`.
> Note: Don't forget to add `--project cadmus-tgr-core` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-tgr-core` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-tgr-core`, go to the dist folder `cd dist/cadmus-tgr-core` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-tgr-core` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-tgr-part-gr-pg
Description: Cadmus TGR - part editor wrappers.
Author: Daniele Fusi
Latest version: 5.0.0

# CadmusTgrPartGrPg

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.0.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-tgr-part-gr-pg` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-tgr-part-gr-pg`.
> Note: Don't forget to add `--project cadmus-tgr-part-gr-pg` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-tgr-part-gr-pg` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-tgr-part-gr-pg`, go to the dist folder `cd dist/cadmus-tgr-part-gr-pg` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-tgr-part-gr-pg` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-tgr-part-gr-ui
Description: Cadmus TGR - part editors components.
Author: Daniele Fusi
Latest version: 5.0.0

# CadmusTgrPartGrUi

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.0.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-tgr-part-gr-ui` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-tgr-part-gr-ui`.
> Note: Don't forget to add `--project cadmus-tgr-part-gr-ui` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-tgr-part-gr-ui` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-tgr-part-gr-ui`, go to the dist folder `cd dist/cadmus-tgr-part-gr-ui` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-tgr-part-gr-ui` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-tgr-part-ms-pg
Description: Cadmus TGR - codicologic editors wrappers components.
Author: Daniele Fusi
Latest version: 5.0.0

# CadmusTgrPartMsPg

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.0.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-tgr-part-ms-pg` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-tgr-part-ms-pg`.
> Note: Don't forget to add `--project cadmus-tgr-part-ms-pg` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-tgr-part-ms-pg` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-tgr-part-ms-pg`, go to the dist folder `cd dist/cadmus-tgr-part-ms-pg` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-tgr-part-ms-pg` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-tgr-part-ms-ui
Description: Cadmus TGR - codicologic editors components.
Author: Daniele Fusi
Latest version: 5.0.0

# CadmusTgrPartMsUi

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.0.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-tgr-part-ms-ui` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-tgr-part-ms-ui`.
> Note: Don't forget to add `--project cadmus-tgr-part-ms-ui` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-tgr-part-ms-ui` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-tgr-part-ms-ui`, go to the dist folder `cd dist/cadmus-tgr-part-ms-ui` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-tgr-part-ms-ui` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-tgr-ui
Description: Cadmus TGR - shared UI components.
Author: Daniele Fusi
Latest version: 0.1.1

# CadmusTgrUi

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.0.0.

## Code scaffolding

Run `ng generate component component-name --project cadmus-tgr-ui` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-tgr-ui`.
> Note: Don't forget to add `--project cadmus-tgr-ui` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-tgr-ui` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-tgr-ui`, go to the dist folder `cd dist/cadmus-tgr-ui` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-tgr-ui` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @myrmidon/cadmus-thesaurus-editor
Description: Cadmus - thesaurus editor.
Author: Daniele Fusi
Latest version: 16.1.1

# CadmusThesaurusEditor

- 📦 `@myrmidon/cadmus-thesaurus-editor`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains the editor wrapper page for Cadmus thesauri.
npm package: @myrmidon/cadmus-thesaurus-list
Description: Cadmus - thesauri list.
Author: Daniele Fusi
Latest version: 16.1.2

# CadmusThesaurusList

- 📦 `@myrmidon/cadmus-thesaurus-list`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains components for listing Cadmus thesauri.
npm package: @myrmidon/cadmus-thesaurus-ui
Description: Cadmus - thesauri UI components.
Author: Daniele Fusi
Latest version: 15.1.1

# CadmusThesaurusUi

- 📦 `@myrmidon/cadmus-thesaurus-ui`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains the UI components for editing Cadmus thesauri or looking up their entries.
npm package: @myrmidon/cadmus-ui-custom-action-bar
Description: Cadmus - custom actions bar component.
Author: Daniele Fusi
Latest version: 9.0.2

# CadmusUiCustomActionBar

📦 `@myrmidon/cadmus-ui-custom-action-bar`

- [CadmusUiCustomActionBar](#cadmusuicustomactionbar)
  - [CustomActionBarComponent](#customactionbarcomponent)
  - [History](#history)
    - [9.0.1](#901)

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.0.0.

## CustomActionBarComponent

- 🔑 `CustomActionBarComponent`
- 🚩 `cadmus-custom-action-bar`
- ▶️ input:
  - `actions` (`BarCustomAction[]`)
  - `disabled` (`boolean?`)
  - `payload` (`any`): optional payload data linked to this bar. For instance, in a list of actionable items having a bar for each item, this could be the item. The payload gets passed back to the `actionRequest` handler together with the action's ID.
- 🔥 output:
  - `actionRequest` (`BarCustomActionRequest`)

Custom actions bar component. This bar contains a row of buttons corresponding to custom-defined actions via the `actions` input property. Whenever the user clicks a button, the `actionRequest` event is emitted.

To use this component, set the actions and handle the `actionRequest` event. Optionally, you can set additional data in the payload property, which will be passed back to the `actionRequest` handler.

Each custom action is defined by an object implementing `BarCustomAction`.

## History

### 9.0.1

- 2025-09-10: set `CustomActionBarComponent` change detection to `OnPush`.
npm package: @myrmidon/cadmus-ui-object-view
Description: Cadmus - object view component.
Author: Daniele Fusi
Latest version: 0.0.4

# CadmusUiObjectView

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.2.0.

- 📦 `@myrmidon/cadmus-ui-object-view`

## ObjectViewComponent

A component for displaying a read-only view of an object's properties in a structured and customizable way, with user-defined filtering.

- 🔑 `ObjectViewComponent`
- 🚩 `cadmus-ui-object-view`
- ▶️ input:
  - `data` (any): the item to view.
  - `title` (`string`): the title for the viewer's toolbar.
  - `hideEmptyArrays` (`boolean`): true to hide empty arrays.
  - `hideEmptyObjects` (`boolean`): true to hide empty objects.
  - `hideEmptyArrays` (`boolean`): true to hide empty strings.
  - `hideZeroNumbers` (`boolean`): true to hide 0 numbers.
  - `hideFalseBooleans` (`boolean`): true to hide false booleans.
  - `copyOnPick` (`boolean`): true to copy the value to clipboard when picked (default is `true`).
- 🔥 output:
  - `valuePick` (`ValuePickEvent`): emits the key and value of the picked property when clicked.

## Usage

1. Import `ObjectViewComponent` in your standalone component's `imports`.
2. Provide the object to display via the `data` input.
3. Optionally configure the settings as you prefer.

### Example

```ts
import { JsonPipe } from '@angular/common';
import { ObjectViewComponent, ObjectViewField } from '@myrmidon/cadmus-ui-object-view';

@Component({
  // ...
  imports: [ObjectViewComponent, JsonPipe],
})
export class MyComponent {
    public readonly data = signal<any>({
    names: [
      {
        first: 'John',
        last: 'Doe',
      },
      {
        first: 'JD',
        last: '',
        type: 'alias',
      },
    ],
    sex: 'male',
    'birth-date': '2020-12-31',
    inventory: [
      {
        type: 'weapon',
        size: {
          width: 4,
          height: 22,
        },
      },
    ],
  });

  public readonly value = signal<any>(undefined);

  public onValuePick(event: any): void {
    this.value.set(event);
  }
} 
```

```html
<cadmus-ui-object-view [data]="data()" (valuePick)="onValuePick($event)" />
@if (value()) {
<code>
  <pre>{{ value() | json }}</pre>
</code>
}
```

## History

### 0.0.2

- avoid endless loop in expansion.
- added blacklisted properties to the object viewer.
npm package: @myrmidon/cadmus-ui-pg
Description: Cadmus - general smart UI components.
Author: Daniele Fusi
Latest version: 16.1.2

# CadmusUiPg

- 📦 `@myrmidon/cadmus-ui-pg`

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

This library contains Cadmus shared UI components for page wrappers:

- current item bar.
- current layer part bar.
npm package: @myrmidon/cadmus-user
Description: Cadmus - user area.
Author: Daniele Fusi
Latest version: 0.3.0

# CadmusUser

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4.

## Code scaffolding

Run `ng generate component component-name --project cadmus-user` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cadmus-user`.
> Note: Don't forget to add `--project cadmus-user` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build cadmus-user` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build cadmus-user`, go to the dist folder `cd dist/cadmus-user` and run `npm publish`.

## Running unit tests

Run `ng test cadmus-user` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).