mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-10-09 00:59:37 +02:00
Compare commits
8 Commits
renovate/m
...
mindmap-no
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9fdd34c55c | ||
![]() |
81a43e3d7c | ||
![]() |
9a4dc563ed | ||
![]() |
9266ea2673 | ||
![]() |
b48b2a60f5 | ||
![]() |
f1e64cd175 | ||
![]() |
132b028f94 | ||
![]() |
39d9c0212a |
@@ -6,6 +6,14 @@
|
||||
href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css"
|
||||
/>
|
||||
<link
|
||||
href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<style>
|
||||
svg:not(svg svg) {
|
||||
border: 2px solid darkred;
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
# Interface: LayoutData
|
||||
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:168](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L168)
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:169](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L169)
|
||||
|
||||
## Indexable
|
||||
|
||||
@@ -22,7 +22,7 @@ Defined in: [packages/mermaid/src/rendering-util/types.ts:168](https://github.co
|
||||
|
||||
> **config**: [`MermaidConfig`](MermaidConfig.md)
|
||||
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:171](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L171)
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:172](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L172)
|
||||
|
||||
---
|
||||
|
||||
@@ -30,7 +30,7 @@ Defined in: [packages/mermaid/src/rendering-util/types.ts:171](https://github.co
|
||||
|
||||
> **edges**: `Edge`\[]
|
||||
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:170](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L170)
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:171](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L171)
|
||||
|
||||
---
|
||||
|
||||
@@ -38,4 +38,4 @@ Defined in: [packages/mermaid/src/rendering-util/types.ts:170](https://github.co
|
||||
|
||||
> **nodes**: `Node`\[]
|
||||
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:169](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L169)
|
||||
Defined in: [packages/mermaid/src/rendering-util/types.ts:170](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/rendering-util/types.ts#L170)
|
||||
|
12
package.json
12
package.json
@@ -64,10 +64,10 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@applitools/eyes-cypress": "^3.55.2",
|
||||
"@argos-ci/cypress": "^6.1.3",
|
||||
"@argos-ci/cypress": "^6.1.1",
|
||||
"@changesets/changelog-github": "^0.5.1",
|
||||
"@changesets/cli": "^2.29.7",
|
||||
"@cspell/eslint-plugin": "^9.2.1",
|
||||
"@cspell/eslint-plugin": "^8.19.4",
|
||||
"@cypress/code-coverage": "^3.14.6",
|
||||
"@eslint/js": "^9.26.0",
|
||||
"@rollup/plugin-typescript": "^12.1.4",
|
||||
@@ -95,16 +95,16 @@
|
||||
"esbuild": "^0.25.10",
|
||||
"eslint": "^9.26.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-cypress": "^5.2.0",
|
||||
"eslint-plugin-cypress": "^4.3.0",
|
||||
"eslint-plugin-html": "^8.1.3",
|
||||
"eslint-plugin-jest": "^29.0.1",
|
||||
"eslint-plugin-jsdoc": "^61.0.1",
|
||||
"eslint-plugin-jest": "^28.14.0",
|
||||
"eslint-plugin-jsdoc": "^50.8.0",
|
||||
"eslint-plugin-json": "^4.0.1",
|
||||
"eslint-plugin-lodash": "^8.0.0",
|
||||
"eslint-plugin-markdown": "^5.1.0",
|
||||
"eslint-plugin-no-only-tests": "^3.3.0",
|
||||
"eslint-plugin-tsdoc": "^0.4.0",
|
||||
"eslint-plugin-unicorn": "^61.0.2",
|
||||
"eslint-plugin-unicorn": "^59.0.1",
|
||||
"express": "^5.1.0",
|
||||
"globals": "^16.4.0",
|
||||
"globby": "^14.1.0",
|
||||
|
222
packages/mermaid/src/diagrams/mindmap/mindmapIconHelper.ts
Normal file
222
packages/mermaid/src/diagrams/mindmap/mindmapIconHelper.ts
Normal file
@@ -0,0 +1,222 @@
|
||||
import { log } from '../../logger.js';
|
||||
import type { D3Selection } from '../../types.js';
|
||||
import type { Node } from '../../rendering-util/types.js';
|
||||
import { getIconSVG, isIconAvailable } from '../../rendering-util/icons.js';
|
||||
|
||||
export interface MindmapIconConfig {
|
||||
iconSize: number;
|
||||
iconPadding: number;
|
||||
shapeType: 'circle' | 'rect' | 'rounded' | 'bang' | 'cloud' | 'hexagon' | 'default';
|
||||
}
|
||||
|
||||
export interface MindmapDimensions {
|
||||
width: number;
|
||||
height: number;
|
||||
labelOffset: { x: number; y: number };
|
||||
}
|
||||
|
||||
/**
|
||||
* Get icon configuration for different mindmap shape types
|
||||
*/
|
||||
export function getMindmapIconConfig(shapeType: string): MindmapIconConfig {
|
||||
const baseConfig = {
|
||||
iconSize: 30,
|
||||
iconPadding: 15,
|
||||
shapeType: shapeType as MindmapIconConfig['shapeType'],
|
||||
};
|
||||
|
||||
switch (shapeType) {
|
||||
case 'bang':
|
||||
return { ...baseConfig, iconPadding: 1 };
|
||||
case 'rect':
|
||||
case 'default':
|
||||
return { ...baseConfig, iconPadding: 10 };
|
||||
default:
|
||||
return baseConfig;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate dimensions and label positioning for mindmap nodes with icons
|
||||
*/
|
||||
export function calculateMindmapDimensions(
|
||||
node: Node,
|
||||
bbox: any,
|
||||
baseWidth: number,
|
||||
baseHeight: number,
|
||||
basePadding: number,
|
||||
config: MindmapIconConfig
|
||||
): MindmapDimensions {
|
||||
const hasIcon = Boolean(node.icon);
|
||||
|
||||
if (!hasIcon) {
|
||||
return {
|
||||
width: baseWidth,
|
||||
height: baseHeight,
|
||||
labelOffset: { x: -bbox.width / 2, y: -bbox.height / 2 },
|
||||
};
|
||||
}
|
||||
|
||||
const { iconSize, iconPadding, shapeType } = config;
|
||||
let width = baseWidth;
|
||||
let height = baseHeight;
|
||||
let labelXOffset = -bbox.width / 2;
|
||||
const labelYOffset = -bbox.height / 2;
|
||||
|
||||
switch (shapeType) {
|
||||
case 'circle': {
|
||||
const totalWidthNeeded = bbox.width + iconSize + iconPadding * 2;
|
||||
const minRadiusWithIcon = totalWidthNeeded / 2 + basePadding;
|
||||
const radius = Math.max(baseWidth / 2, minRadiusWithIcon);
|
||||
width = radius * 2;
|
||||
height = radius * 2;
|
||||
labelXOffset = -radius + iconSize + iconPadding;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'rect':
|
||||
case 'rounded':
|
||||
case 'default': {
|
||||
const minWidthWithIcon = bbox.width + iconSize + iconPadding * 2 + basePadding * 2;
|
||||
width = Math.max(baseWidth, minWidthWithIcon);
|
||||
height = Math.max(baseHeight, iconSize + basePadding * 2);
|
||||
|
||||
const availableTextSpace = width - iconSize - iconPadding * 2;
|
||||
labelXOffset = -width / 2 + iconSize + iconPadding + availableTextSpace / 2 - bbox.width / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'bang':
|
||||
case 'cloud': {
|
||||
const minWidthWithIcon = bbox.width + iconSize + iconPadding * 2 + basePadding;
|
||||
width = Math.max(baseWidth, minWidthWithIcon);
|
||||
height = Math.max(baseHeight, iconSize + basePadding);
|
||||
|
||||
const availableTextSpace = width - iconSize - iconPadding * 2;
|
||||
labelXOffset = -width / 2 + iconSize + iconPadding + availableTextSpace / 2 - bbox.width / 2;
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
const minWidthWithIcon = bbox.width + iconSize + iconPadding * 2 + basePadding * 2;
|
||||
width = Math.max(baseWidth, minWidthWithIcon);
|
||||
height = Math.max(baseHeight, iconSize + basePadding * 2);
|
||||
|
||||
const availableTextSpace = width - iconSize - iconPadding * 2;
|
||||
labelXOffset = -width / 2 + iconSize + iconPadding + availableTextSpace / 2 - bbox.width / 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
width,
|
||||
height,
|
||||
labelOffset: { x: labelXOffset, y: labelYOffset },
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert mindmap icon into the shape SVG element
|
||||
*/
|
||||
export async function insertMindmapIcon(
|
||||
parentElement: D3Selection<SVGGraphicsElement>,
|
||||
node: Node,
|
||||
config: MindmapIconConfig
|
||||
): Promise<void> {
|
||||
if (!node.icon) {
|
||||
return;
|
||||
}
|
||||
|
||||
const { iconSize, iconPadding, shapeType } = config;
|
||||
const section = node.section ?? 0;
|
||||
|
||||
let iconName = node.icon;
|
||||
const isCssFormat = iconName.includes(' ');
|
||||
|
||||
if (isCssFormat) {
|
||||
iconName = iconName.replace(' ', ':');
|
||||
}
|
||||
|
||||
try {
|
||||
if (await isIconAvailable(iconName)) {
|
||||
const iconSvg = await getIconSVG(
|
||||
iconName,
|
||||
{
|
||||
height: iconSize,
|
||||
width: iconSize,
|
||||
},
|
||||
{ class: 'label-icon' }
|
||||
);
|
||||
|
||||
const iconElem = parentElement.append('g');
|
||||
iconElem.html(`<g>${iconSvg}</g>`);
|
||||
|
||||
let iconX = 0;
|
||||
let iconY = 0;
|
||||
|
||||
switch (shapeType) {
|
||||
case 'circle': {
|
||||
const nodeWidth = node.width || 100;
|
||||
const radius = nodeWidth / 2;
|
||||
iconX = -radius + iconSize / 2 + iconPadding;
|
||||
iconY = 0;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
const nodeWidth = node.width || 100;
|
||||
iconX = -nodeWidth / 2 + iconSize / 2 + iconPadding;
|
||||
iconY = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
iconElem.attr('transform', `translate(${iconX}, ${iconY})`);
|
||||
iconElem.attr('style', 'color: currentColor;');
|
||||
return;
|
||||
}
|
||||
} catch (error) {
|
||||
log.debug('SVG icon rendering failed, falling back to CSS:', error);
|
||||
}
|
||||
|
||||
// Fallback to CSS approach (original mindmap behavior)
|
||||
const iconClass = isCssFormat ? node.icon : node.icon.replace(':', ' ');
|
||||
|
||||
let iconX = 0;
|
||||
const iconY = -iconSize / 2;
|
||||
|
||||
switch (shapeType) {
|
||||
case 'circle': {
|
||||
const nodeWidth = node.width || 100;
|
||||
const radius = nodeWidth / 2;
|
||||
iconX = -radius + iconPadding;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
const nodeWidth = node.width || 100;
|
||||
iconX = -nodeWidth / 2 + iconPadding;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const icon = parentElement
|
||||
.append('foreignObject')
|
||||
.attr('height', `${iconSize}px`)
|
||||
.attr('width', `${iconSize}px`)
|
||||
.attr('x', iconX)
|
||||
.attr('y', iconY)
|
||||
.attr(
|
||||
'style',
|
||||
'text-align: center; display: flex; align-items: center; justify-content: center;'
|
||||
);
|
||||
|
||||
icon
|
||||
.append('div')
|
||||
.attr('class', 'icon-container')
|
||||
.attr(
|
||||
'style',
|
||||
'width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;'
|
||||
)
|
||||
.append('i')
|
||||
.attr('class', `node-icon-${section} ${iconClass}`)
|
||||
.attr('style', `font-size: ${iconSize}px;`);
|
||||
}
|
@@ -7,6 +7,7 @@ import type { LayoutData } from '../../rendering-util/types.js';
|
||||
import type { FilledMindMapNode } from './mindmapTypes.js';
|
||||
import defaultConfig from '../../defaultConfig.js';
|
||||
import type { MindmapDB } from './mindmapDb.js';
|
||||
import { getMindmapIconConfig, insertMindmapIcon } from './mindmapIconHelper.js';
|
||||
|
||||
/**
|
||||
* Update the layout data with actual node dimensions after drawing
|
||||
@@ -71,6 +72,28 @@ export const draw: DrawDefinition = async (text, id, _version, diagObj) => {
|
||||
|
||||
// Use the unified rendering system
|
||||
await render(data4Layout, svg);
|
||||
const genericShapes = ['hexagon', 'rect', 'rounded', 'squareRect'];
|
||||
const nodesWithIcons = data4Layout.nodes.filter(
|
||||
(node) => node.icon && genericShapes.includes(node.shape || '')
|
||||
);
|
||||
|
||||
if (nodesWithIcons.length > 0) {
|
||||
for (const node of nodesWithIcons) {
|
||||
const nodeId = node.domId || node.id;
|
||||
const nodeElement = svg.select(`g[id="${nodeId}"]`);
|
||||
|
||||
if (!nodeElement.empty()) {
|
||||
try {
|
||||
const iconConfig = getMindmapIconConfig(node.shape || 'default');
|
||||
await insertMindmapIcon(nodeElement, node, iconConfig);
|
||||
} catch (error) {
|
||||
log.warn(`Failed to add icon to ${nodeId}:`, error);
|
||||
}
|
||||
} else {
|
||||
log.warn(`Could not find DOM element for node ${nodeId}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Setup the view box and size of the svg element using config from data4Layout
|
||||
setupViewPortForSVG(
|
||||
|
@@ -7,6 +7,11 @@ import rough from 'roughjs';
|
||||
import type { D3Selection } from '../../../types.js';
|
||||
import { handleUndefinedAttr } from '../../../utils.js';
|
||||
import type { Bounds, Point } from '../../../types.js';
|
||||
import {
|
||||
calculateMindmapDimensions,
|
||||
getMindmapIconConfig,
|
||||
insertMindmapIcon,
|
||||
} from '../../../diagrams/mindmap/mindmapIconHelper.js';
|
||||
|
||||
export async function bang<T extends SVGGraphicsElement>(parent: D3Selection<T>, node: Node) {
|
||||
const { labelStyles, nodeStyles } = styles2String(node);
|
||||
@@ -17,19 +22,33 @@ export async function bang<T extends SVGGraphicsElement>(parent: D3Selection<T>,
|
||||
getNodeClasses(node)
|
||||
);
|
||||
|
||||
const w = bbox.width + 10 * halfPadding;
|
||||
const h = bbox.height + 8 * halfPadding;
|
||||
const r = 0.15 * w;
|
||||
const { cssStyles } = node;
|
||||
const baseWidth = bbox.width + 10 * halfPadding;
|
||||
const baseHeight = bbox.height + 8 * halfPadding;
|
||||
|
||||
const iconConfig = getMindmapIconConfig('bang');
|
||||
const dimensions = calculateMindmapDimensions(
|
||||
node,
|
||||
bbox,
|
||||
baseWidth,
|
||||
baseHeight,
|
||||
halfPadding,
|
||||
iconConfig
|
||||
);
|
||||
|
||||
const w = dimensions.width;
|
||||
const h = dimensions.height;
|
||||
|
||||
node.width = w;
|
||||
node.height = h;
|
||||
|
||||
const minWidth = bbox.width + 20;
|
||||
const minHeight = bbox.height + 20;
|
||||
const effectiveWidth = Math.max(w, minWidth);
|
||||
const effectiveHeight = Math.max(h, minHeight);
|
||||
|
||||
label.attr('transform', `translate(${-bbox.width / 2}, ${-bbox.height / 2})`);
|
||||
label.attr('transform', `translate(${dimensions.labelOffset.x}, ${dimensions.labelOffset.y})`);
|
||||
|
||||
let bangElem;
|
||||
const r = 0.15 * effectiveWidth;
|
||||
const path = `M0 0
|
||||
a${r},${r} 1 0,0 ${effectiveWidth * 0.25},${-1 * effectiveHeight * 0.1}
|
||||
a${r},${r} 1 0,0 ${effectiveWidth * 0.25},${0}
|
||||
@@ -50,13 +69,16 @@ export async function bang<T extends SVGGraphicsElement>(parent: D3Selection<T>,
|
||||
a${r},${r} 1 0,0 ${effectiveWidth * 0.1},${-1 * effectiveHeight * 0.33}
|
||||
H0 V0 Z`;
|
||||
|
||||
let bangElem;
|
||||
if (node.look === 'handDrawn') {
|
||||
// @ts-expect-error -- Passing a D3.Selection seems to work for some reason
|
||||
const rc = rough.svg(shapeSvg);
|
||||
const options = userNodeOverrides(node, {});
|
||||
const roughNode = rc.path(path, options);
|
||||
bangElem = shapeSvg.insert(() => roughNode, ':first-child');
|
||||
bangElem.attr('class', 'basic label-container').attr('style', handleUndefinedAttr(cssStyles));
|
||||
bangElem
|
||||
.attr('class', 'basic label-container')
|
||||
.attr('style', handleUndefinedAttr(node.cssStyles));
|
||||
} else {
|
||||
bangElem = shapeSvg
|
||||
.insert('path', ':first-child')
|
||||
@@ -68,6 +90,10 @@ export async function bang<T extends SVGGraphicsElement>(parent: D3Selection<T>,
|
||||
// Translate the path (center the shape)
|
||||
bangElem.attr('transform', `translate(${-effectiveWidth / 2}, ${-effectiveHeight / 2})`);
|
||||
|
||||
if (node.icon) {
|
||||
await insertMindmapIcon(shapeSvg, node, iconConfig);
|
||||
}
|
||||
|
||||
updateNodeBounds(node, bangElem);
|
||||
node.calcIntersect = function (bounds: Bounds, point: Point) {
|
||||
return intersect.rect(bounds, point);
|
||||
|
@@ -14,9 +14,25 @@ export async function circle<T extends SVGGraphicsElement>(
|
||||
) {
|
||||
const { labelStyles, nodeStyles } = styles2String(node);
|
||||
node.labelStyle = labelStyles;
|
||||
const { shapeSvg, bbox, halfPadding } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
|
||||
const { shapeSvg, bbox, halfPadding, label } = await labelHelper(
|
||||
parent,
|
||||
node,
|
||||
getNodeClasses(node)
|
||||
);
|
||||
|
||||
const padding = options?.padding ?? halfPadding;
|
||||
|
||||
const radius = bbox.width / 2 + padding;
|
||||
|
||||
node.width = radius * 2;
|
||||
node.height = radius * 2;
|
||||
|
||||
const labelXOffset = -bbox.width / 2;
|
||||
const labelYOffset = -bbox.height / 2;
|
||||
if (node.icon) {
|
||||
label.attr('transform', `translate(${labelXOffset}, ${labelYOffset})`);
|
||||
}
|
||||
let circleElem;
|
||||
const { cssStyles } = node;
|
||||
|
||||
|
@@ -6,6 +6,11 @@ import type { Node } from '../../types.js';
|
||||
import intersect from '../intersect/index.js';
|
||||
import { styles2String, userNodeOverrides } from './handDrawnShapeStyles.js';
|
||||
import { getNodeClasses, labelHelper, updateNodeBounds } from './util.js';
|
||||
import {
|
||||
getMindmapIconConfig,
|
||||
calculateMindmapDimensions,
|
||||
insertMindmapIcon,
|
||||
} from '../../../diagrams/mindmap/mindmapIconHelper.js';
|
||||
|
||||
export async function cloud<T extends SVGGraphicsElement>(parent: D3Selection<T>, node: Node) {
|
||||
const { labelStyles, nodeStyles } = styles2String(node);
|
||||
@@ -17,8 +22,26 @@ export async function cloud<T extends SVGGraphicsElement>(parent: D3Selection<T>
|
||||
getNodeClasses(node)
|
||||
);
|
||||
|
||||
const w = bbox.width + 2 * halfPadding;
|
||||
const h = bbox.height + 2 * halfPadding;
|
||||
const baseWidth = bbox.width + 2 * halfPadding;
|
||||
const baseHeight = bbox.height + 2 * halfPadding;
|
||||
|
||||
const iconConfig = getMindmapIconConfig('cloud');
|
||||
const dimensions = calculateMindmapDimensions(
|
||||
node,
|
||||
bbox,
|
||||
baseWidth,
|
||||
baseHeight,
|
||||
halfPadding,
|
||||
iconConfig
|
||||
);
|
||||
|
||||
const w = dimensions.width;
|
||||
const h = dimensions.height;
|
||||
|
||||
node.width = w;
|
||||
node.height = h;
|
||||
|
||||
label.attr('transform', `translate(${dimensions.labelOffset.x}, ${dimensions.labelOffset.y})`);
|
||||
|
||||
// Cloud radii
|
||||
const r1 = 0.15 * w;
|
||||
@@ -61,11 +84,13 @@ export async function cloud<T extends SVGGraphicsElement>(parent: D3Selection<T>
|
||||
.attr('d', path);
|
||||
}
|
||||
|
||||
label.attr('transform', `translate(${-bbox.width / 2}, ${-bbox.height / 2})`);
|
||||
|
||||
// Center the shape
|
||||
cloudElem.attr('transform', `translate(${-w / 2}, ${-h / 2})`);
|
||||
|
||||
if (node.icon) {
|
||||
await insertMindmapIcon(shapeSvg, node, iconConfig);
|
||||
}
|
||||
|
||||
updateNodeBounds(node, cloudElem);
|
||||
|
||||
node.calcIntersect = function (bounds: Bounds, point: Point) {
|
||||
|
@@ -3,6 +3,11 @@ import type { Node } from '../../types.js';
|
||||
import intersect from '../intersect/index.js';
|
||||
import { styles2String } from './handDrawnShapeStyles.js';
|
||||
import { getNodeClasses, labelHelper, updateNodeBounds } from './util.js';
|
||||
import {
|
||||
getMindmapIconConfig,
|
||||
calculateMindmapDimensions,
|
||||
insertMindmapIcon,
|
||||
} from '../../../diagrams/mindmap/mindmapIconHelper.js';
|
||||
|
||||
export async function defaultMindmapNode<T extends SVGGraphicsElement>(
|
||||
parent: D3Selection<T>,
|
||||
@@ -17,22 +22,38 @@ export async function defaultMindmapNode<T extends SVGGraphicsElement>(
|
||||
getNodeClasses(node)
|
||||
);
|
||||
|
||||
const w = bbox.width + 8 * halfPadding;
|
||||
const h = bbox.height + 2 * halfPadding;
|
||||
const rd = 5;
|
||||
const baseWidth = bbox.width + 8 * halfPadding;
|
||||
const baseHeight = bbox.height + 2 * halfPadding;
|
||||
|
||||
const rectPath = `
|
||||
M${-w / 2} ${h / 2 - rd}
|
||||
v${-h + 2 * rd}
|
||||
q0,-${rd} ${rd},-${rd}
|
||||
h${w - 2 * rd}
|
||||
q${rd},0 ${rd},${rd}
|
||||
v${h - 2 * rd}
|
||||
q0,${rd} -${rd},${rd}
|
||||
h${-w + 2 * rd}
|
||||
q-${rd},0 -${rd},-${rd}
|
||||
Z
|
||||
`;
|
||||
const iconConfig = getMindmapIconConfig('default');
|
||||
const dimensions = calculateMindmapDimensions(
|
||||
node,
|
||||
bbox,
|
||||
baseWidth,
|
||||
baseHeight,
|
||||
halfPadding,
|
||||
iconConfig
|
||||
);
|
||||
|
||||
const w = dimensions.width;
|
||||
const h = dimensions.height;
|
||||
|
||||
node.width = w;
|
||||
node.height = h;
|
||||
|
||||
label.attr('transform', `translate(${dimensions.labelOffset.x}, ${dimensions.labelOffset.y})`);
|
||||
|
||||
const RD = 5;
|
||||
const rectPath = `M${-w / 2} ${h / 2 - RD}
|
||||
v${-h + 2 * RD}
|
||||
q0,-${RD} ${RD},-${RD}
|
||||
h${w - 2 * RD}
|
||||
q${RD},0 ${RD},${RD}
|
||||
v${h - 2 * RD}
|
||||
q0,${RD} -${RD},${RD}
|
||||
h${-w + 2 * RD}
|
||||
q-${RD},0 -${RD},-${RD}
|
||||
Z`;
|
||||
|
||||
const bg = shapeSvg
|
||||
.append('path')
|
||||
@@ -49,9 +70,12 @@ export async function defaultMindmapNode<T extends SVGGraphicsElement>(
|
||||
.attr('x2', w / 2)
|
||||
.attr('y2', h / 2);
|
||||
|
||||
label.attr('transform', `translate(${-bbox.width / 2}, ${-bbox.height / 2})`);
|
||||
shapeSvg.append(() => label.node());
|
||||
|
||||
if (node.icon) {
|
||||
await insertMindmapIcon(shapeSvg, node, iconConfig);
|
||||
}
|
||||
|
||||
updateNodeBounds(node, bg);
|
||||
node.calcIntersect = function (bounds: Bounds, point: Point) {
|
||||
return intersect.rect(bounds, point);
|
||||
|
@@ -15,11 +15,21 @@ export async function drawRect<T extends SVGGraphicsElement>(
|
||||
) {
|
||||
const { labelStyles, nodeStyles } = styles2String(node);
|
||||
node.labelStyle = labelStyles;
|
||||
// console.log('IPI labelStyles:', labelStyles);
|
||||
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
|
||||
const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
|
||||
const totalWidth = Math.max(bbox.width + options.labelPaddingX * 2, node?.width || 0);
|
||||
const totalHeight = Math.max(bbox.height + options.labelPaddingY * 2, node?.height || 0);
|
||||
|
||||
node.width = totalWidth;
|
||||
node.height = totalHeight;
|
||||
|
||||
const labelXOffset = -bbox.width / 2;
|
||||
|
||||
const labelYOffset = -bbox.height / 2;
|
||||
if (node.icon) {
|
||||
label.attr('transform', `translate(${labelXOffset}, ${labelYOffset})`);
|
||||
}
|
||||
const x = -totalWidth / 2;
|
||||
const y = -totalHeight / 2;
|
||||
|
||||
|
@@ -26,10 +26,22 @@ export const createHexagonPathD = (
|
||||
export async function hexagon<T extends SVGGraphicsElement>(parent: D3Selection<T>, node: Node) {
|
||||
const { labelStyles, nodeStyles } = styles2String(node);
|
||||
node.labelStyle = labelStyles;
|
||||
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
|
||||
const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
|
||||
const h = bbox.height + (node.padding ?? 0);
|
||||
const w = bbox.width + (node.padding ?? 0) * 2.5;
|
||||
|
||||
node.width = w;
|
||||
node.height = h;
|
||||
|
||||
const labelXOffset = -bbox.width / 2;
|
||||
|
||||
const labelYOffset = -bbox.height / 2;
|
||||
|
||||
if (node.icon) {
|
||||
label.attr('transform', `translate(${labelXOffset}, ${labelYOffset})`);
|
||||
}
|
||||
const { cssStyles } = node;
|
||||
// @ts-expect-error -- Passing a D3.Selection seems to work for some reason
|
||||
const rc = rough.svg(shapeSvg);
|
||||
@@ -74,9 +86,6 @@ export async function hexagon<T extends SVGGraphicsElement>(parent: D3Selection<
|
||||
polygon.selectChildren('path').attr('style', nodeStyles);
|
||||
}
|
||||
|
||||
node.width = w;
|
||||
node.height = h;
|
||||
|
||||
updateNodeBounds(node, polygon);
|
||||
|
||||
node.intersect = function (point) {
|
||||
|
@@ -1,13 +1,57 @@
|
||||
import { circle } from './circle.js';
|
||||
import type { Node, MindmapOptions } from '../../types.js';
|
||||
import type { Node } from '../../types.js';
|
||||
import type { D3Selection } from '../../../types.js';
|
||||
import { getNodeClasses, labelHelper, updateNodeBounds } from './util.js';
|
||||
import { styles2String } from './handDrawnShapeStyles.js';
|
||||
import intersect from '../intersect/index.js';
|
||||
import {
|
||||
getMindmapIconConfig,
|
||||
calculateMindmapDimensions,
|
||||
insertMindmapIcon,
|
||||
} from '../../../diagrams/mindmap/mindmapIconHelper.js';
|
||||
|
||||
export async function mindmapCircle<T extends SVGGraphicsElement>(
|
||||
parent: D3Selection<T>,
|
||||
node: Node
|
||||
) {
|
||||
const options = {
|
||||
padding: node.padding ?? 0,
|
||||
} as MindmapOptions;
|
||||
return circle(parent, node, options);
|
||||
const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
const halfPadding = (node.padding ?? 0) / 2;
|
||||
|
||||
const iconConfig = getMindmapIconConfig('circle');
|
||||
const baseRadius = bbox.width / 2 + halfPadding;
|
||||
const baseDiameter = baseRadius * 2;
|
||||
|
||||
const dimensions = calculateMindmapDimensions(
|
||||
node,
|
||||
bbox,
|
||||
baseDiameter,
|
||||
baseDiameter,
|
||||
halfPadding,
|
||||
iconConfig
|
||||
);
|
||||
|
||||
const radius = dimensions.width / 2;
|
||||
node.width = dimensions.width;
|
||||
node.height = dimensions.height;
|
||||
|
||||
label.attr('transform', `translate(${dimensions.labelOffset.x}, ${dimensions.labelOffset.y})`);
|
||||
|
||||
const circle = shapeSvg
|
||||
.insert('circle', ':first-child')
|
||||
.attr('r', radius)
|
||||
.attr('class', 'basic label-container')
|
||||
.attr('style', styles2String(node).nodeStyles);
|
||||
|
||||
shapeSvg.append(() => label.node());
|
||||
|
||||
if (node.icon) {
|
||||
await insertMindmapIcon(shapeSvg, node, iconConfig);
|
||||
}
|
||||
|
||||
updateNodeBounds(node, circle);
|
||||
|
||||
node.intersect = function (point) {
|
||||
return intersect.circle(node, radius, point);
|
||||
};
|
||||
|
||||
return shapeSvg;
|
||||
}
|
||||
|
@@ -2,8 +2,8 @@ import { labelHelper, updateNodeBounds, getNodeClasses, createPathFromPoints } f
|
||||
import intersect from '../intersect/index.js';
|
||||
import type { Node } from '../../types.js';
|
||||
import { styles2String, userNodeOverrides } from './handDrawnShapeStyles.js';
|
||||
import rough from 'roughjs';
|
||||
import type { D3Selection } from '../../../types.js';
|
||||
import rough from 'roughjs';
|
||||
|
||||
/**
|
||||
* Generates evenly spaced points along an elliptical arc connecting two points.
|
||||
@@ -91,13 +91,20 @@ export async function roundedRect<T extends SVGGraphicsElement>(
|
||||
) {
|
||||
const { labelStyles, nodeStyles } = styles2String(node);
|
||||
node.labelStyle = labelStyles;
|
||||
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
const { shapeSvg, bbox, label } = await labelHelper(parent, node, getNodeClasses(node));
|
||||
|
||||
const labelPaddingX = node?.padding ?? 0;
|
||||
const labelPaddingY = node?.padding ?? 0;
|
||||
|
||||
const w = (node?.width ? node?.width : bbox.width) + labelPaddingX * 2;
|
||||
const h = (node?.height ? node?.height : bbox.height) + labelPaddingY * 2;
|
||||
|
||||
const labelXOffset = -bbox.width / 2;
|
||||
|
||||
if (node.icon) {
|
||||
label.attr('transform', `translate(${labelXOffset}, ${-bbox.height / 2})`);
|
||||
}
|
||||
|
||||
const radius = node.radius || 5;
|
||||
const taper = node.taper || 5; // Taper width for the rounded corners
|
||||
const { cssStyles } = node;
|
||||
|
@@ -84,6 +84,7 @@ interface BaseNode {
|
||||
radius?: number;
|
||||
taper?: number;
|
||||
stroke?: string;
|
||||
section?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
|
430
pnpm-lock.yaml
generated
430
pnpm-lock.yaml
generated
@@ -17,8 +17,8 @@ importers:
|
||||
specifier: ^3.55.2
|
||||
version: 3.55.2(encoding@0.1.13)(typescript@5.7.3)
|
||||
'@argos-ci/cypress':
|
||||
specifier: ^6.1.3
|
||||
version: 6.1.3(cypress@14.5.4)
|
||||
specifier: ^6.1.1
|
||||
version: 6.1.1(cypress@14.5.4)
|
||||
'@changesets/changelog-github':
|
||||
specifier: ^0.5.1
|
||||
version: 0.5.1(encoding@0.1.13)
|
||||
@@ -26,8 +26,8 @@ importers:
|
||||
specifier: ^2.29.7
|
||||
version: 2.29.7(@types/node@22.18.6)
|
||||
'@cspell/eslint-plugin':
|
||||
specifier: ^9.2.1
|
||||
version: 9.2.1(eslint@9.35.0(jiti@2.5.1))
|
||||
specifier: ^8.19.4
|
||||
version: 8.19.4(eslint@9.35.0(jiti@2.5.1))
|
||||
'@cypress/code-coverage':
|
||||
specifier: ^3.14.6
|
||||
version: 3.14.6(@babel/core@7.28.4)(@babel/preset-env@7.28.3(@babel/core@7.28.4))(babel-loader@10.0.0(@babel/core@7.28.4)(webpack@5.101.3(esbuild@0.25.10)))(cypress@14.5.4)(webpack@5.101.3(esbuild@0.25.10))
|
||||
@@ -110,17 +110,17 @@ importers:
|
||||
specifier: ^10.1.8
|
||||
version: 10.1.8(eslint@9.35.0(jiti@2.5.1))
|
||||
eslint-plugin-cypress:
|
||||
specifier: ^5.2.0
|
||||
version: 5.2.0(eslint@9.35.0(jiti@2.5.1))
|
||||
specifier: ^4.3.0
|
||||
version: 4.3.0(eslint@9.35.0(jiti@2.5.1))
|
||||
eslint-plugin-html:
|
||||
specifier: ^8.1.3
|
||||
version: 8.1.3
|
||||
eslint-plugin-jest:
|
||||
specifier: ^29.0.1
|
||||
version: 29.0.1(@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(jest@30.1.3(@types/node@22.18.6))(typescript@5.7.3)
|
||||
specifier: ^28.14.0
|
||||
version: 28.14.0(@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(jest@30.1.3(@types/node@22.18.6))(typescript@5.7.3)
|
||||
eslint-plugin-jsdoc:
|
||||
specifier: ^61.0.1
|
||||
version: 61.0.1(eslint@9.35.0(jiti@2.5.1))
|
||||
specifier: ^50.8.0
|
||||
version: 50.8.0(eslint@9.35.0(jiti@2.5.1))
|
||||
eslint-plugin-json:
|
||||
specifier: ^4.0.1
|
||||
version: 4.0.1
|
||||
@@ -137,8 +137,8 @@ importers:
|
||||
specifier: ^0.4.0
|
||||
version: 0.4.0
|
||||
eslint-plugin-unicorn:
|
||||
specifier: ^61.0.2
|
||||
version: 61.0.2(eslint@9.35.0(jiti@2.5.1))
|
||||
specifier: ^59.0.1
|
||||
version: 59.0.1(eslint@9.35.0(jiti@2.5.1))
|
||||
express:
|
||||
specifier: ^5.1.0
|
||||
version: 5.1.0
|
||||
@@ -403,10 +403,10 @@ importers:
|
||||
version: 5.0.0
|
||||
vitepress:
|
||||
specifier: ^1.6.4
|
||||
version: 1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3)
|
||||
version: 1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3)
|
||||
vitepress-plugin-search:
|
||||
specifier: 1.0.4-alpha.22
|
||||
version: 1.0.4-alpha.22(flexsearch@0.8.212)(vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3))(vue@3.5.21(typescript@5.7.3))
|
||||
version: 1.0.4-alpha.22(flexsearch@0.8.212)(vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3))(vue@3.5.21(typescript@5.7.3))
|
||||
|
||||
packages/mermaid-example-diagram:
|
||||
dependencies:
|
||||
@@ -528,7 +528,7 @@ importers:
|
||||
version: 1.0.3(vite@7.1.5(@types/node@22.18.6)(jiti@2.5.1)(terser@5.44.0)(tsx@4.20.5)(yaml@2.8.1))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
||||
vitepress:
|
||||
specifier: 1.6.4
|
||||
version: 1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.9.2)
|
||||
version: 1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.9.2)
|
||||
workbox-window:
|
||||
specifier: ^7.3.0
|
||||
version: 7.3.0
|
||||
@@ -793,26 +793,26 @@ packages:
|
||||
resolution: {integrity: sha512-8mBaNNJ0zUBlb09ycc8aFTKajoqEu+E7M7kdV1IENIwuVOI3ecM6x9vr4ptWQz0LTnel7M+L3NPqAGJqoQ3AKA==}
|
||||
engines: {node: '>=12.13.0'}
|
||||
|
||||
'@argos-ci/api-client@0.12.0':
|
||||
resolution: {integrity: sha512-WfhI+StLJKIKERWQaIm7Kv1/k+YO/CYIp3djDVhZIU6mv/8yalyNXHnkRC6ofq1kPpmRvoag1KW79/C2WsB4Ag==}
|
||||
'@argos-ci/api-client@0.11.0':
|
||||
resolution: {integrity: sha512-mv7LWrJfEDjjs+CmAJaM1GIexpb3A8TwuyTUCTKgDp/SHdbU0uF8uC6lV4P/mfeGIvBYZzIRKq/frd+IETlC2g==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
'@argos-ci/browser@5.0.0':
|
||||
resolution: {integrity: sha512-SKAD7EXoLX4u50dzTIT/ABnpD284+DnBfoJM0ZrTIav2eiiVJyknNKSznF5w118lYGnYvugTXbKMnukGPzJeOA==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
'@argos-ci/core@4.2.0':
|
||||
resolution: {integrity: sha512-3RNyBZ84pYfQ8dn/Ivv5ls2x2rgqFuh8wA8e4ugggA5lx2dE7a6yghJw8cPzud+zbHrpOntl/HBM3akh2SXLkw==}
|
||||
'@argos-ci/core@4.1.5':
|
||||
resolution: {integrity: sha512-tPsbnSuHEClkdGLUU/qHTNsMe3kAPBvz0DK0nkv6Z18N0imEbzVg+ggmcTmc2x2yEm7i1V456Z2MLhFvTqXnlw==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
'@argos-ci/cypress@6.1.3':
|
||||
resolution: {integrity: sha512-JlBabUsksKXH7QT2M47dhBNHRxNwW+GQ1lvBT/mgGaFJX8P/GqLkEEmKolf1YBn28MFemQmjuK4G+z5Pjs3rLg==}
|
||||
'@argos-ci/cypress@6.1.1':
|
||||
resolution: {integrity: sha512-fs6K2o7vEiAjBtQhrB6cp7YG6beYBRI9WyVbAHRVYyhdEic36agAqQ7/q3tx8d+uf7nXjjtZuW7KGUxjBmC9MA==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
peerDependencies:
|
||||
cypress: ^12.0.0 || ^13.0.0 || ^14.0.0
|
||||
|
||||
'@argos-ci/util@3.1.1':
|
||||
resolution: {integrity: sha512-sGb9PS7yqdVVtxpxRD1Nfter3kaioC4nPPTknVmMSqo2GQKO1gdmjMJtwHY+Nf9FgiMfwpTCnk8Rrf0pjS3Sug==}
|
||||
'@argos-ci/util@3.1.0':
|
||||
resolution: {integrity: sha512-QM0IwJGm9YsRdsvTAskQab9iXpQOTOOLb+h9Yev76L2TzoLZ2tM9QO+pYNNlX9YLK5dYr/H/pBNQ1lWr130Jjw==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
'@asamuzakjp/css-color@3.2.0':
|
||||
@@ -1493,6 +1493,10 @@ packages:
|
||||
'@chevrotain/utils@11.0.3':
|
||||
resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==}
|
||||
|
||||
'@cspell/cspell-bundled-dicts@8.19.4':
|
||||
resolution: {integrity: sha512-2ZRcZP/ncJ5q953o8i+R0fb8+14PDt5UefUNMrFZZHvfTI0jukAASOQeLY+WT6ASZv6CgbPrApAdbppy9FaXYQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@cspell/cspell-bundled-dicts@9.2.1':
|
||||
resolution: {integrity: sha512-85gHoZh3rgZ/EqrHIr1/I4OLO53fWNp6JZCqCdgaT7e3sMDaOOG6HoSxCvOnVspXNIf/1ZbfTCDMx9x79Xq0AQ==}
|
||||
engines: {node: '>=20'}
|
||||
@@ -1501,18 +1505,34 @@ packages:
|
||||
resolution: {integrity: sha512-LiiIWzLP9h2etKn0ap6g2+HrgOGcFEF/hp5D8ytmSL5sMxDcV13RrmJCEMTh1axGyW0SjQEFjPnYzNpCL1JjGA==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@cspell/cspell-pipe@8.19.4':
|
||||
resolution: {integrity: sha512-GNAyk+7ZLEcL2fCMT5KKZprcdsq3L1eYy3e38/tIeXfbZS7Sd1R5FXUe6CHXphVWTItV39TvtLiDwN/2jBts9A==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@cspell/cspell-pipe@9.2.1':
|
||||
resolution: {integrity: sha512-2N1H63If5cezLqKToY/YSXon4m4REg/CVTFZr040wlHRbbQMh5EF3c7tEC/ue3iKAQR4sm52ihfqo1n4X6kz+g==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@cspell/cspell-resolver@8.19.4':
|
||||
resolution: {integrity: sha512-S8vJMYlsx0S1D60glX8H2Jbj4mD8519VjyY8lu3fnhjxfsl2bDFZvF3ZHKsLEhBE+Wh87uLqJDUJQiYmevHjDg==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@cspell/cspell-resolver@9.2.1':
|
||||
resolution: {integrity: sha512-fRPQ6GWU5eyh8LN1TZblc7t24TlGhJprdjJkfZ+HjQo+6ivdeBPT7pC7pew6vuMBQPS1oHBR36hE0ZnJqqkCeg==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@cspell/cspell-service-bus@8.19.4':
|
||||
resolution: {integrity: sha512-uhY+v8z5JiUogizXW2Ft/gQf3eWrh5P9036jN2Dm0UiwEopG/PLshHcDjRDUiPdlihvA0RovrF0wDh4ptcrjuQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@cspell/cspell-service-bus@9.2.1':
|
||||
resolution: {integrity: sha512-k4M6bqdvWbcGSbcfLD7Lf4coZVObsISDW+sm/VaWp9aZ7/uwiz1IuGUxL9WO4JIdr9CFEf7Ivmvd2txZpVOCIA==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@cspell/cspell-types@8.19.4':
|
||||
resolution: {integrity: sha512-ekMWuNlFiVGfsKhfj4nmc8JCA+1ZltwJgxiKgDuwYtR09ie340RfXFF6YRd2VTW5zN7l4F1PfaAaPklVz6utSg==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@cspell/cspell-types@9.2.1':
|
||||
resolution: {integrity: sha512-FQHgQYdTHkcpxT0u1ddLIg5Cc5ePVDcLg9+b5Wgaubmc5I0tLotgYj8c/mvStWuKsuZIs6sUopjJrE91wk6Onw==}
|
||||
engines: {node: '>=20'}
|
||||
@@ -1568,6 +1588,9 @@ packages:
|
||||
'@cspell/dict-en-gb-mit@3.1.9':
|
||||
resolution: {integrity: sha512-1lSnphnHTOxnpNLpPLg1XXv8df3hs4oL0LJ6dkQ0IqNROl8Jzl6PD55BDTlKy4YOAA76dJlePB0wyrxB+VVKbg==}
|
||||
|
||||
'@cspell/dict-en-gb@1.1.33':
|
||||
resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==}
|
||||
|
||||
'@cspell/dict-en_us@4.4.19':
|
||||
resolution: {integrity: sha512-JYYgzhGqSGuIMNY1cTlmq3zrNpehrExMHqLmLnSM2jEGFeHydlL+KLBwBYxMy4e73w+p1+o/rmAiGsMj9g3MCw==}
|
||||
|
||||
@@ -1696,24 +1719,40 @@ packages:
|
||||
'@cspell/dict-vue@3.0.5':
|
||||
resolution: {integrity: sha512-Mqutb8jbM+kIcywuPQCCaK5qQHTdaByoEO2J9LKFy3sqAdiBogNkrplqUK0HyyRFgCfbJUgjz3N85iCMcWH0JA==}
|
||||
|
||||
'@cspell/dynamic-import@8.19.4':
|
||||
resolution: {integrity: sha512-0LLghC64+SiwQS20Sa0VfFUBPVia1rNyo0bYeIDoB34AA3qwguDBVJJkthkpmaP1R2JeR/VmxmJowuARc4ZUxA==}
|
||||
engines: {node: '>=18.0'}
|
||||
|
||||
'@cspell/dynamic-import@9.2.1':
|
||||
resolution: {integrity: sha512-izYQbk7ck0ffNA1gf7Gi3PkUEjj+crbYeyNK1hxHx5A+GuR416ozs0aEyp995KI2v9HZlXscOj3SC3wrWzHZeA==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@cspell/eslint-plugin@9.2.1':
|
||||
resolution: {integrity: sha512-Fs6P3yXqL11MAcoKDiqWqKMwWuvLn5JaHvjAabnHi9suaYKv1o2RKTp6DIdAYL/KL8AvWKwJbWIChmJZrAJBow==}
|
||||
engines: {node: '>=20'}
|
||||
'@cspell/eslint-plugin@8.19.4':
|
||||
resolution: {integrity: sha512-ICXH38a0HeOcglkVUL4uE3y8jkQ1L14+tdMK+AcE1Hq/LvsA1iEXFRoEw0IGhO/yP98K8Nvj5CuN+7RNDbLYMA==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
eslint: ^7 || ^8 || ^9
|
||||
|
||||
'@cspell/filetypes@8.19.4':
|
||||
resolution: {integrity: sha512-D9hOCMyfKtKjjqQJB8F80PWsjCZhVGCGUMiDoQpcta0e+Zl8vHgzwaC0Ai4QUGBhwYEawHGiWUd7Y05u/WXiNQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@cspell/filetypes@9.2.1':
|
||||
resolution: {integrity: sha512-Dy1y1pQ+7hi2gPs+jERczVkACtYbUHcLodXDrzpipoxgOtVxMcyZuo+84WYHImfu0gtM0wU2uLObaVgMSTnytw==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@cspell/strong-weak-map@8.19.4':
|
||||
resolution: {integrity: sha512-MUfFaYD8YqVe32SQaYLI24/bNzaoyhdBIFY5pVrvMo1ZCvMl8AlfI2OcBXvcGb5aS5z7sCNCJm11UuoYbLI1zw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@cspell/strong-weak-map@9.2.1':
|
||||
resolution: {integrity: sha512-1HsQWZexvJSjDocVnbeAWjjgqWE/0op/txxzDPvDqI2sE6pY0oO4Cinj2I8z+IP+m6/E6yjPxdb23ydbQbPpJQ==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
'@cspell/url@8.19.4':
|
||||
resolution: {integrity: sha512-Pa474iBxS+lxsAL4XkETPGIq3EgMLCEb9agj3hAd2VGMTCApaiUvamR4b+uGXIPybN70piFxvzrfoxsG2uIP6A==}
|
||||
engines: {node: '>=18.0'}
|
||||
|
||||
'@cspell/url@9.2.1':
|
||||
resolution: {integrity: sha512-9EHCoGKtisPNsEdBQ28tKxKeBmiVS3D4j+AN8Yjr+Dmtu+YACKGWiMOddNZG2VejQNIdFx7FwzU00BGX68ELhA==}
|
||||
engines: {node: '>=20'}
|
||||
@@ -1810,9 +1849,9 @@ packages:
|
||||
'@emnapi/wasi-threads@1.1.0':
|
||||
resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
|
||||
|
||||
'@es-joy/jsdoccomment@0.75.0':
|
||||
resolution: {integrity: sha512-Bj+oF8reFb4b+6LUmG6ETpDsBU/28y/bAAzioyIR4VK/V6UodYBNGbtxRyGxk0aJJQqpZZ6jz82vVZWCX6Mwmg==}
|
||||
engines: {node: '>=20.11.0'}
|
||||
'@es-joy/jsdoccomment@0.50.2':
|
||||
resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@esbuild/aix-ppc64@0.21.5':
|
||||
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
|
||||
@@ -2126,6 +2165,10 @@ packages:
|
||||
resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/core@0.13.0':
|
||||
resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/core@0.15.2':
|
||||
resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@@ -2142,6 +2185,10 @@ packages:
|
||||
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/plugin-kit@0.2.8':
|
||||
resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/plugin-kit@0.3.5':
|
||||
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@@ -3237,10 +3284,6 @@ packages:
|
||||
resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/types@8.46.0':
|
||||
resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.43.0':
|
||||
resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
@@ -4238,9 +4281,6 @@ packages:
|
||||
resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
|
||||
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
|
||||
|
||||
change-case@5.4.4:
|
||||
resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==}
|
||||
|
||||
char-regex@1.0.2:
|
||||
resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -4597,10 +4637,18 @@ packages:
|
||||
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
cspell-config-lib@8.19.4:
|
||||
resolution: {integrity: sha512-LtFNZEWVrnpjiTNgEDsVN05UqhhJ1iA0HnTv4jsascPehlaUYVoyucgNbFeRs6UMaClJnqR0qT9lnPX+KO1OLg==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
cspell-config-lib@9.2.1:
|
||||
resolution: {integrity: sha512-qqhaWW+0Ilc7493lXAlXjziCyeEmQbmPMc1XSJw2EWZmzb+hDvLdFGHoX18QU67yzBtu5hgQsJDEDZKvVDTsRA==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
cspell-dictionary@8.19.4:
|
||||
resolution: {integrity: sha512-lr8uIm7Wub8ToRXO9f6f7in429P1Egm3I+Ps3ZGfWpwLTCUBnHvJdNF/kQqF7PL0Lw6acXcjVWFYT7l2Wdst2g==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
cspell-dictionary@9.2.1:
|
||||
resolution: {integrity: sha512-0hQVFySPsoJ0fONmDPwCWGSG6SGj4ERolWdx4t42fzg5zMs+VYGXpQW4BJneQ5Tfxy98Wx8kPhmh/9E8uYzLTw==}
|
||||
engines: {node: '>=20'}
|
||||
@@ -4610,23 +4658,44 @@ packages:
|
||||
engines: {node: '>=20'}
|
||||
hasBin: true
|
||||
|
||||
cspell-glob@8.19.4:
|
||||
resolution: {integrity: sha512-042uDU+RjAz882w+DXKuYxI2rrgVPfRQDYvIQvUrY1hexH4sHbne78+OMlFjjzOCEAgyjnm1ktWUCCmh08pQUw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
cspell-glob@9.2.1:
|
||||
resolution: {integrity: sha512-CrT/6ld3rXhB36yWFjrx1SrMQzwDrGOLr+wYEnrWI719/LTYWWCiMFW7H+qhsJDTsR+ku8+OAmfRNBDXvh9mnQ==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
cspell-grammar@8.19.4:
|
||||
resolution: {integrity: sha512-lzWgZYTu/L7DNOHjxuKf8H7DCXvraHMKxtFObf8bAzgT+aBmey5fW2LviXUkZ2Lb2R0qQY+TJ5VIGoEjNf55ow==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
cspell-grammar@9.2.1:
|
||||
resolution: {integrity: sha512-10RGFG7ZTQPdwyW2vJyfmC1t8813y8QYRlVZ8jRHWzer9NV8QWrGnL83F+gTPXiKR/lqiW8WHmFlXR4/YMV+JQ==}
|
||||
engines: {node: '>=20'}
|
||||
hasBin: true
|
||||
|
||||
cspell-io@8.19.4:
|
||||
resolution: {integrity: sha512-W48egJqZ2saEhPWf5ftyighvm4mztxEOi45ILsKgFikXcWFs0H0/hLwqVFeDurgELSzprr12b6dXsr67dV8amg==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
cspell-io@9.2.1:
|
||||
resolution: {integrity: sha512-v9uWXtRzB+RF/Mzg5qMzpb8/yt+1bwtTt2rZftkLDLrx5ybVvy6rhRQK05gFWHmWVtWEe0P/pIxaG2Vz92C8Ag==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
cspell-lib@8.19.4:
|
||||
resolution: {integrity: sha512-NwfdCCYtIBNQuZcoMlMmL3HSv2olXNErMi/aOTI9BBAjvCHjhgX5hbHySMZ0NFNynnN+Mlbu5kooJ5asZeB3KA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
cspell-lib@9.2.1:
|
||||
resolution: {integrity: sha512-KeB6NHcO0g1knWa7sIuDippC3gian0rC48cvO0B0B0QwhOxNxWVp8cSmkycXjk4ijBZNa++IwFjeK/iEqMdahQ==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
cspell-trie-lib@8.19.4:
|
||||
resolution: {integrity: sha512-yIPlmGSP3tT3j8Nmu+7CNpkPh/gBO2ovdnqNmZV+LNtQmVxqFd2fH7XvR1TKjQyctSH1ip0P5uIdJmzY1uhaYg==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
cspell-trie-lib@9.2.1:
|
||||
resolution: {integrity: sha512-qOtbL+/tUzGFHH0Uq2wi7sdB9iTy66QNx85P7DKeRdX9ZH53uQd7qC4nEk+/JPclx1EgXX26svxr0jTGISJhLw==}
|
||||
engines: {node: '>=20'}
|
||||
@@ -5296,8 +5365,8 @@ packages:
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
|
||||
eslint-plugin-cypress@5.2.0:
|
||||
resolution: {integrity: sha512-vuCUBQloUSILxtJrUWV39vNIQPlbg0L7cTunEAzvaUzv9LFZZym+KFLH18n9j2cZuFPdlxOqTubCvg5se0DyGw==}
|
||||
eslint-plugin-cypress@4.3.0:
|
||||
resolution: {integrity: sha512-CgS/S940MJlT8jtnWGKI0LvZQBGb/BB0QCpgBOxFMM/Z6znD+PZUwBhCTwHKN2GEr5AOny3xB92an0QfzBGooQ==}
|
||||
peerDependencies:
|
||||
eslint: '>=9'
|
||||
|
||||
@@ -5305,12 +5374,12 @@ packages:
|
||||
resolution: {integrity: sha512-cnCdO7yb/jrvgSJJAfRkGDOwLu1AOvNdw8WCD6nh/2C4RnxuI4tz6QjMEAmmSiHSeugq/fXcIO8yBpIBQrMZCg==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
|
||||
eslint-plugin-jest@29.0.1:
|
||||
resolution: {integrity: sha512-EE44T0OSMCeXhDrrdsbKAhprobKkPtJTbQz5yEktysNpHeDZTAL1SfDTNKmcFfJkY6yrQLtTKZALrD3j/Gpmiw==}
|
||||
engines: {node: ^20.12.0 || ^22.0.0 || >=24.0.0}
|
||||
eslint-plugin-jest@28.14.0:
|
||||
resolution: {integrity: sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==}
|
||||
engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/eslint-plugin': ^8.0.0
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
'@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
|
||||
jest: '*'
|
||||
peerDependenciesMeta:
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
@@ -5318,9 +5387,9 @@ packages:
|
||||
jest:
|
||||
optional: true
|
||||
|
||||
eslint-plugin-jsdoc@61.0.1:
|
||||
resolution: {integrity: sha512-J4spzu8Y43P+QD/V2HOsg+YbJmVcP6+G33fbT4pBRA5UAEuL/fU5AI75GuCCzgw25OAlfXq7z3s9o/nnvEmGVQ==}
|
||||
engines: {node: '>=20.11.0'}
|
||||
eslint-plugin-jsdoc@50.8.0:
|
||||
resolution: {integrity: sha512-UyGb5755LMFWPrZTEqqvTJ3urLz1iqj+bYOHFNag+sw3NvaMWP9K2z+uIn37XfNALmQLQyrBlJ5mkiVPL7ADEg==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
|
||||
|
||||
@@ -5348,11 +5417,11 @@ packages:
|
||||
eslint-plugin-tsdoc@0.4.0:
|
||||
resolution: {integrity: sha512-MT/8b4aKLdDClnS8mP3R/JNjg29i0Oyqd/0ym6NnQf+gfKbJJ4ZcSh2Bs1H0YiUMTBwww5JwXGTWot/RwyJ7aQ==}
|
||||
|
||||
eslint-plugin-unicorn@61.0.2:
|
||||
resolution: {integrity: sha512-zLihukvneYT7f74GNbVJXfWIiNQmkc/a9vYBTE4qPkQZswolWNdu+Wsp9sIXno1JOzdn6OUwLPd19ekXVkahRA==}
|
||||
engines: {node: ^20.10.0 || >=21.0.0}
|
||||
eslint-plugin-unicorn@59.0.1:
|
||||
resolution: {integrity: sha512-EtNXYuWPUmkgSU2E7Ttn57LbRREQesIP1BiLn7OZLKodopKfDXfBUkC/0j6mpw2JExwf43Uf3qLSvrSvppgy8Q==}
|
||||
engines: {node: ^18.20.0 || ^20.10.0 || >=21.0.0}
|
||||
peerDependencies:
|
||||
eslint: '>=9.29.0'
|
||||
eslint: '>=9.22.0'
|
||||
|
||||
eslint-scope@5.1.1:
|
||||
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
|
||||
@@ -6709,9 +6778,9 @@ packages:
|
||||
jsbn@0.1.1:
|
||||
resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
|
||||
|
||||
jsdoc-type-pratt-parser@6.9.1:
|
||||
resolution: {integrity: sha512-HbYNAorY51GnpKvgDf4YINSY+V1segv0qEeijvTSI6OWMCmqah0W6mVwBFeWskJ81uTJJVnDQlwhpJMREvGsXg==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
jsdoc-type-pratt-parser@4.1.0:
|
||||
resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
jsdom@26.1.0:
|
||||
resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==}
|
||||
@@ -7475,9 +7544,6 @@ packages:
|
||||
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
object-deep-merge@1.0.5:
|
||||
resolution: {integrity: sha512-3DioFgOzetbxbeUq8pB2NunXo8V0n4EvqsWM/cJoI6IA9zghd7cl/2pBOuWRf4dlvA+fcg5ugFMZaN2/RuoaGg==}
|
||||
|
||||
object-hash@3.0.0:
|
||||
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
|
||||
engines: {node: '>= 6'}
|
||||
@@ -7537,8 +7603,8 @@ packages:
|
||||
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
openapi-fetch@0.14.1:
|
||||
resolution: {integrity: sha512-l7RarRHxlEZYjMLd/PR0slfMVse2/vvIAGm75/F7J6MlQ8/b9uUQmUF2kCPrQhJqMXSxmYWObVgeYXbFYzZR+A==}
|
||||
openapi-fetch@0.14.0:
|
||||
resolution: {integrity: sha512-PshIdm1NgdLvb05zp8LqRQMNSKzIlPkyMxYFxwyHR+UlKD4t2nUjkDhNxeRbhRSEd3x5EUNh2w5sJYwkhOH4fg==}
|
||||
|
||||
openapi-typescript-helpers@0.0.15:
|
||||
resolution: {integrity: sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==}
|
||||
@@ -8371,11 +8437,6 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
semver@7.7.3:
|
||||
resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
send@0.19.0:
|
||||
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
@@ -9040,10 +9101,6 @@ packages:
|
||||
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
type-fest@4.2.0:
|
||||
resolution: {integrity: sha512-5zknd7Dss75pMSED270A1RQS3KloqRJA9XbXLe0eCxyw7xXFb3rd+9B0UQ/0E+LQT6lnrLviEolYORlRWamn4w==}
|
||||
engines: {node: '>=16'}
|
||||
|
||||
type-fest@4.41.0:
|
||||
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
|
||||
engines: {node: '>=16'}
|
||||
@@ -10241,19 +10298,19 @@ snapshots:
|
||||
|
||||
'@applitools/utils@1.12.0': {}
|
||||
|
||||
'@argos-ci/api-client@0.12.0':
|
||||
'@argos-ci/api-client@0.11.0':
|
||||
dependencies:
|
||||
debug: 4.4.3(supports-color@8.1.1)
|
||||
openapi-fetch: 0.14.1
|
||||
openapi-fetch: 0.14.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@argos-ci/browser@5.0.0': {}
|
||||
|
||||
'@argos-ci/core@4.2.0':
|
||||
'@argos-ci/core@4.1.5':
|
||||
dependencies:
|
||||
'@argos-ci/api-client': 0.12.0
|
||||
'@argos-ci/util': 3.1.1
|
||||
'@argos-ci/api-client': 0.11.0
|
||||
'@argos-ci/util': 3.1.0
|
||||
convict: 6.2.4
|
||||
debug: 4.4.3(supports-color@8.1.1)
|
||||
fast-glob: 3.3.3
|
||||
@@ -10262,17 +10319,17 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@argos-ci/cypress@6.1.3(cypress@14.5.4)':
|
||||
'@argos-ci/cypress@6.1.1(cypress@14.5.4)':
|
||||
dependencies:
|
||||
'@argos-ci/browser': 5.0.0
|
||||
'@argos-ci/core': 4.2.0
|
||||
'@argos-ci/util': 3.1.1
|
||||
'@argos-ci/core': 4.1.5
|
||||
'@argos-ci/util': 3.1.0
|
||||
cypress: 14.5.4
|
||||
cypress-wait-until: 3.0.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@argos-ci/util@3.1.1': {}
|
||||
'@argos-ci/util@3.1.0': {}
|
||||
|
||||
'@asamuzakjp/css-color@3.2.0':
|
||||
dependencies:
|
||||
@@ -11214,6 +11271,67 @@ snapshots:
|
||||
|
||||
'@chevrotain/utils@11.0.3': {}
|
||||
|
||||
'@cspell/cspell-bundled-dicts@8.19.4':
|
||||
dependencies:
|
||||
'@cspell/dict-ada': 4.1.1
|
||||
'@cspell/dict-al': 1.1.1
|
||||
'@cspell/dict-aws': 4.0.15
|
||||
'@cspell/dict-bash': 4.2.1
|
||||
'@cspell/dict-companies': 3.2.5
|
||||
'@cspell/dict-cpp': 6.0.12
|
||||
'@cspell/dict-cryptocurrencies': 5.0.5
|
||||
'@cspell/dict-csharp': 4.0.7
|
||||
'@cspell/dict-css': 4.0.18
|
||||
'@cspell/dict-dart': 2.3.1
|
||||
'@cspell/dict-data-science': 2.0.9
|
||||
'@cspell/dict-django': 4.1.5
|
||||
'@cspell/dict-docker': 1.1.16
|
||||
'@cspell/dict-dotnet': 5.0.10
|
||||
'@cspell/dict-elixir': 4.0.8
|
||||
'@cspell/dict-en-common-misspellings': 2.1.6
|
||||
'@cspell/dict-en-gb': 1.1.33
|
||||
'@cspell/dict-en_us': 4.4.19
|
||||
'@cspell/dict-filetypes': 3.0.13
|
||||
'@cspell/dict-flutter': 1.1.1
|
||||
'@cspell/dict-fonts': 4.0.5
|
||||
'@cspell/dict-fsharp': 1.1.1
|
||||
'@cspell/dict-fullstack': 3.2.7
|
||||
'@cspell/dict-gaming-terms': 1.1.2
|
||||
'@cspell/dict-git': 3.0.7
|
||||
'@cspell/dict-golang': 6.0.23
|
||||
'@cspell/dict-google': 1.0.9
|
||||
'@cspell/dict-haskell': 4.0.6
|
||||
'@cspell/dict-html': 4.0.12
|
||||
'@cspell/dict-html-symbol-entities': 4.0.4
|
||||
'@cspell/dict-java': 5.0.12
|
||||
'@cspell/dict-julia': 1.1.1
|
||||
'@cspell/dict-k8s': 1.0.12
|
||||
'@cspell/dict-kotlin': 1.1.1
|
||||
'@cspell/dict-latex': 4.0.4
|
||||
'@cspell/dict-lorem-ipsum': 4.0.5
|
||||
'@cspell/dict-lua': 4.0.8
|
||||
'@cspell/dict-makefile': 1.0.5
|
||||
'@cspell/dict-markdown': 2.0.12(@cspell/dict-css@4.0.18)(@cspell/dict-html-symbol-entities@4.0.4)(@cspell/dict-html@4.0.12)(@cspell/dict-typescript@3.2.3)
|
||||
'@cspell/dict-monkeyc': 1.0.11
|
||||
'@cspell/dict-node': 5.0.8
|
||||
'@cspell/dict-npm': 5.2.17
|
||||
'@cspell/dict-php': 4.0.15
|
||||
'@cspell/dict-powershell': 5.0.15
|
||||
'@cspell/dict-public-licenses': 2.0.15
|
||||
'@cspell/dict-python': 4.2.19
|
||||
'@cspell/dict-r': 2.1.1
|
||||
'@cspell/dict-ruby': 5.0.9
|
||||
'@cspell/dict-rust': 4.0.12
|
||||
'@cspell/dict-scala': 5.0.8
|
||||
'@cspell/dict-shell': 1.1.1
|
||||
'@cspell/dict-software-terms': 5.1.8
|
||||
'@cspell/dict-sql': 2.2.1
|
||||
'@cspell/dict-svelte': 1.0.7
|
||||
'@cspell/dict-swift': 2.0.6
|
||||
'@cspell/dict-terraform': 1.1.3
|
||||
'@cspell/dict-typescript': 3.2.3
|
||||
'@cspell/dict-vue': 3.0.5
|
||||
|
||||
'@cspell/cspell-bundled-dicts@9.2.1':
|
||||
dependencies:
|
||||
'@cspell/dict-ada': 4.1.1
|
||||
@@ -11279,14 +11397,24 @@ snapshots:
|
||||
dependencies:
|
||||
'@cspell/cspell-types': 9.2.1
|
||||
|
||||
'@cspell/cspell-pipe@8.19.4': {}
|
||||
|
||||
'@cspell/cspell-pipe@9.2.1': {}
|
||||
|
||||
'@cspell/cspell-resolver@8.19.4':
|
||||
dependencies:
|
||||
global-directory: 4.0.1
|
||||
|
||||
'@cspell/cspell-resolver@9.2.1':
|
||||
dependencies:
|
||||
global-directory: 4.0.1
|
||||
|
||||
'@cspell/cspell-service-bus@8.19.4': {}
|
||||
|
||||
'@cspell/cspell-service-bus@9.2.1': {}
|
||||
|
||||
'@cspell/cspell-types@8.19.4': {}
|
||||
|
||||
'@cspell/cspell-types@9.2.1': {}
|
||||
|
||||
'@cspell/dict-ada@4.1.1': {}
|
||||
@@ -11325,6 +11453,8 @@ snapshots:
|
||||
|
||||
'@cspell/dict-en-gb-mit@3.1.9': {}
|
||||
|
||||
'@cspell/dict-en-gb@1.1.33': {}
|
||||
|
||||
'@cspell/dict-en_us@4.4.19': {}
|
||||
|
||||
'@cspell/dict-filetypes@3.0.13': {}
|
||||
@@ -11414,23 +11544,34 @@ snapshots:
|
||||
|
||||
'@cspell/dict-vue@3.0.5': {}
|
||||
|
||||
'@cspell/dynamic-import@8.19.4':
|
||||
dependencies:
|
||||
'@cspell/url': 8.19.4
|
||||
import-meta-resolve: 4.2.0
|
||||
|
||||
'@cspell/dynamic-import@9.2.1':
|
||||
dependencies:
|
||||
'@cspell/url': 9.2.1
|
||||
import-meta-resolve: 4.2.0
|
||||
|
||||
'@cspell/eslint-plugin@9.2.1(eslint@9.35.0(jiti@2.5.1))':
|
||||
'@cspell/eslint-plugin@8.19.4(eslint@9.35.0(jiti@2.5.1))':
|
||||
dependencies:
|
||||
'@cspell/cspell-types': 9.2.1
|
||||
'@cspell/url': 9.2.1
|
||||
cspell-lib: 9.2.1
|
||||
'@cspell/cspell-types': 8.19.4
|
||||
'@cspell/url': 8.19.4
|
||||
cspell-lib: 8.19.4
|
||||
eslint: 9.35.0(jiti@2.5.1)
|
||||
synckit: 0.11.11
|
||||
|
||||
'@cspell/filetypes@8.19.4': {}
|
||||
|
||||
'@cspell/filetypes@9.2.1': {}
|
||||
|
||||
'@cspell/strong-weak-map@8.19.4': {}
|
||||
|
||||
'@cspell/strong-weak-map@9.2.1': {}
|
||||
|
||||
'@cspell/url@8.19.4': {}
|
||||
|
||||
'@cspell/url@9.2.1': {}
|
||||
|
||||
'@csstools/color-helpers@5.1.0': {}
|
||||
@@ -11560,13 +11701,13 @@ snapshots:
|
||||
tslib: 2.8.1
|
||||
optional: true
|
||||
|
||||
'@es-joy/jsdoccomment@0.75.0':
|
||||
'@es-joy/jsdoccomment@0.50.2':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.8
|
||||
'@typescript-eslint/types': 8.46.0
|
||||
'@typescript-eslint/types': 8.43.0
|
||||
comment-parser: 1.4.1
|
||||
esquery: 1.6.0
|
||||
jsdoc-type-pratt-parser: 6.9.1
|
||||
jsdoc-type-pratt-parser: 4.1.0
|
||||
|
||||
'@esbuild/aix-ppc64@0.21.5':
|
||||
optional: true
|
||||
@@ -11732,6 +11873,10 @@ snapshots:
|
||||
|
||||
'@eslint/config-helpers@0.3.1': {}
|
||||
|
||||
'@eslint/core@0.13.0':
|
||||
dependencies:
|
||||
'@types/json-schema': 7.0.15
|
||||
|
||||
'@eslint/core@0.15.2':
|
||||
dependencies:
|
||||
'@types/json-schema': 7.0.15
|
||||
@@ -11754,6 +11899,11 @@ snapshots:
|
||||
|
||||
'@eslint/object-schema@2.1.6': {}
|
||||
|
||||
'@eslint/plugin-kit@0.2.8':
|
||||
dependencies:
|
||||
'@eslint/core': 0.13.0
|
||||
levn: 0.4.1
|
||||
|
||||
'@eslint/plugin-kit@0.3.5':
|
||||
dependencies:
|
||||
'@eslint/core': 0.15.2
|
||||
@@ -13030,8 +13180,6 @@ snapshots:
|
||||
|
||||
'@typescript-eslint/types@8.43.0': {}
|
||||
|
||||
'@typescript-eslint/types@8.46.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.43.0(typescript@5.7.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/project-service': 8.43.0(typescript@5.7.3)
|
||||
@@ -13469,26 +13617,24 @@ snapshots:
|
||||
'@vueuse/shared': 13.9.0(vue@3.5.21(typescript@5.9.2))
|
||||
vue: 3.5.21(typescript@5.9.2)
|
||||
|
||||
'@vueuse/integrations@12.8.2(axios@1.12.2)(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.7.3)':
|
||||
'@vueuse/integrations@12.8.2(axios@1.12.2)(focus-trap@7.6.5)(typescript@5.7.3)':
|
||||
dependencies:
|
||||
'@vueuse/core': 12.8.2(typescript@5.7.3)
|
||||
'@vueuse/shared': 12.8.2(typescript@5.7.3)
|
||||
vue: 3.5.21(typescript@5.7.3)
|
||||
optionalDependencies:
|
||||
axios: 1.12.2(debug@4.4.3)
|
||||
change-case: 5.4.4
|
||||
focus-trap: 7.6.5
|
||||
transitivePeerDependencies:
|
||||
- typescript
|
||||
|
||||
'@vueuse/integrations@12.8.2(axios@1.12.2)(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.9.2)':
|
||||
'@vueuse/integrations@12.8.2(axios@1.12.2)(focus-trap@7.6.5)(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@vueuse/core': 12.8.2(typescript@5.9.2)
|
||||
'@vueuse/shared': 12.8.2(typescript@5.9.2)
|
||||
vue: 3.5.21(typescript@5.9.2)
|
||||
optionalDependencies:
|
||||
axios: 1.12.2(debug@4.4.3)
|
||||
change-case: 5.4.4
|
||||
focus-trap: 7.6.5
|
||||
transitivePeerDependencies:
|
||||
- typescript
|
||||
@@ -14249,8 +14395,6 @@ snapshots:
|
||||
|
||||
chalk@5.6.2: {}
|
||||
|
||||
change-case@5.4.4: {}
|
||||
|
||||
char-regex@1.0.2: {}
|
||||
|
||||
character-entities-html4@2.1.0: {}
|
||||
@@ -14591,6 +14735,12 @@ snapshots:
|
||||
|
||||
crypto-random-string@2.0.0: {}
|
||||
|
||||
cspell-config-lib@8.19.4:
|
||||
dependencies:
|
||||
'@cspell/cspell-types': 8.19.4
|
||||
comment-json: 4.2.5
|
||||
yaml: 2.8.1
|
||||
|
||||
cspell-config-lib@9.2.1:
|
||||
dependencies:
|
||||
'@cspell/cspell-types': 9.2.1
|
||||
@@ -14598,6 +14748,13 @@ snapshots:
|
||||
smol-toml: 1.4.2
|
||||
yaml: 2.8.1
|
||||
|
||||
cspell-dictionary@8.19.4:
|
||||
dependencies:
|
||||
'@cspell/cspell-pipe': 8.19.4
|
||||
'@cspell/cspell-types': 8.19.4
|
||||
cspell-trie-lib: 8.19.4
|
||||
fast-equals: 5.2.2
|
||||
|
||||
cspell-dictionary@9.2.1:
|
||||
dependencies:
|
||||
'@cspell/cspell-pipe': 9.2.1
|
||||
@@ -14611,21 +14768,63 @@ snapshots:
|
||||
cspell-glob: 9.2.1
|
||||
cspell-io: 9.2.1
|
||||
|
||||
cspell-glob@8.19.4:
|
||||
dependencies:
|
||||
'@cspell/url': 8.19.4
|
||||
picomatch: 4.0.3
|
||||
|
||||
cspell-glob@9.2.1:
|
||||
dependencies:
|
||||
'@cspell/url': 9.2.1
|
||||
picomatch: 4.0.3
|
||||
|
||||
cspell-grammar@8.19.4:
|
||||
dependencies:
|
||||
'@cspell/cspell-pipe': 8.19.4
|
||||
'@cspell/cspell-types': 8.19.4
|
||||
|
||||
cspell-grammar@9.2.1:
|
||||
dependencies:
|
||||
'@cspell/cspell-pipe': 9.2.1
|
||||
'@cspell/cspell-types': 9.2.1
|
||||
|
||||
cspell-io@8.19.4:
|
||||
dependencies:
|
||||
'@cspell/cspell-service-bus': 8.19.4
|
||||
'@cspell/url': 8.19.4
|
||||
|
||||
cspell-io@9.2.1:
|
||||
dependencies:
|
||||
'@cspell/cspell-service-bus': 9.2.1
|
||||
'@cspell/url': 9.2.1
|
||||
|
||||
cspell-lib@8.19.4:
|
||||
dependencies:
|
||||
'@cspell/cspell-bundled-dicts': 8.19.4
|
||||
'@cspell/cspell-pipe': 8.19.4
|
||||
'@cspell/cspell-resolver': 8.19.4
|
||||
'@cspell/cspell-types': 8.19.4
|
||||
'@cspell/dynamic-import': 8.19.4
|
||||
'@cspell/filetypes': 8.19.4
|
||||
'@cspell/strong-weak-map': 8.19.4
|
||||
'@cspell/url': 8.19.4
|
||||
clear-module: 4.1.2
|
||||
comment-json: 4.2.5
|
||||
cspell-config-lib: 8.19.4
|
||||
cspell-dictionary: 8.19.4
|
||||
cspell-glob: 8.19.4
|
||||
cspell-grammar: 8.19.4
|
||||
cspell-io: 8.19.4
|
||||
cspell-trie-lib: 8.19.4
|
||||
env-paths: 3.0.0
|
||||
fast-equals: 5.2.2
|
||||
gensequence: 7.0.0
|
||||
import-fresh: 3.3.1
|
||||
resolve-from: 5.0.0
|
||||
vscode-languageserver-textdocument: 1.0.12
|
||||
vscode-uri: 3.1.0
|
||||
xdg-basedir: 5.1.0
|
||||
|
||||
cspell-lib@9.2.1:
|
||||
dependencies:
|
||||
'@cspell/cspell-bundled-dicts': 9.2.1
|
||||
@@ -14653,6 +14852,12 @@ snapshots:
|
||||
vscode-uri: 3.1.0
|
||||
xdg-basedir: 5.1.0
|
||||
|
||||
cspell-trie-lib@8.19.4:
|
||||
dependencies:
|
||||
'@cspell/cspell-pipe': 8.19.4
|
||||
'@cspell/cspell-types': 8.19.4
|
||||
gensequence: 7.0.0
|
||||
|
||||
cspell-trie-lib@9.2.1:
|
||||
dependencies:
|
||||
'@cspell/cspell-pipe': 9.2.1
|
||||
@@ -15487,16 +15692,16 @@ snapshots:
|
||||
dependencies:
|
||||
eslint: 9.35.0(jiti@2.5.1)
|
||||
|
||||
eslint-plugin-cypress@5.2.0(eslint@9.35.0(jiti@2.5.1)):
|
||||
eslint-plugin-cypress@4.3.0(eslint@9.35.0(jiti@2.5.1)):
|
||||
dependencies:
|
||||
eslint: 9.35.0(jiti@2.5.1)
|
||||
globals: 16.4.0
|
||||
globals: 15.15.0
|
||||
|
||||
eslint-plugin-html@8.1.3:
|
||||
dependencies:
|
||||
htmlparser2: 10.0.0
|
||||
|
||||
eslint-plugin-jest@29.0.1(@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(jest@30.1.3(@types/node@22.18.6))(typescript@5.7.3):
|
||||
eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3))(eslint@9.35.0(jiti@2.5.1))(jest@30.1.3(@types/node@22.18.6))(typescript@5.7.3):
|
||||
dependencies:
|
||||
'@typescript-eslint/utils': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.7.3)
|
||||
eslint: 9.35.0(jiti@2.5.1)
|
||||
@@ -15507,9 +15712,9 @@ snapshots:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
eslint-plugin-jsdoc@61.0.1(eslint@9.35.0(jiti@2.5.1)):
|
||||
eslint-plugin-jsdoc@50.8.0(eslint@9.35.0(jiti@2.5.1)):
|
||||
dependencies:
|
||||
'@es-joy/jsdoccomment': 0.75.0
|
||||
'@es-joy/jsdoccomment': 0.50.2
|
||||
are-docs-informative: 0.0.2
|
||||
comment-parser: 1.4.1
|
||||
debug: 4.4.3(supports-color@8.1.1)
|
||||
@@ -15517,10 +15722,8 @@ snapshots:
|
||||
eslint: 9.35.0(jiti@2.5.1)
|
||||
espree: 10.4.0
|
||||
esquery: 1.6.0
|
||||
html-entities: 2.6.0
|
||||
object-deep-merge: 1.0.5
|
||||
parse-imports-exports: 0.2.4
|
||||
semver: 7.7.3
|
||||
semver: 7.7.2
|
||||
spdx-expression-parse: 4.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -15549,12 +15752,11 @@ snapshots:
|
||||
'@microsoft/tsdoc': 0.15.1
|
||||
'@microsoft/tsdoc-config': 0.17.1
|
||||
|
||||
eslint-plugin-unicorn@61.0.2(eslint@9.35.0(jiti@2.5.1)):
|
||||
eslint-plugin-unicorn@59.0.1(eslint@9.35.0(jiti@2.5.1)):
|
||||
dependencies:
|
||||
'@babel/helper-validator-identifier': 7.27.1
|
||||
'@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1))
|
||||
'@eslint/plugin-kit': 0.3.5
|
||||
change-case: 5.4.4
|
||||
'@eslint/plugin-kit': 0.2.8
|
||||
ci-info: 4.3.0
|
||||
clean-regexp: 1.0.0
|
||||
core-js-compat: 3.45.1
|
||||
@@ -17287,7 +17489,7 @@ snapshots:
|
||||
|
||||
jsbn@0.1.1: {}
|
||||
|
||||
jsdoc-type-pratt-parser@6.9.1: {}
|
||||
jsdoc-type-pratt-parser@4.1.0: {}
|
||||
|
||||
jsdom@26.1.0(canvas@3.2.0):
|
||||
dependencies:
|
||||
@@ -18264,10 +18466,6 @@ snapshots:
|
||||
|
||||
object-assign@4.1.1: {}
|
||||
|
||||
object-deep-merge@1.0.5:
|
||||
dependencies:
|
||||
type-fest: 4.2.0
|
||||
|
||||
object-hash@3.0.0: {}
|
||||
|
||||
object-inspect@1.13.4: {}
|
||||
@@ -18330,7 +18528,7 @@ snapshots:
|
||||
is-docker: 2.2.1
|
||||
is-wsl: 2.2.0
|
||||
|
||||
openapi-fetch@0.14.1:
|
||||
openapi-fetch@0.14.0:
|
||||
dependencies:
|
||||
openapi-typescript-helpers: 0.0.15
|
||||
|
||||
@@ -19203,8 +19401,6 @@ snapshots:
|
||||
|
||||
semver@7.7.2: {}
|
||||
|
||||
semver@7.7.3: {}
|
||||
|
||||
send@0.19.0:
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
@@ -20007,8 +20203,6 @@ snapshots:
|
||||
|
||||
type-fest@0.8.1: {}
|
||||
|
||||
type-fest@4.2.0: {}
|
||||
|
||||
type-fest@4.41.0: {}
|
||||
|
||||
type-is@1.6.18:
|
||||
@@ -20391,17 +20585,17 @@ snapshots:
|
||||
tsx: 4.20.5
|
||||
yaml: 2.8.1
|
||||
|
||||
vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.8.212)(vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3))(vue@3.5.21(typescript@5.7.3)):
|
||||
vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.8.212)(vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3))(vue@3.5.21(typescript@5.7.3)):
|
||||
dependencies:
|
||||
'@types/flexsearch': 0.7.42
|
||||
'@types/markdown-it': 12.2.3
|
||||
flexsearch: 0.8.212
|
||||
glob-to-regexp: 0.4.1
|
||||
markdown-it: 13.0.2
|
||||
vitepress: 1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3)
|
||||
vitepress: 1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3)
|
||||
vue: 3.5.21(typescript@5.7.3)
|
||||
|
||||
vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3):
|
||||
vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.7.3):
|
||||
dependencies:
|
||||
'@docsearch/css': 3.8.2
|
||||
'@docsearch/js': 3.8.2(@algolia/client-search@5.37.0)(search-insights@2.17.3)
|
||||
@@ -20414,7 +20608,7 @@ snapshots:
|
||||
'@vue/devtools-api': 7.7.7
|
||||
'@vue/shared': 3.5.21
|
||||
'@vueuse/core': 12.8.2(typescript@5.7.3)
|
||||
'@vueuse/integrations': 12.8.2(axios@1.12.2)(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.7.3)
|
||||
'@vueuse/integrations': 12.8.2(axios@1.12.2)(focus-trap@7.6.5)(typescript@5.7.3)
|
||||
focus-trap: 7.6.5
|
||||
mark.js: 8.11.1
|
||||
minisearch: 7.1.2
|
||||
@@ -20450,7 +20644,7 @@ snapshots:
|
||||
- typescript
|
||||
- universal-cookie
|
||||
|
||||
vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(change-case@5.4.4)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.9.2):
|
||||
vitepress@1.6.4(@algolia/client-search@5.37.0)(@types/node@22.18.6)(axios@1.12.2)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@docsearch/css': 3.8.2
|
||||
'@docsearch/js': 3.8.2(@algolia/client-search@5.37.0)(search-insights@2.17.3)
|
||||
@@ -20463,7 +20657,7 @@ snapshots:
|
||||
'@vue/devtools-api': 7.7.7
|
||||
'@vue/shared': 3.5.21
|
||||
'@vueuse/core': 12.8.2(typescript@5.9.2)
|
||||
'@vueuse/integrations': 12.8.2(axios@1.12.2)(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.9.2)
|
||||
'@vueuse/integrations': 12.8.2(axios@1.12.2)(focus-trap@7.6.5)(typescript@5.9.2)
|
||||
focus-trap: 7.6.5
|
||||
mark.js: 8.11.1
|
||||
minisearch: 7.1.2
|
||||
|
Reference in New Issue
Block a user