mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-30 20:59:36 +02:00
chore: Move icons to architecture
We are planning to release an icons library separately. Till we figure out the APIs for those, all external surface for icons are removed, to avoid making a breaking change when the new library comes.
This commit is contained in:
@@ -154,15 +154,6 @@ export interface MermaidConfig {
|
||||
*
|
||||
*/
|
||||
legacyMathML?: boolean;
|
||||
/**
|
||||
* This option specifies an object contianing a mappig of SVG icon names to a resolver that returns the svg code.
|
||||
* For supported diagrams (i.e., Architecture), their syntax allows refering to key names in this object to display the corresponding SVG icon in the rendered diagram.
|
||||
*
|
||||
*/
|
||||
iconLibraries?: Array<
|
||||
| import('./rendering-util/svgRegister.js').IconLibrary
|
||||
| import('./rendering-util/svg/index.js').IconNamespaceKeys
|
||||
>;
|
||||
/**
|
||||
* This option forces Mermaid to rely on KaTeX's own stylesheet for rendering MathML. Due to differences between OS
|
||||
* fonts and browser's MathML implementation, this option is recommended if consistent rendering is important.
|
||||
|
@@ -1,18 +1,29 @@
|
||||
// TODO remove no-console
|
||||
/* eslint-disable no-console */
|
||||
import type {
|
||||
ArchitectureState,
|
||||
ArchitectureDB,
|
||||
ArchitectureService,
|
||||
ArchitectureGroup,
|
||||
ArchitectureEdge,
|
||||
ArchitectureDirectionPairMap,
|
||||
ArchitectureDirectionPair,
|
||||
ArchitectureSpatialMap,
|
||||
ArchitectureNode,
|
||||
ArchitectureJunction,
|
||||
} from './architectureTypes.js';
|
||||
import type { ArchitectureDiagramConfig } from '../../config.type.js';
|
||||
import DEFAULT_CONFIG from '../../defaultConfig.js';
|
||||
import { getConfig } from '../../diagram-api/diagramAPI.js';
|
||||
import type { D3Element } from '../../types.js';
|
||||
import { ImperativeState } from '../../utils/imperativeState.js';
|
||||
import {
|
||||
clear as commonClear,
|
||||
getAccDescription,
|
||||
getAccTitle,
|
||||
getDiagramTitle,
|
||||
setAccDescription,
|
||||
setAccTitle,
|
||||
setDiagramTitle,
|
||||
} from '../common/commonDb.js';
|
||||
import type {
|
||||
ArchitectureDB,
|
||||
ArchitectureDirectionPair,
|
||||
ArchitectureDirectionPairMap,
|
||||
ArchitectureEdge,
|
||||
ArchitectureGroup,
|
||||
ArchitectureJunction,
|
||||
ArchitectureNode,
|
||||
ArchitectureService,
|
||||
ArchitectureSpatialMap,
|
||||
ArchitectureState,
|
||||
} from './architectureTypes.js';
|
||||
import {
|
||||
getArchitectureDirectionPair,
|
||||
isArchitectureDirection,
|
||||
@@ -20,19 +31,6 @@ import {
|
||||
isArchitectureService,
|
||||
shiftPositionByArchitectureDirectionPair,
|
||||
} from './architectureTypes.js';
|
||||
import {
|
||||
setAccTitle,
|
||||
getAccTitle,
|
||||
setDiagramTitle,
|
||||
getDiagramTitle,
|
||||
getAccDescription,
|
||||
setAccDescription,
|
||||
clear as commonClear,
|
||||
} from '../common/commonDb.js';
|
||||
import type { ArchitectureDiagramConfig } from '../../config.type.js';
|
||||
import DEFAULT_CONFIG from '../../defaultConfig.js';
|
||||
import type { D3Element } from '../../types.js';
|
||||
import { ImperativeState } from '../../utils/imperativeState.js';
|
||||
|
||||
const DEFAULT_ARCHITECTURE_CONFIG: Required<ArchitectureDiagramConfig> =
|
||||
DEFAULT_CONFIG.architecture;
|
||||
@@ -286,7 +284,6 @@ const getDataStructures = () => {
|
||||
adjList,
|
||||
spatialMaps,
|
||||
};
|
||||
console.log(state.records.dataStructures);
|
||||
}
|
||||
return state.records.dataStructures;
|
||||
};
|
||||
|
@@ -1,39 +1,40 @@
|
||||
// TODO remove no-console
|
||||
/* eslint-disable no-console */
|
||||
import type { Position } from 'cytoscape';
|
||||
import cytoscape from 'cytoscape';
|
||||
import type { Diagram } from '../../Diagram.js';
|
||||
import type { FcoseLayoutOptions } from 'cytoscape-fcose';
|
||||
import fcose from 'cytoscape-fcose';
|
||||
import { select } from 'd3';
|
||||
import type { DrawDefinition, SVG } from '../../diagram-api/types.js';
|
||||
import type { Diagram } from '../../Diagram.js';
|
||||
import { log } from '../../logger.js';
|
||||
import { selectSvgElement } from '../../rendering-util/selectSvgElement.js';
|
||||
import { setupGraphViewbox } from '../../setupGraphViewbox.js';
|
||||
import { getConfigField } from './architectureDb.js';
|
||||
import type {
|
||||
ArchitectureDataStructures,
|
||||
ArchitectureSpatialMap,
|
||||
EdgeSingularData,
|
||||
EdgeSingular,
|
||||
ArchitectureJunction,
|
||||
ArchitectureSpatialMap,
|
||||
EdgeSingular,
|
||||
EdgeSingularData,
|
||||
NodeSingularData,
|
||||
} from './architectureTypes.js';
|
||||
import {
|
||||
type ArchitectureDB,
|
||||
type ArchitectureDirection,
|
||||
type ArchitectureGroup,
|
||||
type ArchitectureEdge,
|
||||
type ArchitectureGroup,
|
||||
type ArchitectureService,
|
||||
ArchitectureDirectionName,
|
||||
edgeData,
|
||||
getOppositeArchitectureDirection,
|
||||
isArchitectureDirectionXY,
|
||||
isArchitectureDirectionY,
|
||||
nodeData,
|
||||
edgeData,
|
||||
} from './architectureTypes.js';
|
||||
import { select } from 'd3';
|
||||
import { setupGraphViewbox } from '../../setupGraphViewbox.js';
|
||||
import { defaultIconLibrary } from './icons/default.js';
|
||||
import { registerIconLibrary } from './icons/svgRegister.js';
|
||||
import { drawEdges, drawGroups, drawJunctions, drawServices } from './svgDraw.js';
|
||||
import { getConfigField } from './architectureDb.js';
|
||||
|
||||
registerIconLibrary(defaultIconLibrary);
|
||||
cytoscape.use(fcose);
|
||||
|
||||
function addServices(services: ArchitectureService[], cy: cytoscape.Core) {
|
||||
@@ -319,13 +320,6 @@ function layoutArchitecture(
|
||||
// Create the relative constraints for fcose by using an inverse of the spatial map and performing BFS on it
|
||||
const relativePlacementConstraint = getRelativeConstraints(spatialMaps);
|
||||
|
||||
console.log(`Horizontal Alignments:`);
|
||||
console.log(alignmentConstraint.horizontal);
|
||||
console.log(`Vertical Alignments:`);
|
||||
console.log(alignmentConstraint.vertical);
|
||||
console.log(`Relative Alignments:`);
|
||||
console.log(relativePlacementConstraint);
|
||||
|
||||
const layout = cy.layout({
|
||||
name: 'fcose',
|
||||
quality: 'proof',
|
||||
@@ -440,9 +434,6 @@ export const draw: DrawDefinition = async (text, id, _version, diagObj: Diagram)
|
||||
const groups = db.getGroups();
|
||||
const edges = db.getEdges();
|
||||
const ds = db.getDataStructures();
|
||||
console.log('Services: ', services);
|
||||
console.log('Edges: ', edges);
|
||||
console.log('Groups: ', groups);
|
||||
|
||||
const svg: SVG = selectSvgElement(id);
|
||||
|
||||
@@ -465,8 +456,6 @@ export const draw: DrawDefinition = async (text, id, _version, diagObj: Diagram)
|
||||
positionNodes(db, cy);
|
||||
|
||||
setupGraphViewbox(undefined, svg, getConfigField('padding'), getConfigField('useMaxWidth'));
|
||||
|
||||
console.log('==============================================================');
|
||||
};
|
||||
|
||||
export const renderer = { draw };
|
||||
|
99
packages/mermaid/src/diagrams/architecture/icons/default.ts
Normal file
99
packages/mermaid/src/diagrams/architecture/icons/default.ts
Normal file
@@ -0,0 +1,99 @@
|
||||
import { createIcon, type IconLibrary } from './svgRegister.js';
|
||||
|
||||
export const defaultIconLibrary: IconLibrary = {
|
||||
database: createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
</g>`,
|
||||
80
|
||||
),
|
||||
server: createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<g>
|
||||
<path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
<path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
<path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
<path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
</g>`,
|
||||
80
|
||||
),
|
||||
disk: createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
</g>`,
|
||||
80
|
||||
),
|
||||
internet: createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
</g>`,
|
||||
80
|
||||
),
|
||||
cloud: createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
</g>`,
|
||||
80
|
||||
),
|
||||
unknown: createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text>
|
||||
</g>`,
|
||||
80
|
||||
),
|
||||
blank: createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
</g>`,
|
||||
80
|
||||
),
|
||||
};
|
@@ -1,3 +1,4 @@
|
||||
import { log } from '$root/logger.js';
|
||||
import type { Selection } from 'd3-selection';
|
||||
|
||||
export type IconResolver = (
|
||||
@@ -31,16 +32,12 @@ export const isIconNameInUse = (name: string): boolean => {
|
||||
return icons[name] !== undefined;
|
||||
};
|
||||
|
||||
export const registerIcon = (name: string, resolver: IconResolver) => {
|
||||
if (!isIconNameInUse(name)) {
|
||||
icons[name] = resolver;
|
||||
}
|
||||
};
|
||||
|
||||
export const registerIcons = (library: IconLibrary) => {
|
||||
export const registerIconLibrary = (library: IconLibrary) => {
|
||||
Object.entries(library).forEach(([name, resolver]) => {
|
||||
if (!isIconNameInUse(name)) {
|
||||
icons[name] = resolver;
|
||||
} else {
|
||||
log.warn(`Icon with name ${name} already exists. Skipping registration.`);
|
||||
}
|
||||
});
|
||||
};
|
@@ -1,26 +1,26 @@
|
||||
// TODO remove no-console
|
||||
/* eslint-disable no-console */
|
||||
import type { D3Element } from '../../types.js';
|
||||
import type cytoscape from 'cytoscape';
|
||||
import { getConfig } from '../../diagram-api/diagramAPI.js';
|
||||
import { createText } from '../../rendering-util/createText.js';
|
||||
import type { D3Element } from '../../types.js';
|
||||
import { db, getConfigField } from './architectureDb.js';
|
||||
import {
|
||||
ArchitectureDirectionArrow,
|
||||
type ArchitectureDB,
|
||||
type ArchitectureService,
|
||||
ArchitectureDirectionArrowShift,
|
||||
isArchitectureDirectionX,
|
||||
isArchitectureDirectionY,
|
||||
edgeData,
|
||||
nodeData,
|
||||
isArchitectureDirectionXY,
|
||||
getArchitectureDirectionPair,
|
||||
getArchitectureDirectionXYFactors,
|
||||
isArchitectureDirectionX,
|
||||
isArchitectureDirectionXY,
|
||||
isArchitectureDirectionY,
|
||||
isArchitecturePairXY,
|
||||
nodeData,
|
||||
type ArchitectureDB,
|
||||
type ArchitectureJunction,
|
||||
type ArchitectureService,
|
||||
} from './architectureTypes.js';
|
||||
import type cytoscape from 'cytoscape';
|
||||
import { getIcon } from '../../rendering-util/svgRegister.js';
|
||||
import { db, getConfigField } from './architectureDb.js';
|
||||
import { getConfig } from '../../diagram-api/diagramAPI.js';
|
||||
import { getIcon } from './icons/svgRegister.js';
|
||||
|
||||
export const drawEdges = async function (edgesEl: D3Element, cy: cytoscape.Core) {
|
||||
const padding = getConfigField('padding');
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# SVG Icons (v???+)
|
||||
# SVG Icons (v<MERMAID_RELEASE_VERSION>+)
|
||||
|
||||
SVG Icons can be used with supported diagrams. Alongside the icon packs included with Mermaid, 3rd party libraries can be included in the configuration to cover additional use-cases.
|
||||
|
||||
|
@@ -19,8 +19,6 @@ import type { LayoutData } from './rendering-util/types.js';
|
||||
import type { ParseOptions, ParseResult, RenderResult } from './types.js';
|
||||
import type { DetailedError } from './utils.js';
|
||||
import utils, { isDetailedError } from './utils.js';
|
||||
import type { IconLibrary, IconResolver } from './rendering-util/svgRegister.js';
|
||||
import { createIcon } from './rendering-util/svgRegister.js';
|
||||
|
||||
export type {
|
||||
DetailedError,
|
||||
@@ -37,12 +35,8 @@ export type {
|
||||
SVG,
|
||||
SVGGroup,
|
||||
UnknownDiagramError,
|
||||
IconLibrary,
|
||||
IconResolver,
|
||||
};
|
||||
|
||||
export { createIcon };
|
||||
|
||||
export interface RunOptions {
|
||||
/**
|
||||
* The query selector to use when finding elements to render. Default: `".mermaid"`.
|
||||
|
@@ -6,29 +6,26 @@
|
||||
import { select } from 'd3';
|
||||
import { compile, serialize, stringify } from 'stylis';
|
||||
// @ts-ignore: TODO Fix ts errors
|
||||
import DOMPurify from 'dompurify';
|
||||
import isEmpty from 'lodash-es/isEmpty.js';
|
||||
import { version } from '../package.json';
|
||||
import { addSVGa11yTitleDescription, setA11yDiagramInfo } from './accessibility.js';
|
||||
import assignWithDepth from './assignWithDepth.js';
|
||||
import * as configApi from './config.js';
|
||||
import type { MermaidConfig } from './config.type.js';
|
||||
import { addDiagrams } from './diagram-api/diagram-orchestration.js';
|
||||
import type { DiagramMetadata, DiagramStyleClassDef } from './diagram-api/types.js';
|
||||
import { Diagram } from './Diagram.js';
|
||||
import { evaluate } from './diagrams/common/common.js';
|
||||
import errorRenderer from './diagrams/error/errorRenderer.js';
|
||||
import { attachFunctions } from './interactionDb.js';
|
||||
import { log, setLogLevel } from './logger.js';
|
||||
import { preprocessDiagram } from './preprocess.js';
|
||||
import getStyles from './styles.js';
|
||||
import theme from './themes/index.js';
|
||||
import DOMPurify from 'dompurify';
|
||||
import type { MermaidConfig } from './config.type.js';
|
||||
import { evaluate } from './diagrams/common/common.js';
|
||||
import isEmpty from 'lodash-es/isEmpty.js';
|
||||
import { setA11yDiagramInfo, addSVGa11yTitleDescription } from './accessibility.js';
|
||||
import type { DiagramMetadata, DiagramStyleClassDef } from './diagram-api/types.js';
|
||||
import { preprocessDiagram } from './preprocess.js';
|
||||
import { decodeEntities } from './utils.js';
|
||||
import type { IconLibrary } from './rendering-util/svgRegister.js';
|
||||
import { registerIcons } from './rendering-util/svgRegister.js';
|
||||
import defaultIconLibrary from './rendering-util/svg/index.js';
|
||||
import { toBase64 } from './utils/base64.js';
|
||||
import type { D3Element, ParseOptions, ParseResult, RenderResult } from './types.js';
|
||||
import assignWithDepth from './assignWithDepth.js';
|
||||
import { decodeEntities } from './utils.js';
|
||||
import { toBase64 } from './utils/base64.js';
|
||||
|
||||
const MAX_TEXTLENGTH = 50_000;
|
||||
const MAX_TEXTLENGTH_EXCEEDED_MSG =
|
||||
@@ -492,29 +489,6 @@ function initialize(userOptions: MermaidConfig = {}) {
|
||||
// Set default options
|
||||
configApi.saveConfigFromInitialize(options);
|
||||
|
||||
registerIcons(defaultIconLibrary);
|
||||
if (options?.iconLibraries) {
|
||||
// TODO: find a better way to handle this, assumed to be resolved by the time diagrams are being generated
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
||||
options.iconLibraries.forEach(async (library) => {
|
||||
if (typeof library === 'string') {
|
||||
let lib: IconLibrary = {};
|
||||
if (library === 'aws:common') {
|
||||
lib = (await import('./rendering-util/svg/aws/awsCommon.js')).default;
|
||||
} else if (library === 'aws:full') {
|
||||
lib = (await import('./rendering-util/svg/aws/awsFull.js')).default;
|
||||
} else if (library === 'digital-ocean') {
|
||||
lib = (await import('./rendering-util/svg/digital-ocean/digitalOcean.js')).default;
|
||||
} else if (library === 'github') {
|
||||
lib = (await import('./rendering-util/svg/github/github.js')).default;
|
||||
}
|
||||
registerIcons(lib);
|
||||
} else {
|
||||
registerIcons(library);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (options?.theme && options.theme in theme) {
|
||||
// Todo merge with user options
|
||||
options.themeVariables = theme[options.theme as keyof typeof theme].getThemeVariables(
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,11 +0,0 @@
|
||||
/**
|
||||
* Designer: Nicolas Newman
|
||||
*/
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
export default createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
</g>`,
|
||||
80
|
||||
);
|
@@ -1,13 +0,0 @@
|
||||
/**
|
||||
* Designer: Nicolas Newman
|
||||
* @see https://github.com/NicolasNewman/IconLibrary
|
||||
*/
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
export default createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
</g>`,
|
||||
80
|
||||
);
|
@@ -1,18 +0,0 @@
|
||||
/**
|
||||
* Designer: Nicolas Newman
|
||||
* @see https://github.com/NicolasNewman/IconLibrary
|
||||
*/
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
export default createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
</g>`,
|
||||
80
|
||||
);
|
@@ -1,20 +0,0 @@
|
||||
/**
|
||||
* Designer: Nicolas Newman
|
||||
* @see https://github.com/NicolasNewman/IconLibrary
|
||||
*/
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
export default createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
</g>`,
|
||||
80
|
||||
);
|
@@ -1,19 +0,0 @@
|
||||
/**
|
||||
* Designer: Nicolas Newman
|
||||
* @see https://github.com/NicolasNewman/IconLibrary
|
||||
*/
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
export default createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
</g>`,
|
||||
80
|
||||
);
|
@@ -1,42 +0,0 @@
|
||||
/**
|
||||
* Designer: Nicolas Newman
|
||||
* @see https://github.com/NicolasNewman/IconLibrary
|
||||
*/
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
export default createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>
|
||||
<g>
|
||||
<path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
<path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
<path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/>
|
||||
<path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
<circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/>
|
||||
</g>
|
||||
</g>`,
|
||||
80
|
||||
);
|
@@ -1,13 +0,0 @@
|
||||
/**
|
||||
* Designer: Nicolas Newman
|
||||
* @see https://github.com/NicolasNewman/IconLibrary
|
||||
*/
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
export default createIcon(
|
||||
`<g>
|
||||
<rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>
|
||||
<text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text>
|
||||
</g>`,
|
||||
80
|
||||
);
|
@@ -1,321 +0,0 @@
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
// cSpell:disable
|
||||
const digitalOceanIcons = {
|
||||
'do:api': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}.cls-4{font-size:16px;fill:#fff;font-family:ProximaNova-Extrabld,
|
||||
Proxima
|
||||
Nova;}.cls-5{letter-spacing:0em;}.cls-6{letter-spacing:-0.01em;}.cls-7{letter-spacing:0em;}.cls-8{letter-spacing:0em;}.cls-9{letter-spacing:0em;}.cls-10{letter-spacing:0em;}.cls-11{letter-spacing:0em;}.cls-12{letter-spacing:0em;}.cls-13{letter-spacing:0em;}.cls-14{letter-spacing:-0.01em;}.cls-15{letter-spacing:-0.02em;}.cls-16{letter-spacing:0em;}.cls-17{letter-spacing:0em;}.cls-18{letter-spacing:0em;}.cls-19{letter-spacing:0em;}.cls-20{letter-spacing:-0.08em;}.cls-21{letter-spacing:0em;}.cls-22{letter-spacing:0em;}.cls-23{letter-spacing:0em;}.cls-24{letter-spacing:0em;}.cls-25{letter-spacing:0em;}.cls-26{letter-spacing:0em;}.cls-27{letter-spacing:0em;}.cls-28{letter-spacing:-0.01em;}.cls-29{letter-spacing:0em;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3"
|
||||
d="M32.8,22.44V19.65l-3.09-1a9.47,9.47,0,0,0-.89-2.1l1.51-2.9-2-2-2.88,1.45h0a9.45,9.45,0,0,0-2-.88h0l-1-3.07H19.59l-1,3.11a9.39,9.39,0,0,0-2.09.89h0l-2.89-1.5-2,2,1.5,2.89h0a8.91,8.91,0,0,0-.88,2L9.2,19.65v2.83l3.1,1h0a9.07,9.07,0,0,0,.82,2h0l-1.46,2.87,2,2,2.9-1.51a9,9,0,0,0,2,.89l1,3.11H22.4l1-3.08h0a8.65,8.65,0,0,0,2-.82h0l2.89,1.51,2-2.06L28.8,25.49a9.48,9.48,0,0,0,.88-2.07Zm-11.8,2A3.45,3.45,0,1,1,24.44,21v0A3.44,3.44,0,0,1,21,24.42Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:cli': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<rect class="cls-3" x="9.89" y="14.16" width="22.22" height="13.68" />
|
||||
<polyline class="cls-3" points="14.34 24.5 17.84 21 14.34 17.5" />
|
||||
<line class="cls-3" x1="20.13" y1="23.89" x2="27.53" y2="23.89" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:dns': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<circle class="cls-3" cx="21" cy="21" r="11.87" />
|
||||
<line class="cls-3" x1="21" y1="9.13" x2="21" y2="32.87" />
|
||||
<line class="cls-3" x1="9.81" y1="17.04" x2="32.19" y2="17.04" />
|
||||
<line class="cls-3" x1="9.81" y1="24.96" x2="32.19" y2="24.96" />
|
||||
<path class="cls-3" d="M21,32.87c-3.27,0-5.93-8.6-5.93-11.87S17.73,9.13,21,9.13" />
|
||||
<path class="cls-3" d="M21.09,9.13C24.36,9.13,27,17.73,27,21s-2.66,11.87-5.93,11.87" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:droplet': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3"
|
||||
d="M21,33.06A10.2,10.2,0,0,1,10.83,23C10.83,14.61,21,8.94,21,8.94s10.17,5.87,10.17,14.15A10.14,10.14,0,0,1,21,33.06Z" />
|
||||
<path class="cls-3"
|
||||
d="M21,26.28a3.37,3.37,0,0,1-3.39-3.39c0-2.61,3.39-5.09,3.39-5.09s3.39,2.42,3.39,5.09A3.37,3.37,0,0,1,21,26.28Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:kubernetes': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3"
|
||||
d="M31.15,21.18A10.19,10.19,0,1,1,21,11,10.19,10.19,0,0,1,31.15,21.18Zm-6.51,0A3.64,3.64,0,1,1,21,17.56,3.64,3.64,0,0,1,24.64,21.2ZM21,17.47v0ZM10.1,12.33,18,18.79Zm21.79,0L24,18.79ZM34.72,24.2,24.75,22Zm-27.44,0,10-2.18Zm19.93,9.62-4.53-9.43Zm-12.41,0,4.45-9.43Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:local-ssd': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3"
|
||||
d="M21,33.06A10.2,10.2,0,0,1,10.83,23C10.83,14.61,21,8.94,21,8.94s10.17,5.87,10.17,14.15A10.14,10.14,0,0,1,21,33.06Z" />
|
||||
<path class="cls-3"
|
||||
d="M21,26.28a3.37,3.37,0,0,1-3.39-3.39c0-2.61,3.39-5.09,3.39-5.09s3.39,2.42,3.39,5.09A3.37,3.37,0,0,1,21,26.28Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:mysql': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-4{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3,.cls-5{fill:#fff;}.cls-4{stroke:#fff;stroke-width:1.49px;}.cls-5{font-size:16px;font-family:ProximaNova-Extrabld,
|
||||
Proxima
|
||||
Nova;}.cls-6{letter-spacing:0em;}.cls-7{letter-spacing:-0.01em;}.cls-8{letter-spacing:0em;}.cls-9{letter-spacing:0em;}.cls-10{letter-spacing:0em;}.cls-11{letter-spacing:0em;}.cls-12{letter-spacing:0em;}.cls-13{letter-spacing:0em;}.cls-14{letter-spacing:0em;}.cls-15{letter-spacing:-0.01em;}.cls-16{letter-spacing:-0.02em;}.cls-17{letter-spacing:0em;}.cls-18{letter-spacing:0em;}.cls-19{letter-spacing:0em;}.cls-20{letter-spacing:0em;}.cls-21{letter-spacing:-0.08em;}.cls-22{letter-spacing:0em;}.cls-23{letter-spacing:0em;}.cls-24{letter-spacing:0em;}.cls-25{letter-spacing:0em;}.cls-26{letter-spacing:0em;}.cls-27{letter-spacing:0em;}.cls-28{letter-spacing:0em;}.cls-29{letter-spacing:-0.01em;}.cls-30{letter-spacing:0em;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3"
|
||||
d="M22.15,29V21.86a.63.63,0,0,1,.59-.58.86.86,0,0,1,.84.33c.2.36.43.72.64,1.08.37.62.84,1.36,1.21,2,.37-.6.85-1.34,1.21-2,.2-.36.43-.72.64-1.08a.86.86,0,0,1,.84-.33.65.65,0,0,1,.61.58V29a.69.69,0,0,1-.77.59A.68.68,0,0,1,27.2,29v-4.5c-.28.44-.55.88-.75,1.22l-.35.56a.81.81,0,0,1-.69.35.76.76,0,0,1-.7-.35l-.35-.56c-.2-.34-.48-.78-.73-1.22V29a.71.71,0,0,1-.77.59A.69.69,0,0,1,22.15,29Z" />
|
||||
<path class="cls-4" d="M9.65,20.87v4.34c0,1.43,4,2.59,8.89,2.59" />
|
||||
<path class="cls-4" d="M27.41,19V16.57" />
|
||||
<path class="cls-4" d="M9.65,16.57v4.34c0,1.43,4,2.58,8.89,2.58H19" />
|
||||
<path class="cls-4"
|
||||
d="M27.41,12.24c0-1.42-4-2.58-8.87-2.58s-8.89,1.16-8.89,2.58v4.33c0,1.43,4,2.59,8.89,2.59s8.87-1.16,8.87-2.59Z" />
|
||||
<ellipse class="cls-4" cx="18.54" cy="12.24" rx="8.88" ry="2.58" />
|
||||
<path class="cls-4"
|
||||
d="M27.41,12.24c0-1.42-4-2.58-8.87-2.58s-8.89,1.16-8.89,2.58v4.33c0,1.43,4,2.59,8.89,2.59s8.87-1.16,8.87-2.59Z" />
|
||||
<path class="cls-4"
|
||||
d="M13.89,14.44c-2.54-.46-4.23-1.27-4.23-2.2,0-1.43,4-2.58,8.88-2.58s8.87,1.15,8.87,2.58-4,2.58-8.87,2.58a27,27,0,0,1-4.65-.38" />
|
||||
<circle class="cls-4" cx="25.44" cy="25.43" r="6.91" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:redis-copy': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}.cls-4{fill:#fff;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3" d="M11.59,23.14v4.34c0,1.43,4,2.59,8.89,2.59" />
|
||||
<path class="cls-3" d="M29.35,23.14V18.85" />
|
||||
<path class="cls-3" d="M11.59,23.14V18.85" />
|
||||
<path class="cls-3"
|
||||
d="M29.35,14.51c0-1.42-4-2.58-8.87-2.58s-8.89,1.16-8.89,2.58v4.34c0,1.43,4,2.59,8.89,2.59s8.87-1.16,8.87-2.59Z" />
|
||||
<ellipse class="cls-3" cx="20.48" cy="14.51" rx="8.88" ry="2.58" />
|
||||
<path class="cls-3"
|
||||
d="M29.35,14.51c0-1.42-4-2.58-8.87-2.58s-8.89,1.16-8.89,2.58v4.34c0,1.43,4,2.59,8.89,2.59s8.87-1.16,8.87-2.59Z" />
|
||||
<path class="cls-3"
|
||||
d="M15.83,16.71c-2.54-.45-4.23-1.27-4.23-2.2,0-1.43,4-2.58,8.88-2.58s8.87,1.15,8.87,2.58-4,2.58-8.87,2.58a27,27,0,0,1-4.65-.38" />
|
||||
<path class="cls-3" d="M11.59,23.14v4.34c0,1.43,4,2.59,8.89,2.59s8.87-1.16,8.87-2.59V23.14" />
|
||||
<path class="cls-3" d="M29.35,23.14c0,1.43-4,2.58-8.87,2.58a26,26,0,0,1-4.65-.38" />
|
||||
<path class="cls-3" d="M15.83,25.34c-2.54-.45-4.23-1.27-4.23-2.2" />
|
||||
<path class="cls-3" d="M29.35,27.49c0,1.43-4,2.58-8.87,2.58a27,27,0,0,1-4.65-.38" />
|
||||
<path class="cls-3" d="M15.83,29.69c-2.54-.45-4.23-1.27-4.23-2.2" />
|
||||
<path class="cls-4" d="M30.41,26.2v0Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:redis': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}.cls-4{fill:#fff;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3" d="M9.65,20.87v4.34c0,1.43,4,2.59,8.89,2.59" />
|
||||
<path class="cls-3" d="M27.41,19V16.57" />
|
||||
<path class="cls-3" d="M9.65,16.57v4.34c0,1.43,4,2.58,8.89,2.58H19" />
|
||||
<path class="cls-3"
|
||||
d="M27.41,12.24c0-1.42-4-2.58-8.87-2.58s-8.89,1.16-8.89,2.58v4.33c0,1.43,4,2.59,8.89,2.59s8.87-1.16,8.87-2.59Z" />
|
||||
<ellipse class="cls-3" cx="18.54" cy="12.24" rx="8.88" ry="2.58" />
|
||||
<path class="cls-3"
|
||||
d="M27.41,12.24c0-1.42-4-2.58-8.87-2.58s-8.89,1.16-8.89,2.58v4.33c0,1.43,4,2.59,8.89,2.59s8.87-1.16,8.87-2.59Z" />
|
||||
<path class="cls-3"
|
||||
d="M13.89,14.44c-2.54-.46-4.23-1.27-4.23-2.2,0-1.43,4-2.58,8.88-2.58s8.87,1.15,8.87,2.58-4,2.58-8.87,2.58a27,27,0,0,1-4.65-.38" />
|
||||
<circle class="cls-3" cx="25.44" cy="25.43" r="6.91" />
|
||||
<path class="cls-4" d="M28.47,23.93v0Z" />
|
||||
<path class="cls-4"
|
||||
d="M28.47,24a2.68,2.68,0,0,0-2.68-2.65H23.88a.75.75,0,0,0-.57.21.77.77,0,0,0-.23.57v6.73a.77.77,0,0,0,1.53,0V26.62h.53l1.5,2.58a.76.76,0,0,0,.66.37.75.75,0,0,0,.38-.1.76.76,0,0,0,.27-1l-1.17-2a2.78,2.78,0,0,0,.9-.58A2.72,2.72,0,0,0,28.47,24Zm-3.86-1.12h1.14a1.18,1.18,0,0,1,.82.33,1.11,1.11,0,0,1,0,1.58,1.14,1.14,0,0,1-.82.33H24.61Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:monitoring': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3" d="M29.6,14.92v12.7a1.5,1.5,0,0,1-1.51,1.51H14.79" />
|
||||
<path class="cls-3" d="M12.4,26.74V14.38a1.51,1.51,0,0,1,1.51-1.51H27.47" />
|
||||
<line class="cls-3" x1="29.57" y1="21" x2="12.36" y2="21" />
|
||||
<path class="cls-3"
|
||||
d="M13.5,27l5-9.82a.33.33,0,0,1,.45-.14.32.32,0,0,1,.14.14l3.74,7.61a.33.33,0,0,0,.45.13.29.29,0,0,0,.14-.13l5.09-9.88" />
|
||||
<circle class="cls-3" cx="12.4" cy="29.13" r="2.39" />
|
||||
<circle class="cls-3" cx="29.6" cy="12.87" r="2.39" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:projects': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{fill:#fff;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3"
|
||||
d="M28.45,12.75H25.76A2.79,2.79,0,0,0,23,10.41h0a2.26,2.26,0,0,0,.27-1h0a2.27,2.27,0,0,0-4.53,0,2.39,2.39,0,0,0,.27,1h0a2.79,2.79,0,0,0-2.75,2.34h-2.7A1.68,1.68,0,0,0,12,14.52V31a1.68,1.68,0,0,0,1.6,1.74H28.45A1.68,1.68,0,0,0,30,31V14.5A1.68,1.68,0,0,0,28.45,12.75ZM20,9.37a1,1,0,0,1,2.09,0h0a1,1,0,0,1-1,1H21A1,1,0,0,1,20,9.37Zm-1,2.26h4a1.57,1.57,0,0,1,1.51,1.12h-7A1.57,1.57,0,0,1,19,11.63ZM28.82,31c0,.29-.17.53-.37.53H13.56c-.2,0-.38-.24-.38-.53V14.5c0-.28.18-.53.38-.53H28.45c.2,0,.37.25.37.53Z" />
|
||||
<rect class="cls-3" x="19.02" y="18.88" width="6.77" height="1.22" />
|
||||
<rect class="cls-3" x="19.02" y="22.18" width="6.77" height="1.22" />
|
||||
<rect class="cls-3" x="19.02" y="25.49" width="6.77" height="1.22" />
|
||||
<rect class="cls-3" x="16.21" y="18.88" width="1.18" height="1.22" />
|
||||
<rect class="cls-3" x="16.21" y="22.18" width="1.18" height="1.22" />
|
||||
<rect class="cls-3" x="16.21" y="25.49" width="1.18" height="1.22" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:spaces-cdn': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{fill:#fff;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3"
|
||||
d="M12.7,13.49a1.22,1.22,0,0,0,.66-.2,1,1,0,0,0,.33-.68,1.22,1.22,0,0,0-.19-.69.88.88,0,0,0-.69-.33h0a1,1,0,0,0-1,.86,1.16,1.16,0,0,0,.21.68A.91.91,0,0,0,12.7,13.49Zm-2.6,3.89a1,1,0,0,0,1-.87,1.26,1.26,0,0,0-.2-.68.85.85,0,0,0-.69-.34h-.06a1,1,0,0,0-.95.87,1.12,1.12,0,0,0,.21.68,1.09,1.09,0,0,0,.67.34ZM10.17,21a1.26,1.26,0,0,0-.2-.68A.9.9,0,0,0,9.28,20H9.22a1,1,0,0,0-.62.21.87.87,0,0,0-.33.69,1.08,1.08,0,0,0,.2.67.84.84,0,0,0,.68.35.87.87,0,0,0,1-.7.61.61,0,0,0,0-.19Zm0,3.61a1.07,1.07,0,0,0-.69.21.88.88,0,0,0-.34.69,1.16,1.16,0,0,0,.21.67.87.87,0,0,0,.68.35,1.15,1.15,0,0,0,.72-.21.84.84,0,0,0,.34-.68.87.87,0,0,0-.69-1Zm2.67,3.9a1,1,0,0,0-1,.86,1.2,1.2,0,0,0,.21.69.89.89,0,0,0,.68.34,1.21,1.21,0,0,0,.66-.19.85.85,0,0,0,.33-.68,1.22,1.22,0,0,0-.19-.69A1.13,1.13,0,0,0,12.84,28.51ZM16.72,31a1,1,0,0,0-.68.18.86.86,0,0,0-.34.68,1.12,1.12,0,0,0,.21.68.83.83,0,0,0,.68.34,1.11,1.11,0,0,0,.68-.2.86.86,0,0,0,.34-.68,1.12,1.12,0,0,0-.2-.69A1,1,0,0,0,16.72,31Z" />
|
||||
<circle class="cls-3" cx="25.39" cy="26.73" r="0.95" />
|
||||
<circle class="cls-3" cx="27.92" cy="23.18" r="0.95" />
|
||||
<circle class="cls-3" cx="27.99" cy="18.88" r="0.95" />
|
||||
<circle class="cls-3" cx="25.32" cy="15.2" r="0.95" />
|
||||
<path class="cls-3"
|
||||
d="M16.66,10.9a1,1,0,0,0,1-.87.94.94,0,0,0-.86-1h-.1a.92.92,0,0,0-.61.2.88.88,0,0,0-.34.69,1.08,1.08,0,0,0,.19.65A.84.84,0,0,0,16.66,10.9ZM21,28.84V27.2a6.27,6.27,0,0,1,0-12.54V13a7.92,7.92,0,0,0,0,15.83Zm.42-20.53V10a11.05,11.05,0,0,1,0,22.1v1.64a12.69,12.69,0,0,0,0-25.38Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:spaces-object-storage': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}.cls-2{font-size:16px;font-family:ProximaNova-Extrabld,
|
||||
Proxima
|
||||
Nova;}.cls-2,.cls-20{fill:#fff;}.cls-3{letter-spacing:0em;}.cls-4{letter-spacing:0em;}.cls-5{letter-spacing:0em;}.cls-6{letter-spacing:0em;}.cls-7{letter-spacing:0em;}.cls-8{letter-spacing:-0.01em;}.cls-9{letter-spacing:0em;}.cls-10{letter-spacing:-0.01em;}.cls-11{letter-spacing:0em;}.cls-12{letter-spacing:0em;}.cls-13{letter-spacing:0.02em;}.cls-14{letter-spacing:-0.01em;}.cls-15{letter-spacing:-0.01em;}.cls-16{letter-spacing:0em;}.cls-17{letter-spacing:0em;}.cls-18{letter-spacing:0em;}.cls-19{fill:#0069ff;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-19" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-20"
|
||||
d="M12.7,13.49a1.22,1.22,0,0,0,.66-.2,1,1,0,0,0,.33-.68,1.22,1.22,0,0,0-.19-.69.88.88,0,0,0-.69-.33h0a1,1,0,0,0-1,.86,1.16,1.16,0,0,0,.21.68A.91.91,0,0,0,12.7,13.49Zm-2.6,3.89a1,1,0,0,0,1-.87,1.26,1.26,0,0,0-.2-.68.85.85,0,0,0-.69-.34h-.06a1,1,0,0,0-.95.87,1.12,1.12,0,0,0,.21.68,1.09,1.09,0,0,0,.67.34ZM10.17,21a1.26,1.26,0,0,0-.2-.68A.9.9,0,0,0,9.28,20H9.22a1,1,0,0,0-.62.21.87.87,0,0,0-.33.69,1.08,1.08,0,0,0,.2.67.84.84,0,0,0,.68.35.87.87,0,0,0,1-.7.61.61,0,0,0,0-.19Zm0,3.61a1.07,1.07,0,0,0-.69.21.88.88,0,0,0-.34.69,1.16,1.16,0,0,0,.21.67.87.87,0,0,0,.68.35,1.15,1.15,0,0,0,.72-.21.84.84,0,0,0,.34-.68.87.87,0,0,0-.69-1Zm2.67,3.9a1,1,0,0,0-1,.86,1.2,1.2,0,0,0,.21.69.89.89,0,0,0,.68.34,1.21,1.21,0,0,0,.66-.19.85.85,0,0,0,.33-.68,1.22,1.22,0,0,0-.19-.69A1.13,1.13,0,0,0,12.84,28.51ZM16.72,31a1,1,0,0,0-.68.18.86.86,0,0,0-.34.68,1.12,1.12,0,0,0,.21.68.83.83,0,0,0,.68.34,1.11,1.11,0,0,0,.68-.2.86.86,0,0,0,.34-.68,1.12,1.12,0,0,0-.2-.69A1,1,0,0,0,16.72,31Z" />
|
||||
<circle class="cls-20" cx="25.39" cy="26.73" r="0.95" />
|
||||
<circle class="cls-20" cx="27.92" cy="23.18" r="0.95" />
|
||||
<circle class="cls-20" cx="27.99" cy="18.88" r="0.95" />
|
||||
<circle class="cls-20" cx="25.32" cy="15.2" r="0.95" />
|
||||
<path class="cls-20"
|
||||
d="M16.66,10.9a1,1,0,0,0,1-.87.94.94,0,0,0-.86-1h-.1a.92.92,0,0,0-.61.2.88.88,0,0,0-.34.69,1.08,1.08,0,0,0,.19.65A.84.84,0,0,0,16.66,10.9ZM21,28.84V27.2a6.27,6.27,0,0,1,0-12.54V13a7.92,7.92,0,0,0,0,15.83Zm.42-20.53V10a11.05,11.05,0,0,1,0,22.1v1.64a12.69,12.69,0,0,0,0-25.38Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:teams': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3" d="M33.83,23.9a5.13,5.13,0,0,0-4.94-5.29h-.41a5.1,5.1,0,0,0-5.3,4.9v.39" />
|
||||
<circle class="cls-3" cx="28.48" cy="15.86" r="2.7" />
|
||||
<path class="cls-3"
|
||||
d="M18.82,23.9a5.11,5.11,0,0,0-4.92-5.29h-.42a5.1,5.1,0,0,0-5.3,4.91,2.41,2.41,0,0,0,0,.38" />
|
||||
<circle class="cls-3" cx="13.48" cy="15.86" r="2.7" />
|
||||
<path class="cls-3"
|
||||
d="M26.33,28.79a5.1,5.1,0,0,0-4.92-5.29,2.94,2.94,0,0,0-.42,0,5.12,5.12,0,0,0-5.3,4.94,2.67,2.67,0,0,0,0,.4" />
|
||||
<circle class="cls-3" cx="20.99" cy="20.8" r="2.7" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:terraform-provider': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1,.cls-3{fill:none;stroke-miterlimit:10;}.cls-1{stroke:#000;}.cls-2{fill:#0069ff;}.cls-3{stroke:#fff;stroke-width:1.49px;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<path class="cls-3" d="M10.89,17.53l4.61,2.64V14.93l-4.61-2.64Z" />
|
||||
<path class="cls-3" d="M18.63,21.94l4.62,2.65V19.34L18.63,16.7Z" />
|
||||
<path class="cls-3" d="M26.5,19.34v5.25l4.61-2.65V16.7Z" />
|
||||
<path class="cls-3" d="M18.63,31l4.62,2.64V28.43l-4.6-2.62Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
'do:volumes-block-storage': createIcon(
|
||||
`<g>
|
||||
<defs>
|
||||
<style>.cls-1,.cls-3,.cls-4,.cls-5,.cls-6,.cls-7{fill:none;}.cls-1{stroke:#000;stroke-miterlimit:10;}.cls-2{fill:#0069ff;}.cls-3,.cls-4,.cls-5,.cls-6,.cls-7{stroke:#fff;stroke-width:1.49px;}.cls-3,.cls-4,.cls-5,.cls-6{stroke-linecap:round;}.cls-4{stroke-dasharray:0
|
||||
3.11;}.cls-5{stroke-dasharray:0 2.94;}.cls-6{stroke-dasharray:0 2.95;}</style>
|
||||
</defs>
|
||||
<g>
|
||||
<circle class="cls-2" cx="21" cy="21" r="20.79" />
|
||||
<line class="cls-3" x1="20.98" y1="21.2" x2="20.98" y2="21.2" />
|
||||
<line class="cls-4" x1="20.98" y1="18.09" x2="20.98" y2="10.32" />
|
||||
<line class="cls-3" x1="20.98" y1="8.76" x2="20.98" y2="8.76" />
|
||||
<line class="cls-3" x1="10.92" y1="27.22" x2="10.92" y2="27.22" />
|
||||
<line class="cls-5" x1="13.42" y1="25.66" x2="19.68" y2="21.78" />
|
||||
<line class="cls-3" x1="20.93" y1="21" x2="20.93" y2="21" />
|
||||
<line class="cls-6" x1="23.44" y1="22.54" x2="29.72" y2="26.4" />
|
||||
<line class="cls-3" x1="30.98" y1="27.17" x2="30.98" y2="27.17" />
|
||||
<path class="cls-7"
|
||||
d="M21,21V33.44M21,21.2,11,15m20.11,0L21,21.2m-10.1-6.42V27.17l10,6.22L31,27.17V14.73l-10-6.17Z" />
|
||||
</g>
|
||||
</g>`,
|
||||
41.61
|
||||
),
|
||||
};
|
||||
|
||||
export default digitalOceanIcons;
|
@@ -1,26 +0,0 @@
|
||||
import { createIcon } from '../../svgRegister.js';
|
||||
|
||||
const githubIcons = {
|
||||
'gh:action': createIcon(
|
||||
`<g>
|
||||
<path d="M46.62.3c23.51,2.97,39.85,24.77,36.41,48.15-3.04,18.63-19.42,34.09-38.47,34.89-2.09-.07-2.23,1.19-1.34,3.21,3.19,9.13,13.37,14.89,22.82,13.27.55-.09,1.02-.48,1.21-1,.05-.14.1-.3.13-.46.58-2.8,1.67-5.54,3.04-8.07,13.28-23.34,47.81-18.65,53.98,7.57.23,1.5,1.13,2.27,2.52,2.22,4.21.01,8.46,0,12.72,0,2.24.2,2.74-1.22,3.06-3.18.01-.07.03-.14.04-.2,3.26-11.55,14-20.72,26.11-21.53,15.8-1.4,30.54,11.69,31.32,27.5,1.12,23.22-23.72,38.33-43.92,26.85-6.53-3.98-12-11.09-13.56-18.62-.17-.77-.35-1.65-1.02-2.1-.14-.09-.31-.15-.47-.19-2.48-.57-5.2-.08-7.73-.23-2.53.16-5.21-.34-7.66.23-.16.04-.33.09-.47.19-.58.4-.78,1.14-.91,1.82-.3,2.05-1.09,4.03-1.95,5.94-12.63,25.63-49.17,20.91-55.28-6.89-.04-.2-.11-.4-.24-.55-.43-.54-1.08-.72-1.84-.76-7.29.43-14.77-1.31-20.49-6.1,0,0-.01,0-.02-.01-1.06-.63-2.41,0-2.47,1.23-.61,12.63-.33,23.57-.18,36.22s10.41,26.21,22.99,27.03c1.25.15,2.22-.37,2.48-1.7,8.11-33.08,54.11-29.65,57.79,4.14,1.2,17.3-14.66,32.64-31.85,30.93-12.42-1.1-23.31-10.88-25.89-23.1-.21-1.05-.98-1.78-2.06-1.83-19.33-.73-32.03-16.21-32.03-35.45,0-.04,0-3.67,0-3.71-.06-17.49-.02-33.52-.02-50.98.27-2.06-1.33-2.74-3.05-3.06C10.77,76.56-2.44,56.23.38,36.18,3.55,14.18,24.38-2.44,46.62.3ZM41.85,75.27c44.21-2.12,44.37-64.72-.02-66.93-.08,0-.17,0-.25,0-3.69.33-7.43.81-10.96,1.98C-4.29,23.25,4.48,74.43,41.68,75.27c.05,0,.11,0,.17,0ZM75.05,171.2c-.09,13.85,14.54,24.2,27.55,19.6,17.62-6.27,19.43-30.16,2.64-38.57-13.49-6.81-30.67,3.69-30.19,18.97ZM95.82,125.2c16.03.11,25.96-16.9,18.54-30.94-9.48-16.62-34.24-13.51-38.65,5.26-3.3,12.67,7.01,25.63,20.11,25.68ZM171.09,125.19c14.62.2,24.97-15.63,19.18-28.94-6.98-16.77-30.91-17.13-38.28-.53-6.29,13.76,3.91,29.61,19.1,29.47Z" style="fill: #228afe; stroke-width: 0px;"/>
|
||||
<path d="M167.78,199.97c-12.35-1.36-23-11.04-25.4-23.25-.2-1.05-.9-1.59-1.92-1.59-1.75-.08-3.65.24-5.12-.7-1.86-1.06-2.38-3.51-1.36-5.35,1.26-2.51,4.42-1.98,6.72-2.25,1.71-.19,1.68-2.06,2.04-3.37.67-2.29,1.52-4.67,2.84-6.84,10.46-18.3,36.75-19.95,48.97-2.66,15.1,20.27-1.86,48.47-26.61,46.02l-.16-.03ZM170.33,150.06c-17.86.92-26.76,21.77-14.72,35.12,9.48,9.89,25.18,8.64,32.89-2.69,9.06-14.11-1.07-32.64-17.99-32.43h-.18Z" style="fill: #79b9fe; stroke-width: 0px;"/>
|
||||
<path d="M33.52,20.07c1.33.07,2.9.44,4.08,1.22,5.34,3.05,10.44,6.45,15.62,9.75,2.96,2.15,6.82,3.53,8.76,6.78,1.35,2.66,1.34,6.21-.33,8.69-3.01,3.94-7.92,5.77-11.91,8.56-3.01,1.8-6.09,3.62-8.95,5.47-2,1.19-4.26,2.93-6.62,2.9-3.05.04-6.36-1.31-7.78-4-1.18-2.06-1.35-4.27-1.24-6.57,0-3.35,0-6.7,0-10.05,0-4.56,0-9.12,0-13.67-.4-4.71,3.69-8.75,8.22-9.07h.15ZM54.58,42.18c-6.35-5-13.46-9.01-20.07-13.33-.28-.17-.83-.49-1.02-.22-.48,8.53-.04,17.15-.16,25.79.04.62.33.8.89.52,6.79-4.13,13.78-8.4,20.36-12.66v-.09Z" style="fill: #228afe; stroke-width: 0px;"/>
|
||||
<path d="M108.23,100.28c-4.18,4.75-8.97,9.06-13.33,13.56-2.84,3.36-6.28.73-8.56-1.87-2.21-2.49-6.33-4.87-4.58-8.69.72-2.09,4.24-3.27,6.04-1.56,1.12,1,2.06,2.04,3.1,2.97.21.13.46.27.71.24.44-.04.8-.42,1.13-.73,2.63-2.6,5.29-5.23,7.87-7.91,1.01-1.05,2.4-1.92,3.86-2.01,2.98.03,4.95,3.08,3.84,5.82l-.08.17Z" style="fill: #228afe; stroke-width: 0px;"/>
|
||||
<path d="M165.95,115.32c-3.16-.96-4.95-4-7.45-6.2-.66-.71-1.43-1.39-1.85-2.28-.71-2.11-.09-4.52,2.07-5.54,2.51-1.22,4.14.35,5.81,2.09.76.65,1.59,1.81,2.35,1.5,3.09-2.55,5.82-5.72,8.72-8.56,1.5-1.51,3.64-2.72,5.72-1.63,1.55.67,1.99,1.84,2.36,3.2.29,1.28-.44,2.53-1.3,3.43-4.22,4.25-8.49,8.52-12.73,12.76-.9.97-2.21,1.52-3.53,1.26l-.18-.04Z" style="fill: #228afe; stroke-width: 0px;"/>
|
||||
<circle cx="87.78" cy="170.74" r="5" style="fill: #79b9fe; stroke-width: 0px;"/>
|
||||
<circle cx="104.28" cy="170.74" r="5" style="fill: #79b9fe; stroke-width: 0px;"/>
|
||||
</g>`,
|
||||
200
|
||||
),
|
||||
'gh:github': createIcon(
|
||||
`<g>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"
|
||||
fill="#24292f" />
|
||||
</g>`,
|
||||
98
|
||||
),
|
||||
};
|
||||
|
||||
export default githubIcons;
|
@@ -1,32 +0,0 @@
|
||||
import type { IconLibrary } from '../svgRegister.js';
|
||||
import database from './default/database.js';
|
||||
import server from './default/server.js';
|
||||
import disk from './default/disk.js';
|
||||
import internet from './default/internet.js';
|
||||
import cloud from './default/cloud.js';
|
||||
import unknown from './default/unknown.js';
|
||||
import blank from './default/blank.js';
|
||||
|
||||
/** Creates a resolver to the path to lazy-load included icon packs */
|
||||
const getIconNamespaces = (basePath: string) => ({
|
||||
'aws:common': `${basePath}/aws/awsCommon.js`,
|
||||
'aws:full': `${basePath}/aws/awsFull.js`,
|
||||
github: `${basePath}/github/github.js`,
|
||||
'digital-ocean': `${basePath}/digital-ocean/digitalOcean.js`,
|
||||
});
|
||||
|
||||
type IconNamespaceKeys = keyof ReturnType<typeof getIconNamespaces>;
|
||||
|
||||
const defaultIconLibrary: IconLibrary = {
|
||||
database: database,
|
||||
server: server,
|
||||
disk: disk,
|
||||
internet: internet,
|
||||
cloud: cloud,
|
||||
unknown: unknown,
|
||||
blank: blank,
|
||||
};
|
||||
|
||||
export default defaultIconLibrary;
|
||||
export { getIconNamespaces };
|
||||
export type { IconNamespaceKeys };
|
@@ -227,11 +227,6 @@ properties:
|
||||
fall back to legacy rendering for KaTeX.
|
||||
type: boolean
|
||||
default: false
|
||||
iconLibraries:
|
||||
description: |
|
||||
This option specifies an object contianing a mappig of SVG icon names to a resolver that returns the svg code.
|
||||
For supported diagrams (i.e., Architecture), their syntax allows refering to key names in this object to display the corresponding SVG icon in the rendered diagram.
|
||||
tsType: Array<import('./rendering-util/svgRegister.js').IconLibrary | import('./rendering-util/svg/index.js').IconNamespaceKeys>
|
||||
forceLegacyMathML:
|
||||
description: |
|
||||
This option forces Mermaid to rely on KaTeX's own stylesheet for rendering MathML. Due to differences between OS
|
||||
|
Reference in New Issue
Block a user