Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/eight-jobs-sing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'mermaid': minor
---

feat: Export the `AsyncIconLoader`, `SyncIconLoader`, and `IconLoader` types.
3 changes: 3 additions & 0 deletions docs/config/setup/mermaid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

## Interfaces

- [AsyncIconLoader](interfaces/AsyncIconLoader.md)
- [DetailedError](interfaces/DetailedError.md)
- [ExternalDiagramDefinition](interfaces/ExternalDiagramDefinition.md)
- [LayoutData](interfaces/LayoutData.md)
Expand All @@ -23,10 +24,12 @@
- [RenderOptions](interfaces/RenderOptions.md)
- [RenderResult](interfaces/RenderResult.md)
- [RunOptions](interfaces/RunOptions.md)
- [SyncIconLoader](interfaces/SyncIconLoader.md)
- [UnknownDiagramError](interfaces/UnknownDiagramError.md)

## Type Aliases

- [IconLoader](type-aliases/IconLoader.md)
- [InternalHelpers](type-aliases/InternalHelpers.md)
- [ParseErrorFunction](type-aliases/ParseErrorFunction.md)
- [SVG](type-aliases/SVG.md)
Expand Down
33 changes: 33 additions & 0 deletions docs/config/setup/mermaid/interfaces/AsyncIconLoader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/mermaid/interfaces/AsyncIconLoader.md](../../../../../packages/mermaid/src/docs/config/setup/mermaid/interfaces/AsyncIconLoader.md).

[**mermaid**](../../README.md)

---

# Interface: AsyncIconLoader

Defined in: [packages/mermaid/src/rendering-util/icons.ts:8](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/icons.ts#L8)

## Properties

### loader()

> **loader**: () => `Promise`<`IconifyJSON`>

Defined in: [packages/mermaid/src/rendering-util/icons.ts:10](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/icons.ts#L10)

#### Returns

`Promise`<`IconifyJSON`>

---

### name

> **name**: `string`

Defined in: [packages/mermaid/src/rendering-util/icons.ts:9](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/icons.ts#L9)
34 changes: 17 additions & 17 deletions docs/config/setup/mermaid/interfaces/Mermaid.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@

# Interface: Mermaid

Defined in: [packages/mermaid/src/mermaid.ts:429](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L429)
Defined in: [packages/mermaid/src/mermaid.ts:433](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L433)

## Properties

### contentLoaded()

> **contentLoaded**: () => `void`

Defined in: [packages/mermaid/src/mermaid.ts:447](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L447)
Defined in: [packages/mermaid/src/mermaid.ts:451](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L451)

\##contentLoaded Callback function that is called when page is loaded. This functions fetches
configuration for mermaid rendering and calls init for rendering the mermaid diagrams on the
Expand All @@ -34,7 +34,7 @@ page.

> **detectType**: (`text`, `config?`) => `string`

Defined in: [packages/mermaid/src/mermaid.ts:449](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L449)
Defined in: [packages/mermaid/src/mermaid.ts:453](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L453)

Detects the type of the graph text.

Expand Down Expand Up @@ -90,7 +90,7 @@ A graph definition key

> **getRegisteredDiagramsMetadata**: () => `Pick`<[`ExternalDiagramDefinition`](ExternalDiagramDefinition.md), `"id"`>\[]

Defined in: [packages/mermaid/src/mermaid.ts:451](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L451)
Defined in: [packages/mermaid/src/mermaid.ts:455](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L455)

Gets the metadata for all registered diagrams.
Currently only the id is returned.
Expand All @@ -107,7 +107,7 @@ An array of objects with the id of the diagram.

> **init**: (`config?`, `nodes?`, `callback?`) => `Promise`<`void`>

Defined in: [packages/mermaid/src/mermaid.ts:442](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L442)
Defined in: [packages/mermaid/src/mermaid.ts:446](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L446)

## init

Expand Down Expand Up @@ -155,7 +155,7 @@ Use [initialize](#initialize) and [run](#run) instead.

> **initialize**: (`config`) => `void`

Defined in: [packages/mermaid/src/mermaid.ts:446](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L446)
Defined in: [packages/mermaid/src/mermaid.ts:450](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L450)

Used to set configurations for mermaid.
This function should be called before the run function.
Expand All @@ -178,7 +178,7 @@ Configuration object for mermaid.

> **mermaidAPI**: `Readonly`<{ `defaultConfig`: [`MermaidConfig`](MermaidConfig.md); `getConfig`: () => [`MermaidConfig`](MermaidConfig.md); `getDiagramFromText`: (`text`, `metadata`) => `Promise`<`Diagram`>; `getSiteConfig`: () => [`MermaidConfig`](MermaidConfig.md); `globalReset`: () => `void`; `initialize`: (`userOptions`) => `void`; `parse`: {(`text`, `parseOptions`): `Promise`<`false` | [`ParseResult`](ParseResult.md)>; (`text`, `parseOptions?`): `Promise`<[`ParseResult`](ParseResult.md)>; }; `render`: (`id`, `text`, `svgContainingElement?`) => `Promise`<[`RenderResult`](RenderResult.md)>; `reset`: () => `void`; `setConfig`: (`conf`) => [`MermaidConfig`](MermaidConfig.md); `updateSiteConfig`: (`conf`) => [`MermaidConfig`](MermaidConfig.md); }>

Defined in: [packages/mermaid/src/mermaid.ts:436](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L436)
Defined in: [packages/mermaid/src/mermaid.ts:440](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L440)

**`Internal`**

Expand All @@ -192,7 +192,7 @@ Use [parse](#parse) and [render](#render) instead. Please [open a discussion](ht

> **parse**: {(`text`, `parseOptions`): `Promise`<`false` | [`ParseResult`](ParseResult.md)>; (`text`, `parseOptions?`): `Promise`<[`ParseResult`](ParseResult.md)>; }

Defined in: [packages/mermaid/src/mermaid.ts:437](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L437)
Defined in: [packages/mermaid/src/mermaid.ts:441](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L441)

#### Call Signature

Expand Down Expand Up @@ -268,15 +268,15 @@ Error if the diagram is invalid and parseOptions.suppressErrors is false or not

> `optional` **parseError**: [`ParseErrorFunction`](../type-aliases/ParseErrorFunction.md)

Defined in: [packages/mermaid/src/mermaid.ts:431](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L431)
Defined in: [packages/mermaid/src/mermaid.ts:435](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L435)

---

### registerExternalDiagrams()

> **registerExternalDiagrams**: (`diagrams`, `opts`) => `Promise`<`void`>

Defined in: [packages/mermaid/src/mermaid.ts:445](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L445)
Defined in: [packages/mermaid/src/mermaid.ts:449](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L449)

Used to register external diagram types.

Expand Down Expand Up @@ -306,13 +306,13 @@ If opts.lazyLoad is false, the diagrams will be loaded immediately.

> **registerIconPacks**: (`iconLoaders`) => `void`

Defined in: [packages/mermaid/src/mermaid.ts:450](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L450)
Defined in: [packages/mermaid/src/mermaid.ts:454](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L454)

#### Parameters

##### iconLoaders

`IconLoader`\[]
[`IconLoader`](../type-aliases/IconLoader.md)\[]

#### Returns

Expand All @@ -324,7 +324,7 @@ Defined in: [packages/mermaid/src/mermaid.ts:450](https://github.com/mermaid-js/

> **registerLayoutLoaders**: (`loaders`) => `void`

Defined in: [packages/mermaid/src/mermaid.ts:444](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L444)
Defined in: [packages/mermaid/src/mermaid.ts:448](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L448)

#### Parameters

Expand All @@ -342,7 +342,7 @@ Defined in: [packages/mermaid/src/mermaid.ts:444](https://github.com/mermaid-js/

> **render**: (`id`, `text`, `svgContainingElement?`) => `Promise`<[`RenderResult`](RenderResult.md)>

Defined in: [packages/mermaid/src/mermaid.ts:438](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L438)
Defined in: [packages/mermaid/src/mermaid.ts:442](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L442)

#### Parameters

Expand Down Expand Up @@ -374,7 +374,7 @@ Deprecated for external use.

> **run**: (`options`) => `Promise`<`void`>

Defined in: [packages/mermaid/src/mermaid.ts:443](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L443)
Defined in: [packages/mermaid/src/mermaid.ts:447](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L447)

## run

Expand Down Expand Up @@ -418,7 +418,7 @@ Optional runtime configs

> **setParseErrorHandler**: (`parseErrorHandler`) => `void`

Defined in: [packages/mermaid/src/mermaid.ts:448](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L448)
Defined in: [packages/mermaid/src/mermaid.ts:452](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L452)

## setParseErrorHandler Alternative to directly setting parseError using:

Expand Down Expand Up @@ -449,4 +449,4 @@ New parseError() callback.

> **startOnLoad**: `boolean`

Defined in: [packages/mermaid/src/mermaid.ts:430](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L430)
Defined in: [packages/mermaid/src/mermaid.ts:434](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L434)
10 changes: 5 additions & 5 deletions docs/config/setup/mermaid/interfaces/RunOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@

# Interface: RunOptions

Defined in: [packages/mermaid/src/mermaid.ts:41](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L41)
Defined in: [packages/mermaid/src/mermaid.ts:45](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L45)

## Properties

### nodes?

> `optional` **nodes**: `ArrayLike`<`HTMLElement`>

Defined in: [packages/mermaid/src/mermaid.ts:49](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L49)
Defined in: [packages/mermaid/src/mermaid.ts:53](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L53)

The nodes to render. If this is set, `querySelector` will be ignored.

Expand All @@ -28,7 +28,7 @@ The nodes to render. If this is set, `querySelector` will be ignored.

> `optional` **postRenderCallback**: (`id`) => `unknown`

Defined in: [packages/mermaid/src/mermaid.ts:53](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L53)
Defined in: [packages/mermaid/src/mermaid.ts:57](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L57)

A callback to call after each diagram is rendered.

Expand All @@ -48,7 +48,7 @@ A callback to call after each diagram is rendered.

> `optional` **querySelector**: `string`

Defined in: [packages/mermaid/src/mermaid.ts:45](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L45)
Defined in: [packages/mermaid/src/mermaid.ts:49](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L49)

The query selector to use when finding elements to render. Default: `".mermaid"`.

Expand All @@ -58,6 +58,6 @@ The query selector to use when finding elements to render. Default: `".mermaid"`

> `optional` **suppressErrors**: `boolean`

Defined in: [packages/mermaid/src/mermaid.ts:57](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L57)
Defined in: [packages/mermaid/src/mermaid.ts:61](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L61)

If `true`, errors will be logged to the console, but not thrown. Default: `false`
29 changes: 29 additions & 0 deletions docs/config/setup/mermaid/interfaces/SyncIconLoader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/mermaid/interfaces/SyncIconLoader.md](../../../../../packages/mermaid/src/docs/config/setup/mermaid/interfaces/SyncIconLoader.md).

[**mermaid**](../../README.md)

---

# Interface: SyncIconLoader

Defined in: [packages/mermaid/src/rendering-util/icons.ts:13](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/icons.ts#L13)

## Properties

### icons

> **icons**: `IconifyJSON`

Defined in: [packages/mermaid/src/rendering-util/icons.ts:15](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/icons.ts#L15)

---

### name

> **name**: `string`

Defined in: [packages/mermaid/src/rendering-util/icons.ts:14](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/icons.ts#L14)
15 changes: 15 additions & 0 deletions docs/config/setup/mermaid/type-aliases/IconLoader.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
> **Warning**
>
> ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
>
> ## Please edit the corresponding file in [/packages/mermaid/src/docs/config/setup/mermaid/type-aliases/IconLoader.md](../../../../../packages/mermaid/src/docs/config/setup/mermaid/type-aliases/IconLoader.md).
[**mermaid**](../../README.md)

---

# Type Alias: IconLoader

> **IconLoader** = [`AsyncIconLoader`](../interfaces/AsyncIconLoader.md) | [`SyncIconLoader`](../interfaces/SyncIconLoader.md)
Defined in: [packages/mermaid/src/rendering-util/icons.ts:18](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/icons.ts#L18)
2 changes: 1 addition & 1 deletion docs/config/setup/mermaid/variables/default.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@

> `const` **default**: [`Mermaid`](../interfaces/Mermaid.md)

Defined in: [packages/mermaid/src/mermaid.ts:454](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L454)
Defined in: [packages/mermaid/src/mermaid.ts:458](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/mermaid.ts#L458)
4 changes: 4 additions & 0 deletions packages/mermaid/src/mermaid.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
* Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid
* functionality and to render the diagrams to svg code!
*/
import type { AsyncIconLoader, IconLoader, SyncIconLoader } from './rendering-util/icons.js';
import { registerIconPacks } from './rendering-util/icons.js';
import { dedent } from 'ts-dedent';
import type { MermaidConfig } from './config.type.js';
Expand All @@ -22,8 +23,10 @@ import type { DetailedError } from './utils.js';
import utils, { isDetailedError } from './utils.js';

export type {
AsyncIconLoader,
DetailedError,
ExternalDiagramDefinition,
IconLoader,
InternalHelpers,
LayoutData,
LayoutLoaderDefinition,
Expand All @@ -35,6 +38,7 @@ export type {
RenderResult,
SVG,
SVGGroup,
SyncIconLoader,
UnknownDiagramError,
};

Expand Down
4 changes: 2 additions & 2 deletions packages/mermaid/src/rendering-util/icons.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import { getConfig } from '../config.js';
import { sanitizeText } from '../diagrams/common/common.js';
import { log } from '../logger.js';

interface AsyncIconLoader {
export interface AsyncIconLoader {
name: string;
loader: () => Promise<IconifyJSON>;
}

interface SyncIconLoader {
export interface SyncIconLoader {
name: string;
icons: IconifyJSON;
}
Expand Down
Loading