Showing preview only (6,170K chars total). Download the full file or copy to clipboard to get everything.
Repository: jpb12/react-tree-graph
Branch: master
Commit: 2e0a62d1d782
Files: 95
Total size: 5.9 MB
Directory structure:
gitextract_xm1rgv6b/
├── .babelrc
├── .browserslistrc
├── .editorconfig
├── .eslintrc.json
├── .github/
│ └── workflows/
│ ├── build.yml
│ ├── coverage.yml
│ ├── storybook.yml
│ └── test.yml
├── .gitignore
├── .npmignore
├── .storybook/
│ ├── .eslintrc.json
│ ├── main.js
│ ├── manager-head.html
│ ├── manager.js
│ ├── preview.js
│ ├── stories/
│ │ ├── animatedTree.stories.js
│ │ ├── argTypes.js
│ │ ├── intro.mdx
│ │ ├── labels.stories.js
│ │ ├── nodes.stories.js
│ │ └── tree.stories.js
│ └── styles/
│ ├── nodeProps.css
│ ├── polygon.css
│ └── styles.css
├── CHANGELOG.md
├── LICENSE
├── README.md
├── __tests__/
│ ├── .eslintrc.json
│ ├── Components/
│ │ ├── __snapshots__/
│ │ │ ├── animatedTests.js.snap
│ │ │ ├── animatedTreeTests.js.snap
│ │ │ ├── containerTests.js.snap
│ │ │ ├── linkTests.js.snap
│ │ │ ├── nodeTests.js.snap
│ │ │ └── treeTests.js.snap
│ │ ├── animatedTests.js
│ │ ├── animatedTreeTests.js
│ │ ├── containerTests.js
│ │ ├── linkTests.js
│ │ ├── nodeTests.js
│ │ └── treeTests.js
│ ├── d3Tests.js
│ ├── startup.js
│ └── wrapHandlersTests.js
├── dist/
│ ├── index.js
│ ├── module/
│ │ ├── components/
│ │ │ ├── animated.js
│ │ │ ├── animatedTree.js
│ │ │ ├── container.js
│ │ │ ├── link.js
│ │ │ ├── node.js
│ │ │ └── tree.js
│ │ ├── d3.js
│ │ ├── index.js
│ │ └── wrapHandlers.js
│ └── style.css
├── docs/
│ ├── 161.a4718455.iframe.bundle.js
│ ├── 294.bd1debad.iframe.bundle.js
│ ├── 357.c654aade.iframe.bundle.js
│ ├── 434.8aa01134.iframe.bundle.js
│ ├── 688.1553505b.iframe.bundle.js
│ ├── 688.1553505b.iframe.bundle.js.LICENSE.txt
│ ├── 735.697195c4.iframe.bundle.js
│ ├── animatedTree-stories.fcd27f04.iframe.bundle.js
│ ├── iframe.html
│ ├── index.html
│ ├── index.json
│ ├── intro-mdx.158e5140.iframe.bundle.js
│ ├── labels-stories.c283c343.iframe.bundle.js
│ ├── main.539c4757.iframe.bundle.js
│ ├── mocker-runtime-injected.js
│ ├── mocker-runtime-injected.js.LICENSE.txt
│ ├── nodes-stories.e7851c9e.iframe.bundle.js
│ ├── project.json
│ ├── runtime~main.d380d272.iframe.bundle.js
│ ├── sb-addons/
│ │ ├── docs-1/
│ │ │ └── manager-bundle.js
│ │ ├── storybook-2/
│ │ │ └── manager-bundle.js
│ │ └── storybook-core-server-presets-0/
│ │ └── common-manager-bundle.js
│ ├── sb-manager/
│ │ ├── globals-module-info.js
│ │ ├── globals-runtime.js
│ │ ├── globals.js
│ │ └── runtime.js
│ ├── sb-preview/
│ │ ├── globals.js
│ │ └── runtime.js
│ └── tree-stories.4e3a1159.iframe.bundle.js
├── package.json
├── rollup.config.mjs
├── src/
│ ├── components/
│ │ ├── animated.js
│ │ ├── animatedTree.js
│ │ ├── container.js
│ │ ├── link.js
│ │ ├── node.js
│ │ └── tree.js
│ ├── d3.js
│ ├── index.js
│ └── wrapHandlers.js
└── styles/
└── style.css
================================================
FILE CONTENTS
================================================
================================================
FILE: .babelrc
================================================
{
"presets": [
"@babel/env",
"@babel/react"
]
}
================================================
FILE: .browserslistrc
================================================
last 2 Chrome version
last 2 Edge version
last 2 Firefox version
last 2 Safari version
maintained node versions
================================================
FILE: .editorconfig
================================================
root = true
[*]
indent_style = tab
insert_final_newline = false
trim_trailing_whitespace = true
[{package.json,package-lock.json,.github/workflows/*.yml}]
indent_style = space
indent_size = 2
================================================
FILE: .eslintrc.json
================================================
{
"env": {
"browser": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended"
],
"parser": "@babel/eslint-parser",
"parserOptions": {
"ecmaVersion": 2021,
"ecmaFeatures": {
"jsx": true
},
"sourceType": "module"
},
"plugins": [
"react"
],
"rules": {
"array-bracket-newline": [
"error",
"consistent"
],
"array-bracket-spacing": [
"error",
"never"
],
"array-element-newline": [
"error",
"consistent"
],
"arrow-body-style": [
"error",
"as-needed"
],
"arrow-parens": [
"error",
"as-needed"
],
"arrow-spacing": "error",
"block-spacing": "error",
"brace-style": [
"error",
"1tbs",
{
"allowSingleLine": true
}
],
"camelcase": "error",
"comma-dangle": [
"error",
"never"
],
"comma-spacing": [
"error",
{
"before": false,
"after": true
}
],
"comma-style": [
"error",
"last"
],
"computed-property-spacing": [
"error",
"never"
],
"curly": "error",
"dot-location": [
"error",
"property"
],
"eol-last": [
"error",
"never"
],
"func-call-spacing": [
"error",
"never"
],
"func-names": [
"error",
"always"
],
"func-style": [
"error",
"declaration"
],
"function-paren-newline": [
"error",
"consistent"
],
"indent": [
"error",
"tab",
{
"SwitchCase": 1
}
],
"jsx-quotes": [
"error",
"prefer-double"
],
"key-spacing": [
"error",
{
"mode": "strict"
}
],
"keyword-spacing": "error",
"lines-between-class-members": [
"error",
"always"
],
"no-array-constructor": "error",
"no-bitwise": "error",
"no-duplicate-imports": "error",
"no-lonely-if": "error",
"no-multi-assign": "error",
"no-multiple-empty-lines": "error",
"no-multi-spaces": [
"error",
{
"exceptions": {
"Property": false
}
}
],
"no-trailing-spaces": "error",
"no-unneeded-ternary": [
"error",
{
"defaultAssignment": false
}
],
"no-useless-computed-key": "error",
"no-useless-constructor": "error",
"no-useless-rename": "error",
"no-var": "error",
"no-whitespace-before-property": "error",
"object-curly-newline": [
"error",
{
"consistent": true
}
],
"object-curly-spacing": [
"error",
"always"
],
"operator-linebreak": [
"error",
"before"
],
"padded-blocks": [
"error",
"never"
],
"prefer-arrow-callback": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "error",
"quotes": [
"error",
"single"
],
"react/jsx-boolean-value": "error",
"react/jsx-closing-bracket-location": [
"error",
"after-props"
],
"react/jsx-closing-tag-location": "error",
"react/jsx-curly-spacing": "error",
"react/jsx-equals-spacing": "error",
"react/jsx-first-prop-new-line": [
"error",
"multiline"
],
"react/jsx-handler-names": "error",
"react/jsx-indent": [
"error",
"tab"
],
"react/jsx-indent-props": [
"error",
"tab"
],
"react/jsx-no-bind": "error",
"react/jsx-curly-brace-presence": "error",
"react/jsx-pascal-case": "error",
"react/jsx-props-no-multi-spaces": "error",
"react/jsx-tag-spacing": [
"error",
{
"beforeSelfClosing": "never",
"beforeClosing": "never"
}
],
"react/no-access-state-in-setstate": "error",
"react/no-typos": "error",
"react/no-unused-state": "error",
"react/prefer-es6-class": "error",
"react/prop-types": "off",
"react/self-closing-comp": "error",
"react/sort-comp": "error",
"react/style-prop-object": "error",
"rest-spread-spacing": [
"error",
"never"
],
"semi": [
"error",
"always"
],
"semi-spacing": "error",
"semi-style": [
"error",
"last"
],
"space-before-blocks": "error",
"space-before-function-paren": [
"error",
"never"
],
"space-in-parens": [
"error",
"never"
],
"space-infix-ops": "error",
"switch-colon-spacing": "error",
"template-curly-spacing": "error"
},
"settings": {
"react": {
"version": "18"
}
}
}
================================================
FILE: .github/workflows/build.yml
================================================
name: Build
on:
push:
branches: [ 'master' ]
pull_request:
branches: [ 'master' ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'npm'
- name: Install
run: npm ci
- name: Lint
run: npm run eslint
- name: Build
run: npm run build
- name: Check Git changes
uses: multani/git-changes-action@v1
================================================
FILE: .github/workflows/coverage.yml
================================================
name: Coverage
on:
push:
branches: [ 'master' ]
pull_request:
branches: [ 'master' ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'npm'
- name: Install
run: npm ci
- name: Test
run: npm test -- --coverage
- name: Coveralls
uses: coverallsapp/github-action@v2.0.0
================================================
FILE: .github/workflows/storybook.yml
================================================
name: Storybook
on:
push:
branches: [ 'master' ]
pull_request:
branches: [ 'master' ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'npm'
- name: Install
run: npm ci
- name: Storybook
run: npm run storybook-build
================================================
FILE: .github/workflows/test.yml
================================================
name: Test
on:
push:
branches: [ 'master' ]
pull_request:
branches: [ 'master' ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [ 20.x, 22.x, 23.x ]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install
run: npm ci
- name: Test
run: npm test
================================================
FILE: .gitignore
================================================
.idea
/coverage
/node_modules/
================================================
FILE: .npmignore
================================================
.babelrc
.browserslistrc
.editorconfig
.eslintrc.json
.github
.gitignore
.npmignore
.storybook
docs
rollup.config.mjs
src
styles
__tests__
coverage
================================================
FILE: .storybook/.eslintrc.json
================================================
{
"extends": [
"plugin:storybook/recommended",
"../.eslintrc.json"
],
"rules": {
"react/react-in-jsx-scope": "off"
}
}
================================================
FILE: .storybook/main.js
================================================
export default {
addons: ['@storybook/addon-docs', '@storybook/addon-webpack5-compiler-babel'],
framework: {
name: '@storybook/react-webpack5'
},
staticDirs: ['./images'],
stories: ['./stories/**/*.(stories.js|mdx)'],
webpackFinal(config) {
config.target = 'web';
return config;
},
features: {
actions: false,
backgrounds: false,
measure: false,
outline: false,
viewport: false
}
};
================================================
FILE: .storybook/manager-head.html
================================================
<meta name="description" content="Working examples with source code for the react-tree-graph JavaScript library"/>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4Q99HWK6MC"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-4Q99HWK6MC');
</script>
<script>
new MutationObserver(function(mutations) {
if (document.title.match(/Storybook$/)) {
document.title = document.title.replace('Storybook', 'react-tree-graph');
}
}).observe(document.querySelector("title"), {
childList: true,
subtree: true,
characterData: true
});
document.title = document.title.replace('Storybook', 'react-tree-graph');
</script>
================================================
FILE: .storybook/manager.js
================================================
import { addons } from 'storybook/manager-api';
import { create } from 'storybook/theming';
addons.setConfig({
theme: create({
base: 'light',
brandTitle: 'react-tree-graph'
})
});
================================================
FILE: .storybook/preview.js
================================================
import { Title, Subtitle, Description, Primary, Controls, Stories } from '@storybook/addon-docs/blocks';
import React from 'react';
import '../styles/style.css';
export default {
parameters: {
controls: { expanded: true },
docs: {
page: () => (
<>
<Title/>
<Subtitle/>
<Description/>
<Primary/>
<Controls/>
<Stories includePrimary={false}/>
</>
)
},
layout: 'centered',
options: {
storySort: {
order: ['Introduction', 'Tree', 'AnimatedTree']
}
},
viewMode: 'docs'
},
tags: ['autodocs']
};
================================================
FILE: .storybook/stories/animatedTree.stories.js
================================================
import React, { useEffect, useState } from 'react';
import { AnimatedTree } from '../../src';
import { AnimatedTreeArgTypes } from './argTypes';
export default {
title: 'AnimatedTree/Animations',
component: AnimatedTree,
argTypes: AnimatedTreeArgTypes,
parameters: {
docs: {
description: {
component: 'The AnimatedTree component has all the same props as the Tree component, and additional props to customise animation behaviour. Animations are automatically triggered when changes to the `data` prop are made. This demo works by using `setTimeout` to change the `data` prop every 2 seconds.'
}
}
}
};
const order = [0, 1, 0, 2];
const data = [
{
name: 'Parent',
children: [{
name: 'Child One'
}, {
name: 'Child Two'
}, {
name: 'Child Three',
children: [{
name: 'Grandchild One'
}, {
name: 'Grandchild Two'
}]
}]
},
{
name: 'Child Three',
children: [{
name: 'Grandchild One'
}, {
name: 'Grandchild Two'
}]
},
{
name: 'Parent',
children: [{
name: 'Child One'
}, {
name: 'Child Two'
}]
}
];
export const Animations = {
args: {
height: 400,
width: 600
},
parameters: {
controls: { include: ['duration', 'easing', 'steps'] }
},
render: args => {
const [position, setPosition] = useState(0);
useEffect(() => {
setTimeout(() => {
if (position >= order.length - 1) {
return setPosition(0);
}
return setPosition(position + 1);
}, 2000);
});
return <AnimatedTree data={data[order[position]]} {...args}/>;
}
};
================================================
FILE: .storybook/stories/argTypes.js
================================================
import {
easeBack,
easeBackIn,
easeBackOut,
easeBounce,
easeBounceIn,
easeBounceInOut,
easeCircle,
easeCircleIn,
easeCircleOut,
easeCubic,
easeCubicIn,
easeCubicOut,
easeElastic,
easeElasticIn,
easeElasticInOut,
easeExp,
easeExpIn,
easeExpOut,
easeLinear,
easePoly,
easePolyIn,
easePolyOut,
easeQuad,
easeQuadIn,
easeQuadOut,
easeSin,
easeSinIn,
easeSinOut
} from 'd3-ease';
const categories = {
animation: 'Animation',
data: 'Data',
properties: 'SVG Properties',
rendering: 'Tree Rendering'
};
export const TreeArgTypes = {
data: {
table: { category: categories.data },
type: { name: 'object', required: true },
description: 'The data to be rendered as a tree. Must be in a format accepted by d3.hierarchy.'
},
getChildren: {
control: { disable: true },
table: {
category: categories.data,
defaultValue: { summary: 'node => node.children' }
},
description: 'A function that returns the children for a node, or null/undefined if no children exist.'
},
direction: {
options: ['ltr', 'rtl'],
table: {
category: categories.rendering,
defaultValue: { summary: 'ltr' }
},
type: { name: 'string' },
description: 'The direction of the tree, left-to-right or right-to-left.'
},
keyProp: {
table: {
category: categories.data,
defaultValue: { summary: 'name' }
},
type: { name: 'string' },
description: 'The property on each node to use as a key.'
},
labelProp: {
table: {
category: categories.data,
defaultValue: { summary: 'name' }
},
type: { name: 'string' },
description: 'The property on each node to render as a label.'
},
height: {
table: { category: categories.rendering },
type: { name: 'number', required: true },
description: 'The height of the rendered tree, including margins.'
},
width: {
table: { category: categories.rendering },
type: { name: 'number', required: true },
description: 'The width of the rendered tree, including margins.'
},
margins: {
table: {
category: categories.rendering,
defaultValue: { summary: '{ bottom: 10, left: 20, right: 150, top: 10 }' }
},
type: { name: 'object' },
description: 'The margins around the content. The right margin should be larger to include the rendered label text.'
},
children: {
table: { category: categories.rendering },
control: { disable: true },
description: 'Will be rendered as children of the SVG, before the links and nodes.'
},
nodeShape: {
options: ['circle', 'image', 'polygon', 'rect'],
table: {
category: categories.rendering,
defaultValue: { summary: 'circle' }
},
type: { name: 'select' },
description: 'The shape of the node icons. Additional nodeProps must be specifed for polygon and rect.'
},
pathFunc: {
control: { disable: true },
table: {
category: categories.rendering,
defaultValue: { summary: 'function(x1,y1,x2,y2)' }
},
description: 'Function to calculate the co-ordinates of the path between nodes.'
},
gProps: {
table: {
category: categories.properties,
defaultValue: { summary: '{ className: \'node\' }' }
},
type: { name: 'object' },
description: 'Props to be added to the `<g>` element. The default className will still be applied if a className property is not set.'
},
nodeProps: {
table: { category: categories.properties },
type: { name: 'object' },
description: 'Props to be added to the `<circle>`, `<image>`, `<polygon>` or `<rect>` element. These will take priority over the default r added to circle and height, width, x and y added to image and rect.'
},
pathProps: {
table: {
category: categories.properties,
defaultValue: { summary: '{ className: \'link\' }' }
},
type: { name: 'object' },
description: 'Props to be added to the `<path>` element. The default className will still be applied if a className property is not set.'
},
svgProps: {
table: { category: categories.properties },
type: { name: 'object' },
description: 'Props to be added to the `<svg>` element.'
},
textProps: {
table: { category: categories.properties },
type: { name: 'object' },
description: 'Props to be added to the `<text>` element.'
}
};
export const AnimatedTreeArgTypes = {
duration: {
table: {
category: categories.animation,
defaultValue: { summary: 500 }
},
type: { name: 'number' },
description: 'The duration in milliseconds of animations.'
},
easing: {
mapping: {
easeBack,
easeBackIn,
easeBackOut,
easeBounce,
easeBounceIn,
easeBounceInOut,
easeCircle,
easeCircleIn,
easeCircleOut,
easeCubic,
easeCubicIn,
easeCubicOut,
easeElastic,
easeElasticIn,
easeElasticInOut,
easeExp,
easeExpIn,
easeExpOut,
easeLinear,
easePoly,
easePolyIn,
easePolyOut,
easeQuad,
easeQuadIn,
easeQuadOut,
easeSin,
easeSinIn,
easeSinOut
},
options: [
'easeBack',
'easeBackIn',
'easeBackOut',
'easeBounce',
'easeBounceIn',
'easeBounceInOut',
'easeCircle',
'easeCircleIn',
'easeCircleOut',
'easeCubic',
'easeCubicIn',
'easeCubicOut',
'easeElastic',
'easeElasticIn',
'easeElasticInOut',
'easeExp',
'easeExpIn',
'easeExpOut',
'easeLinear',
'easePoly',
'easePolyIn',
'easePolyOut',
'easeQuad',
'easeQuadIn',
'easeQuadOut',
'easeSin',
'easeSinIn',
'easeSinOut'
],
table: {
category: categories.animation,
defaultValue: { summary: 'easeQuadOut' }
},
type: { name: 'select' },
description: 'The easing function for animations. Takes in a number between 0 and 1 and returns a number between 0 and 1. The options here are all from the d3-ease library.'
},
steps: {
table: {
category: categories.animation,
defaultValue: { summary: 20 }
},
type: { name: 'number' },
description: 'The number of steps in animations. A higher number will result in a smoother animation, but too high will cause performance issues.'
},
...TreeArgTypes
};
================================================
FILE: .storybook/stories/intro.mdx
================================================
import { Meta } from '@storybook/addon-docs/blocks';
<Meta title="Introduction" />
# react-tree-graph [](https://github.com/jpb12/react-tree-graph)
[](https://github.com/jpb12/react-tree-graph/actions/workflows/build.yml?query=branch%3Amaster) [](https://coveralls.io/github/jpb12/react-tree-graph?branch=master) [](https://www.npmjs.com/package/react-tree-graph) [](https://www.npmjs.com/package/react-tree-graph) [](https://bundlephobia.com/result?p=react-tree-graph) [](https://github.com/jpb12/react-tree-graph/blob/master/LICENSE)
A simple react component which renders data as a tree using svg.
The source code for these examples can be found on [github](https://github.com/jpb12/react-tree-graph/tree/master/.storybook/stories).
## Installation
```sh
npm install react-tree-graph --save
```
## Usage
```javascript
import { Tree } from 'react-tree-graph';
const data = {
name: 'Parent',
children: [{
name: 'Child One'
}, {
name: 'Child Two'
}]
};
<Tree
data={data}
height={400}
width={400}/>);
import { AnimatedTree } from 'react-tree-graph';
<AnimatedTree
data={data}
height={400}
width={400}/>);
```
If you are using webpack, and have [css-loader](https://www.npmjs.com/package/css-loader), you can include some default styles with:
```javascript
import 'react-tree-graph/dist/style.css'
```
Alternatively, both the JavaScript and CSS can be included directly from the dist folder with script tags.
================================================
FILE: .storybook/stories/labels.stories.js
================================================
import React from 'react';
import { Tree } from '../../src';
import { TreeArgTypes } from './argTypes';
export default {
title: 'Tree/Labels',
component: Tree,
argTypes: TreeArgTypes,
parameters: {
docs: {
description: {
component: 'Setting a `labelProp` allows multiple nodes to have the same label. You can also achieve the same result by setting a `keyProp` instead.'
}
}
}
};
export const Duplicate = {
args: {
height: 400,
width: 600,
data: {
name: 'Parent',
label: 'Parent',
children: [{
label: 'Child',
name: 'Child One'
}, {
label: 'Child',
name: 'Child Two'
}]
},
labelProp: 'label'
},
parameters: {
controls: { include: ['data', 'labelProp'] }
}
};
export const JSX = {
args: {
height: 400,
width: 600,
data: {
name: 'Parent',
label: 'String',
children: [{
label: <><rect height="18" width="32" y="-15"/><text dx="2">JSX</text></>,
name: 'Child One'
}, {
label: () => <text>Custom component</text>,
name: 'Child Two'
}]
},
labelProp: 'label'
},
parameters: {
controls: { include: ['data', 'labelProp'] },
docs: {
description: {
story: 'Setting a `labelProp` allows labels to be JSX. They must return valid SVG elements.'
}
}
}
};
================================================
FILE: .storybook/stories/nodes.stories.js
================================================
import { Tree } from '../../src';
import { TreeArgTypes } from './argTypes';
import '../styles/nodeProps.css';
import '../styles/polygon.css';
export default {
title: 'Tree/Nodes',
subtitle: 'Rectangular Nodes',
component: Tree,
argTypes: TreeArgTypes
};
const defaultArgs = {
height: 400,
width: 600,
data: {
name: 'Parent',
children: [{
name: 'Child One'
}, {
name: 'Child Two'
}]
}
};
export const RectangularNodes = {
args: {
...defaultArgs,
nodeShape: 'rect',
nodeProps: { rx: 2 }
},
parameters: {
componentSubtitle: 'Rectangular Nodes',
controls: { include: ['data', 'nodeShape', 'nodeProps'] }
}
};
export const PolygonNodes = {
args: {
...defaultArgs,
nodeShape: 'polygon',
nodeProps: {
points: [
10,
0,
12.351141009169893,
6.76393202250021,
19.510565162951536,
6.9098300562505255,
13.804226065180615,
11.23606797749979,
15.877852522924734,
18.090169943749473,
10,
14,
4.12214747707527,
18.090169943749473,
6.195773934819385,
11.23606797749979,
0.4894348370484636,
6.909830056250527,
7.648858990830107,
6.76393202250021
].join(','),
transform: 'translate(-10,-10)'
},
svgProps: { className: 'star' },
textProps: { dx: 10.5 }
},
parameters: {
controls: { include: ['data', 'nodeShape', 'nodeProps', 'svgProps', 'textProps'] },
docs: {
description: {
story: 'For polygons, you will have to pass additional props to position the polygon and text. The polygon should be translated by half it\'s width and height, and the text should be offset by half the polygon\'s width plus some spacing for a gap.'
}
}
}
};
export const ImageNodes = {
args: {
...defaultArgs,
nodeShape: 'image',
nodeProps: {
height: 20,
width: 20,
href: 'disc.png'
}
},
parameters: {
controls: { include: ['data', 'nodeShape', 'nodeProps'] }
}
};
export const CustomNodeProps = {
args: {
...defaultArgs,
data: {
name: 'Parent',
children: [
{
label: 'First Child',
labelProp: 'label',
name: 'Child One',
shape: 'rect'
}, {
name: 'Child Two',
gProps: {
className: 'red-node'
}
}
]
},
gProps: {
onClick: (event, node) => alert(`Clicked ${node}!`)
}
},
parameters: {
controls: { include: ['data', 'nodeProps', 'gProps', 'pathProps', 'textProps', 'labelProp', 'keyProp', 'nodeShape'] },
docs: {
description: {
story: 'You can override props for individual nodes by setting them inside the `data` prop. `nodeProps`, `gProps`, `pathProps` (taken from the target node) and `textProps` on each node will be combined with those passed into `<Tree>`. `keyProp`, `labelProp` and `shape` (overrides `nodeShape`) will override those passed into `<Tree>`'
}
}
}
};
================================================
FILE: .storybook/stories/tree.stories.js
================================================
import React from 'react';
import { Tree } from '../../src';
import { TreeArgTypes } from './argTypes';
import '../styles/styles.css';
export default {
title: 'Tree',
component: Tree,
argTypes: TreeArgTypes,
parameters: {
docs: {
description: {
component: 'The Tree component should be used when animations are not needed. The only required props are data, height and width.'
}
}
}
};
export const Simple = {
args: {
height: 400,
width: 600,
data: {
name: 'Parent',
children: [{
name: 'Child One'
}, {
name: 'Child Two'
}]
}
}
};
export const Events = {
args: {
...Simple.args,
gProps: {
onClick: (event, nodeKey) => alert(`Left clicked ${nodeKey}`),
onContextMenu: (event, nodeKey) => {
event.preventDefault();
alert(`Right clicked ${nodeKey}`);
}
}
},
parameters: {
controls: { include: ['data', 'gProps', 'pathProps', 'svgProps', 'textProps'] },
docs: {
description: {
story: 'Click on a node to trigger the custom event. You can also configure custom events on any of the rendered SVG elements.'
}
}
}
};
export const CustomChildren = {
args: {
...Simple.args,
children: <text dy="15" dx="5">Custom Title</text>
},
parameters: {
controls: { include: ['data', 'children'] },
docs: {
description: {
story: 'Children will be rendered before the tree.'
}
}
}
};
export const CustomPaths = {
args: {
...Simple.args,
pathFunc: (x1, y1, x2, y2) => `M${x1},${y1} ${x2},${y2}`
},
parameters: {
controls: { include: ['data', 'pathFunc'] },
docs: {
description: {
story: 'You can pass in a custom function for calculating the shape of a path between two nodes.'
}
}
}
};
export const RightToLeft = {
args: {
...Simple.args,
direction: 'rtl'
},
parameters: {
controls: { include: ['data', 'direction'] },
docs: {
description: {
story: 'The tree can be rendered right-to-left.'
}
}
}
};
export const Transformations = {
args: {
...Simple.args,
width: 400,
svgProps: { transform: 'rotate(90)' }
},
parameters: {
controls: { include: ['data', 'svgProps'] },
docs: {
description: {
story: 'You can apply transformations to the tree, such as rotating it to display vertically.'
}
}
}
};
export const CustomStyles = {
args: {
...Simple.args,
svgProps: { className: 'custom' }
},
parameters: {
controls: { include: ['data', 'svgProps'] },
docs: {
description: {
story: 'CSS used here is available at https://github.com/jpb12/react-tree-graph/blob/master/.storybook/styles/styles.css'
}
}
},
render: args => <div className="custom-container"><Tree {...args}/></div>
};
================================================
FILE: .storybook/styles/nodeProps.css
================================================
.red-node {
fill: red;
stroke: red;
}
================================================
FILE: .storybook/styles/polygon.css
================================================
svg.star polygon {
fill: white;
stroke: black;
}
================================================
FILE: .storybook/styles/styles.css
================================================
div.custom-container {
background-color: #242424;
padding: 20px;
}
svg.custom .node circle {
fill: #F3F3FF;
stroke: #2593B8;
stroke-width: 1.5px;
}
svg.custom .node text {
font-size: 11px;
background-color: #444;
fill: #F4F4F4;
text-shadow: 0 1px 4px black;
}
svg.custom .node {
cursor: pointer;
}
svg.custom path.link {
fill: none;
stroke: #2593B8;
stroke-width: 1.5px;
}
================================================
FILE: CHANGELOG.md
================================================
# Changelog
## 8.0.3 (13 Jan 2025)
* Fixing defaultProps error in react 19
## 8.0.2 (30 Apr 2024)
* Support for react 19
* Dropped support for react < 16.8 (already broken in a pervious update)
## 8.0.1 (10 Jan 2023)
* Fixing overriding of unrelated props
## 8.0.0 (25 Oct 2022)
* Breaking change: Fixed x and y co-ordinates being flipped in pathfunc
* Right-to-left support
* Fixed margins not being applied properly
## 7.0.6 (21 Oct 2022)
* Fixing cleanup of finished animations
## 7.0.5 (21 Oct 2022)
* Fixing cleanup of unfinished animations
## 7.0.4 (21 Oct 2022)
* Reducing bundle size
* Rewriting to use functional components
## 7.0.3 (11 Feb 2022)
* Moving RFDC from dependency to dev dependency
## 7.0.2 (9 Feb 2022)
* Fixing preinstall script causes install failure
## 7.0.1 (9 Feb 2022)
* Fixing non-string node labels
## 7.0.0 (10 Jan 2022)
* Breaking change: Single default export replaced with two named exports
* Support for tree shaking
* Significantly reduces bundle size, reduced even further if not using animations
### Migrating
* If you were using `animated=true`, use the named `AnimatedTree` export
* Otherwise, use the named `Tree` export
* The `animated` prop is no longer used and can be removed
## 6.1.0 (29 Nov 2021)
* Support for react 18
## 6.0.1 (17 Jun 2021)
* Removing unneeded files from npm package
## 6.0.0 (9 Feb 2021)
* Breaking change: Dropped support for IE (reduces bundle size by about 1/3)
* Updated to d3 2.0.0
## 5.1.1 (8 Feb 2021)
* Added support for react 17 as a peer dependency
## 5.1.0 (27 Jun 2020)
* Adding support for image
## 5.0.0 (19 Jun 2020)
* Breaking change: Adding support for rect and polygon
* Breaking change: Allowing textProps to override default offsets
* Breaking change: Fixing incorrect default offsets
* Breaking change: Wrapping nodes and links in a <g> node for easier transformations
### Migrating
* If you were using `circleProps`, use `nodeProps` instead. The format is the same
* If you were using `nodeRadius`, instead pass an `r` prop through `nodeProps`
* If you were using `nodeOffset`, instead pass a `dy` prop through `textProps`
* If you had css selectors relying on the `path` and `g` nodes being immediate children of `svg`, you will have to modify these due to the additional `g` node inbetween
* If you weren't using `nodeOffset`, node text position will change slightly
## 4.1.1 (5 Jun 2020)
* Fixed incorrect proptype (thanks @josh-stevens)
## 4.1.0 (16 Mar 2020)
* Added pathFunc prop to configure custom paths
## 4.0.1 (12 Aug 2019)
* Fixing default classname being removed when any props configured
## 4.0.0 (11 Feb 2019)
* Breaking change: additional parameters are now passed in after the event parameter
* Added support for additional parameters in arbitrary event handlers
## 3.3.0 (7 Feb 2019)
* onContextMenu handlers for nodes and links now have the same additional parameters as onClick (thanks @Linton-Samuel-Dawson)
## 3.2.0 (24 Sep 2018)
* Adding rendering of custom children
## 3.1.1 (21 Apr 2018)
* Replaced webpack with rollup for smaller bundle size and better performance
## 3.1.0 (21 Dec 2017)
* Changed babel transform settings to reduce minified bundle size
## 3.0.0 (16 Dec 2017)
* New props for adding any prop to any DOM element
* circleProps
* gProps
* pathProps
* svgProps
* textProps
* Redundant props have been removed
* linkClassName
* linkClassHandler
* nodeClassName
* nodeClassHandler
* treeClassName
* treeClickHandler
## 2.0.0 (12 Jul 2017)
* Animations
* Significant performance improvements on large trees (tested with > 150 nodes)
* Added nodes now animate from the position of the closest, previously visible, ancestor
* Removed nodes now animate to the position of the closest, remaining ancestor
* Renamed Class props to ClassName props
* Added importing of polyfills for IE support
## 1.7.2 (7 Jul 2017)
* Fixing initial position of added animated nodes when root moves
## 1.7.1 (4 Jul 2017)
* Updating built files to include change in previous version
## 1.7.0 (26 Jun 2017)
* Added treeClass and treeClickHandler props
## 1.6.0 (24 Jun 2017)
* Adding animations
## 1.5.0 (13 May 2017)
* Removed warnings in react 15.5+
## 1.4.0 (29 Apr 2017)
* Added getChildren prop
## 1.3.0 (14 Apr 2017)
* Node and click handlers now have event as a second parameter (thanks @ronaldborman)
## 1.2.3 (11 Apr 2017)
* Updating built files to include change in previous version
## 1.2.2 (11 Apr 2017)
* Fixed undefined being passed into Link's onClick handler
## 1.2.1 (29 Mar 2017)
* Using d3-hierarchy instead of d3. This should significantly reduce bundle size
## 1.2.0 (5 Mar 2017)
* Upgraded dependencies, including webpack to 2.x
* Included a CSS file for basic styling
## 1.1.0 (14 Dec 2016)
* Upgraded d3 dependency to 4.4.0
* Included a minified file
## 1.0.1 (11 Dec 2016)
* Removing an npm shrinkwrap file. Its presence caused duplicate dependencies to be installed when react-tree-graph was installed
## 1.0.0 (11 Dec 2016)
* Initial release
================================================
FILE: LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2016 James Brierley
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
react-tree-graph [](https://github.com/jpb12/react-tree-graph)
================================================================================================================================================
[](https://github.com/jpb12/react-tree-graph/actions/workflows/build.yml?query=branch%3Amaster) [](https://coveralls.io/github/jpb12/react-tree-graph?branch=master) [](https://www.npmjs.com/package/react-tree-graph) [](https://www.npmjs.com/package/react-tree-graph) [](https://bundlephobia.com/result?p=react-tree-graph) [](https://github.com/jpb12/react-tree-graph/blob/master/LICENSE) [](https://jpb12.github.io/react-tree-graph)
A simple react component which renders data as a tree using svg.
Supports react 16.8+.
Check out the [examples](https://jpb12.github.io/react-tree-graph) and the [demo](https://jpb12.github.io/tree-viewer/).
Older Versions
--------------
[7.X](https://github.com/jpb12/react-tree-graph/tree/v7.0.6)
[6.X](https://github.com/jpb12/react-tree-graph/tree/v6.1.0)
[5.X](https://github.com/jpb12/react-tree-graph/tree/v5.1.1)
[4.X](https://github.com/jpb12/react-tree-graph/tree/v4.1.1)
[3.X](https://github.com/jpb12/react-tree-graph/tree/v3.3.0)
[2.X](https://github.com/jpb12/react-tree-graph/tree/v2.0.0)
[1.X](https://github.com/jpb12/react-tree-graph/tree/v1.7.2)
Installation
----------
```sh
npm install react-tree-graph --save
```
Usage
-----
```javascript
import { Tree } from 'react-tree-graph';
const data = {
name: 'Parent',
children: [{
name: 'Child One'
}, {
name: 'Child Two'
}]
};
<Tree
data={data}
height={400}
width={400}/>);
import { AnimatedTree } from 'react-tree-graph';
<AnimatedTree
data={data}
height={400}
width={400}/>);
```
If you are using webpack, and have [css-loader](https://www.npmjs.com/package/css-loader), you can include some default styles with:
```javascript
import 'react-tree-graph/dist/style.css'
```
Alternatively, both the JavaScript and CSS can be included directly from the dist folder with script tags.
Configuration
-------------
Tree
| Property | Type | Mandatory | Default | Description |
|:---|:---|:---|:---|:---|
| `data` | object | yes | | The data to be rendered as a tree. Must be in a format accepted by [d3.hierarchy](https://github.com/d3/d3-hierarchy/blob/master/README.md#hierarchy). |
| `margins` | object | | `{ bottom : 10, left : 20, right : 150, top : 10}` | The margins around the content. The right margin should be larger to include the rendered label text. |
| `height` | number | yes | | The height of the rendered tree, including margins. |
| `width` | number | yes | | The width of the rendered tree, including margins. |
| `direction` | `ltr`,`rtl` | | `ltr` | The direction the tree will be rendered in. Either left-to-right or right-to-left. |
| `children` | node | | | Will be rendered as children of the SVG, before the links and nodes. |
| `getChildren` | function(node) | | node => node.children | A function that returns the children for a node, or null/undefined if no children exist. |
| `keyProp` | string | | "name" | The property on each node to use as a key. |
| `labelProp` | string | | "name" | The property on each node to render as a label. |
| `nodeShape` | `circle`,`image`,`polygon`,`rect` | | `circle` | The shape of the node icons. |
| `nodeProps` | object | | `{}` | Props to be added to the `<circle>`, `<image>`, `<polygon>` or `<rect>` element. These will take priority over the default `r` added to `circle` and `height`, `width`, `x` and `y` added to `image` and `rect`. |
| `gProps` | object | | `{ className: 'node' }` | Props to be added to the `<g>` element. The default className will still be applied if a className property is not set. |
| `pathProps` | object | | `{ className: 'link' }` | Props to be added to the `<path>` element. The default className will still be applied if a className property is not set. |
| `pathFunc` | function(x1,y1,x2,y2) | | curved | Function to calculate the co-ordinates of the path between nodes. |
| `svgProps` | object | | `{}` | Props to be added to the `<svg>` element. |
| `textProps` | object | | `{}` | Props to be added to the `<text>` element. |
AnimatedTree has the following properties in addition to the above.
| Property | Type | Mandatory | Default | Description |
|:---|:---|:---|:---|:---|
| `duration` | number | | 500 | The duration in milliseconds of animations. |
| `easing` | function(interval) | | [d3-ease](https://www.npmjs.com/package/d3-ease).easeQuadOut | The easing function for animations. Takes in a number between 0 and 1, and returns a number between 0 and 1. |
| `steps` | number | | 20 | The number of steps in animations. A higher number will result in a smoother animation, but too high will cause performance issues. |
### Events
Event handlers in `nodeProps`, `gProps` and `textProps` will be called with the node ID as an additional parameter.
`function(event, nodeId) { ... }`
Event handlers in `pathProps` will be called with the source and target node IDs as additional parameters.
`function(event, sourceNodeId, targetNodeId) { ... }`
### Overriding props
The following properties can also be overridden by setting then for individual nodes.
| Global Prop | Node Prop |
|:---|:---|
| `keyProp` | `keyProp` |
| `labelProp` | `labelProp` |
| `nodeShape` | `shape` |
The following object properties, if set on individual nodes, will be combined with the object properties set on the tree. If a property exists in both objects, the value from the node will be taken.
| Prop | Description |
|:---|:---|
| `nodeProps` | |
| `gProps` | |
| `pathProps` | Props for a path are taken from the target node. |
| `textProps` | |
TypeScript
----------
[Type definitions](https://www.npmjs.com/package/@types/react-tree-graph) are available as a separate package. (thanks @PCOffline)
================================================
FILE: __tests__/.eslintrc.json
================================================
{
"env": {
"jest": true,
"node": true
},
"extends": "../.eslintrc.json"
}
================================================
FILE: __tests__/Components/__snapshots__/animatedTests.js.snap
================================================
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`<Animated> does not animate when props other than nodes or links change 1`] = `
<Container
direction="ltr"
duration={1}
easing={[Function]}
gProps={{}}
getChildren={[Function]}
height={100}
keyProp="name"
labelProp="name"
links={
[
{
"source": {
"data": {
"name": "Colour",
},
"x": 1,
"y": 2,
},
"target": {
"data": {
"name": "Black",
},
"x": 1,
"y": 2,
},
},
]
}
margins={
{
"left": 20,
"top": 10,
}
}
nodeProps={{}}
nodeShape="rect"
nodes={
[
{
"data": {
"name": "Colour",
},
"x": 1,
"y": 2,
},
{
"data": {
"name": "Black",
},
"x": 1,
"y": 2,
},
]
}
pathProps={{}}
steps={1}
svgProps={{}}
textProps={{}}
width={100}
/>
`;
exports[`<Animated> renders correctly and sets initial state 1`] = `
<Container
direction="ltr"
duration={1}
easing={[Function]}
gProps={{}}
getChildren={[Function]}
height={100}
keyProp="name"
labelProp="name"
links={
[
{
"source": {
"data": {
"name": "Colour",
},
"x": 1,
"y": 2,
},
"target": {
"data": {
"name": "Black",
},
"x": 1,
"y": 2,
},
},
]
}
margins={
{
"left": 20,
"top": 10,
}
}
nodeProps={{}}
nodeShape="circle"
nodes={
[
{
"data": {
"name": "Colour",
},
"x": 1,
"y": 2,
},
{
"data": {
"name": "Black",
},
"x": 1,
"y": 2,
},
]
}
pathProps={{}}
steps={1}
svgProps={{}}
textProps={{}}
width={100}
/>
`;
================================================
FILE: __tests__/Components/__snapshots__/animatedTreeTests.js.snap
================================================
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`<AnimatedTree> renders correctly 1`] = `
<Animated
direction="ltr"
duration={500}
easing={[Function]}
gProps={
{
"className": "node",
}
}
getChildren={[Function]}
height={100}
keyProp="name"
labelProp="name"
links={
[
{
"source": {
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [Circular],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 0,
"y": 40,
},
"target": {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": [Circular],
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 30,
"y": 40,
},
},
]
}
margins={
{
"bottom": 10,
"left": 20,
"right": 150,
"top": 10,
}
}
nodeProps={{}}
nodeShape="circle"
nodes={
[
{
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [Circular],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 0,
"y": 40,
},
{
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": [Circular],
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 30,
"y": 40,
},
]
}
pathProps={
{
"className": "link",
}
}
steps={20}
svgProps={{}}
textProps={{}}
width={200}
/>
`;
================================================
FILE: __tests__/Components/__snapshots__/containerTests.js.snap
================================================
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`<Container> html tree props added 1`] = `
<svg
className="test-class"
height={100}
stoke="none"
width={200}
>
<g
transform="translate(20, 10)"
/>
</svg>
`;
exports[`<Container> renders children 1`] = `
<svg
height={100}
width={200}
>
<text>
Extra child
</text>
<g
transform="translate(20, 10)"
>
<Link
key="Black"
keyProp="name"
pathProps={{}}
source={
{
"data": {
"name": "Colour",
},
"x": 1,
"y": 2,
}
}
target={
{
"data": {
"name": "Black",
},
"x": 100,
"y": 50,
}
}
x1={1}
x2={100}
y1={2}
y2={50}
/>
<Node
direction="ltr"
gProps={{}}
key="Colour"
keyProp="name"
labelProp="name"
name="Colour"
nodeProps={{}}
shape="circle"
textProps={{}}
x={1}
y={2}
/>
<Node
direction="ltr"
gProps={{}}
key="Black"
keyProp="name"
labelProp="name"
name="Black"
nodeProps={{}}
shape="circle"
textProps={{}}
x={100}
y={50}
/>
</g>
</svg>
`;
exports[`<Container> renders correctly 1`] = `
<svg
height={100}
width={200}
>
<g
transform="translate(20, 10)"
>
<Link
key="Black"
keyProp="name"
pathProps={{}}
source={
{
"data": {
"name": "Colour",
},
"x": 1,
"y": 2,
}
}
target={
{
"data": {
"name": "Black",
},
"x": 100,
"y": 50,
}
}
x1={1}
x2={100}
y1={2}
y2={50}
/>
<Node
direction="ltr"
gProps={{}}
key="Colour"
keyProp="name"
labelProp="name"
name="Colour"
nodeProps={{}}
shape="circle"
textProps={{}}
x={1}
y={2}
/>
<Node
direction="ltr"
gProps={{}}
key="Black"
keyProp="name"
labelProp="name"
name="Black"
nodeProps={{}}
shape="circle"
textProps={{}}
x={100}
y={50}
/>
</g>
</svg>
`;
================================================
FILE: __tests__/Components/__snapshots__/linkTests.js.snap
================================================
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`<Link> renders correctly 1`] = `
<path
className="Link"
d="M1,2C3,2 3,9 5,9"
/>
`;
exports[`<Link> renders correctly with custom path 1`] = `
<path
className="Link"
d="M1,2 5,9"
/>
`;
================================================
FILE: __tests__/Components/__snapshots__/nodeTests.js.snap
================================================
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`<Node> htmlProps applied to all elements 1`] = `
<g
className="g"
direction={null}
transform="translate(1, 2)"
>
<circle
className="circle"
r={5}
/>
<text
className="text"
dx={5.5}
dy={5}
>
Test Node
</text>
</g>
`;
exports[`<Node> renders circle correctly 1`] = `
<g
className="test"
direction={null}
transform="translate(1, 2)"
>
<circle
r={5}
/>
<text
dx={5.5}
dy={5}
>
Test Node
</text>
</g>
`;
exports[`<Node> renders circle correctly with custom radius 1`] = `
<g
className="test"
direction={null}
transform="translate(1, 2)"
>
<circle
r={10}
/>
<text
dx={10.5}
dy={5}
>
Test Node
</text>
</g>
`;
exports[`<Node> renders custom label correctly 1`] = `
<g
className="test"
direction={null}
transform="translate(1, 2)"
>
<circle
r={5}
/>
<g
transform="translate(5.5, 5)"
>
<circle
r="5"
/>
</g>
</g>
`;
exports[`<Node> renders image correctly 1`] = `
<g
className="test"
direction={null}
transform="translate(1, 2)"
>
<image
height={10}
href="http://example.com"
width={10}
x={-5}
y={-5}
/>
<text
dx={5.5}
dy={5}
>
Test Node
</text>
</g>
`;
exports[`<Node> renders image correctly with custom size 1`] = `
<g
className="test"
direction={null}
transform="translate(1, 2)"
>
<image
height={20}
href="http://example.com"
width={30}
x={-15}
y={-10}
/>
<text
dx={15.5}
dy={5}
>
Test Node
</text>
</g>
`;
exports[`<Node> renders rect correctly 1`] = `
<g
className="test"
direction={null}
transform="translate(1, 2)"
>
<rect
height={10}
width={10}
x={-5}
y={-5}
/>
<text
dx={5.5}
dy={5}
>
Test Node
</text>
</g>
`;
exports[`<Node> renders rect correctly with custom size 1`] = `
<g
className="test"
direction={null}
transform="translate(1, 2)"
>
<rect
height={20}
width={30}
x={-15}
y={-10}
/>
<text
dx={15.5}
dy={5}
>
Test Node
</text>
</g>
`;
exports[`<Node> renders rtl correctly 1`] = `
<g
className="test"
direction="rtl"
transform="translate(1, 2)"
>
<circle
r={5}
/>
<text
dx={-5.5}
dy={5}
>
Test Node
</text>
</g>
`;
================================================
FILE: __tests__/Components/__snapshots__/treeTests.js.snap
================================================
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`<Tree> renders correctly 1`] = `
<Container
direction="ltr"
gProps={
{
"className": "node",
}
}
getChildren={[Function]}
height={100}
keyProp="name"
labelProp="name"
links={
[
{
"source": {
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [Circular],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 0,
"y": 40,
},
"target": {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": [Circular],
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 30,
"y": 40,
},
},
]
}
margins={
{
"bottom": 10,
"left": 20,
"right": 150,
"top": 10,
}
}
nodeProps={{}}
nodeShape="circle"
nodes={
[
{
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [Circular],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 0,
"y": 40,
},
{
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": Node {
"children": [
Node {
"data": {
"name": "Black",
},
"depth": 1,
"height": 0,
"parent": [Circular],
"x": 40,
"y": 30,
},
],
"data": {
"children": [
{
"name": "Black",
},
],
"name": "Colour",
},
"depth": 0,
"height": 1,
"parent": null,
"x": 40,
"y": 0,
},
"x": 30,
"y": 40,
},
]
}
pathProps={
{
"className": "link",
}
}
svgProps={{}}
textProps={{}}
width={200}
/>
`;
================================================
FILE: __tests__/Components/animatedTests.js
================================================
import React, { act } from 'react';
import { mount, shallow } from 'enzyme';
import { easeQuadOut } from 'd3-ease';
import Animated from '../../src/components/animated';
import Container from '../../src/components/container';
jest.useFakeTimers();
const nodes = [
{
x: 1,
y: 2,
data: {
name: 'Colour'
}
}, {
x: 100,
y: 50,
data: {
name: 'Black'
}
}
];
const links = [{
source: nodes[0],
target: nodes[1]
}];
const defaultProps = {
direction: 'ltr',
getChildren: n => n.children,
height: 100,
width: 100,
keyProp: 'name',
labelProp: 'name',
nodeShape: 'circle',
duration: 1,
easing: easeQuadOut,
links: links,
nodes: nodes,
margins: { top: 10, left: 20 },
steps: 1,
nodeProps: {},
gProps: {},
pathProps: {},
svgProps: {},
textProps: {}
};
describe('<Animated>', () => {
test('renders correctly and sets initial state', () => {
const tree = shallow(<Animated {...defaultProps}/>);
expect(tree).toMatchSnapshot();
expect(tree.find(Container).props().nodes[1].x).toBe(1);
expect(tree.find(Container).props().nodes[1].y).toBe(2);
expect(tree.find(Container).props().links[0].target.x).toBe(1);
expect(tree.find(Container).props().links[0].target.y).toBe(2);
});
test('animates node when moved', () => {
const tree = mount(<Animated {...defaultProps} steps={2} duration={100}/>);
act(() => jest.advanceTimersByTime(100));
tree.update();
expect(tree.find(Container).props().nodes[1].x).toBe(100);
expect(tree.find(Container).props().nodes[1].y).toBe(50);
tree.setProps({
nodes: [
nodes[0],
{
x: 120,
y: 80,
data: {
name: 'Black'
}
}
]
});
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes[1].x).toBe(115);
expect(tree.find(Container).props().nodes[1].y).toBe(72.5);
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes[1].x).toBe(120);
expect(tree.find(Container).props().nodes[1].y).toBe(80);
});
test('animates link when moved', () => {
const tree = mount(<Animated {...defaultProps} steps={2} duration={100}/>);
act(() => jest.advanceTimersByTime(100));
tree.update();
expect(tree.find(Container).props().links[0].source.x).toBe(1);
expect(tree.find(Container).props().links[0].source.y).toBe(2);
expect(tree.find(Container).props().links[0].target.x).toBe(100);
expect(tree.find(Container).props().links[0].target.y).toBe(50);
tree.setProps({
links: [{
source: {
x: 5,
y: 10,
data: {
name: 'Colour'
}
},
target: {
x: 200,
y: 100,
data: {
name: 'Black'
}
}
}]
});
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().links[0].source.x).toBe(4);
expect(tree.find(Container).props().links[0].source.y).toBe(8);
expect(tree.find(Container).props().links[0].target.x).toBe(175);
expect(tree.find(Container).props().links[0].target.y).toBe(87.5);
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().links[0].source.x).toBe(5);
expect(tree.find(Container).props().links[0].source.y).toBe(10);
expect(tree.find(Container).props().links[0].target.x).toBe(200);
expect(tree.find(Container).props().links[0].target.y).toBe(100);
});
test('animates node when added', () => {
const tree = mount(<Animated {...defaultProps} steps={2} duration={100}/>);
tree.setProps({
nodes: [
nodes[0],
nodes[1],
{
x: 120,
y: 80,
data: {
name: 'Purple'
}
}
]
});
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes[2].x).toBe(90.25);
expect(tree.find(Container).props().nodes[2].y).toBe(60.5);
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes[2].x).toBe(120);
expect(tree.find(Container).props().nodes[2].y).toBe(80);
});
test('animates node from parent when added', () => {
const tree = mount(<Animated {...defaultProps} steps={2} duration={100}/>);
act(() => jest.advanceTimersByTime(100));
tree.setProps({
nodes: [
nodes[0],
{
x: 100,
y: 50,
data: {
name: 'Black'
},
children: [{
data: {
name: 'Purple'
}
}]
},
{
x: 120,
y: 80,
data: {
name: 'Purple'
}
}
]
});
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes[2].x).toBe(115);
expect(tree.find(Container).props().nodes[2].y).toBe(72.5);
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes[2].x).toBe(120);
expect(tree.find(Container).props().nodes[2].y).toBe(80);
});
test('animates link when added', () => {
const tree = mount(<Animated {...defaultProps} steps={2} duration={100}/>);
tree.setProps({
links: [
links[0],
{
source: {
x: 5,
y: 10,
data: {
name: 'Colour'
}
},
target: {
x: 200,
y: 100,
data: {
name: 'Purple'
}
}
}
]
});
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().links[1].source.x).toBe(4);
expect(tree.find(Container).props().links[1].source.y).toBe(8);
expect(tree.find(Container).props().links[1].target.x).toBe(150.25);
expect(tree.find(Container).props().links[1].target.y).toBe(75.5);
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().links[1].source.x).toBe(5);
expect(tree.find(Container).props().links[1].source.y).toBe(10);
expect(tree.find(Container).props().links[1].target.x).toBe(200);
expect(tree.find(Container).props().links[1].target.y).toBe(100);
});
test('animates node when removed', () => {
const tree = mount(<Animated {...defaultProps} steps={2} duration={100}/>);
act(() => jest.advanceTimersByTime(100));
tree.setProps({
nodes: [
nodes[0]
]
});
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes[1].x).toBe(25.75);
expect(tree.find(Container).props().nodes[1].y).toBe(14);
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().nodes.length).toBe(1);
});
test('animates link when removed', () => {
const tree = mount(<Animated {...defaultProps} steps={2} duration={100}/>);
act(() => jest.advanceTimersByTime(100));
tree.setProps({
links: []
});
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().links[0].source.x).toBe(75.25);
expect(tree.find(Container).props().links[0].source.y).toBe(38);
expect(tree.find(Container).props().links[0].target.x).toBe(100);
expect(tree.find(Container).props().links[0].target.y).toBe(50);
act(() => jest.advanceTimersByTime(50));
tree.update();
expect(tree.find(Container).props().links.length).toBe(0);
});
test('animates from inital value on mount', () => {
const tree = mount(<Animated {...defaultProps} duration={100}/>);
expect(tree.find(Container).props().nodes[1].x).toBe(1);
expect(tree.find(Container).props().nodes[1].y).toBe(2);
act(() => jest.advanceTimersByTime(100));
tree.update();
expect(tree.find(Container).props().nodes[1].x).toBe(100);
expect(tree.find(Container).props().nodes[1].y).toBe(50);
});
test('does not animate when props other than nodes or links change', () => {
const tree = shallow(<Animated {...defaultProps}/>);
tree.setProps({ nodeShape: 'rect' });
expect(tree).toMatchSnapshot();
});
});
================================================
FILE: __tests__/Components/animatedTreeTests.js
================================================
import React from 'react';
import { shallow } from 'enzyme';
import AnimatedTree from '../../src/components/animatedTree';
describe('<AnimatedTree>', () => {
test('renders correctly', () => {
const props = {
data: {
name: 'Colour',
children: [{
name: 'Black'
}]
},
height: 100,
width: 200
};
const tree = shallow(<AnimatedTree {...props}/>);
expect(tree).toMatchSnapshot();
});
});
================================================
FILE: __tests__/Components/containerTests.js
================================================
import React from 'react';
import { shallow } from 'enzyme';
import Container from '../../src/components/container';
import Link from '../../src/components/link';
import Node from '../../src/components/node';
const nodes = [
{
x: 1,
y: 2,
data: {
name: 'Colour'
}
}, {
x: 100,
y: 50,
data: {
name: 'Black'
}
}
];
const defaultProps = {
nodes: [],
links: [],
direction: 'ltr',
height: 100,
keyProp: 'name',
labelProp: 'name',
margins: { top: 10, left: 20 },
nodeShape: 'circle',
width: 200,
nodeProps: {},
gProps: {},
pathProps: {},
svgProps: {},
textProps: {}
};
describe('<Container>', () => {
test('renders correctly', () => {
const props = {
nodes: nodes,
links: [{
source: nodes[0],
target: nodes[1]
}]
};
const tree = shallow(<Container {...defaultProps} {...props}/>);
expect(tree).toMatchSnapshot();
});
test('renders children', () => {
const props = {
nodes: nodes,
links: [{
source: nodes[0],
target: nodes[1]
}]
};
const tree = shallow(<Container {...defaultProps} {...props}><text>Extra child</text></Container>);
expect(tree).toMatchSnapshot();
});
test('html tree props added', () => {
const props = {
svgProps: {
className: 'test-class',
stoke: 'none'
}
};
const tree = shallow(<Container {...defaultProps} {...props}/>);
expect(tree).toMatchSnapshot();
});
test('path props combined', () => {
const props = {
links: [{
source: nodes[0],
target: { ...nodes[1], data: { name: 1 } }
}, {
name: 2,
source: nodes[0],
target: { ...nodes[1], data: { name: 1, pathProps: { className: 'override' } } }
}],
pathProps: {
className: 'default'
}
};
const tree = shallow(<Container {...defaultProps} {...props}/>);
const links = tree.find(Link);
expect(links.length).toBe(2);
expect(links.at(0).props().pathProps).toEqual({ className: 'default' });
expect(links.at(1).props().pathProps).toEqual({ className: 'override' });
});
test('node props combined', () => {
function onClick() { }
const props = {
nodes: [
{ ...nodes[0], data: { name: 1 } },
{ ...nodes[1], data: { name: 2, gProps: { className: 'override' } } }
]
};
const tree = shallow(<Container {...defaultProps} {...props} gProps={{ className: 'default', onClick }}/>);
const domNodes = tree.find(Node);
expect(domNodes.length).toBe(2);
expect(domNodes.at(0).props().gProps).toEqual({ className: 'default', onClick });
expect(domNodes.at(1).props().gProps).toEqual({ className: 'override', onClick });
});
});
================================================
FILE: __tests__/Components/linkTests.js
================================================
import React from 'react';
import { shallow } from 'enzyme';
import Link from '../../src/components/link';
const defaultProps = {
source: {
data: {
id: 'origin'
}
},
target: {
data: {
id: 'target'
}
},
keyProp: 'id',
pathProps: {
className: 'Link'
},
x1: 1,
x2: 5,
y1: 2,
y2: 9
};
function straightPath(x1, y1, x2, y2) {
return `M${x1},${y1} ${x2},${y2}`;
}
describe('<Link>', () => {
test('renders correctly', () => {
const tree = shallow(<Link {...defaultProps}/>);
expect(tree).toMatchSnapshot();
});
test('renders correctly with custom path', () => {
const tree = shallow(<Link {...defaultProps} pathFunc={straightPath}/>);
expect(tree).toMatchSnapshot();
});
test('click event has correct parameters', () => {
const clickMock = jest.fn();
const event = {};
const props = {
pathProps: {
onClick: clickMock
}
};
const tree = shallow(<Link {...defaultProps} {...props}/>);
tree.find('path').simulate('click', event);
expect(clickMock).toHaveBeenCalledTimes(1);
expect(clickMock).toHaveBeenCalledWith(event, 'origin', 'target');
});
test('right click event has correct parameters', () => {
const rightClickMock = jest.fn();
const event = {};
const props = {
pathProps: {
onContextMenu: rightClickMock
}
};
const tree = shallow(<Link {...defaultProps} {...props}/>);
tree.find('path').simulate('contextmenu', event);
expect(rightClickMock).toHaveBeenCalledTimes(1);
expect(rightClickMock).toHaveBeenCalledWith(event, 'origin', 'target');
});
test('clicking with no prop handler does nothing', () => {
const tree = shallow(<Link {...defaultProps}/>);
tree.find('path').simulate('click');
});
});
================================================
FILE: __tests__/Components/nodeTests.js
================================================
import React from 'react';
import { shallow } from 'enzyme';
import Node from '../../src/components/node';
const defaultProps = {
x: 1,
y: 2,
keyProp: '',
labelProp: 'name',
direction: 'ltr',
shape: 'circle',
gProps: {
className: 'test'
},
nodeProps: {},
textProps: {},
name: 'Test Node'
};
describe('<Node>', () => {
test('renders circle correctly', () => {
const tree = shallow(<Node {...defaultProps}/>);
expect(tree).toMatchSnapshot();
});
test('renders circle correctly with custom radius', () => {
const tree = shallow(<Node {...defaultProps} nodeProps={{ r: 10 }}/>);
expect(tree).toMatchSnapshot();
});
test('renders rect correctly', () => {
const tree = shallow(<Node {...defaultProps} shape="rect"/>);
expect(tree).toMatchSnapshot();
});
test('renders rect correctly with custom size', () => {
const tree = shallow(<Node {...defaultProps} shape="rect" nodeProps={{ height: 20, width: 30 }}/>);
expect(tree).toMatchSnapshot();
});
test('renders image correctly', () => {
const tree = shallow(<Node {...defaultProps} shape="image" nodeProps={{ href: 'http://example.com' }}/>);
expect(tree).toMatchSnapshot();
});
test('renders image correctly with custom size', () => {
const tree = shallow(
<Node {...defaultProps} shape="image" nodeProps={{ href: 'http://example.com', height: 20, width: 30 }}/>
);
expect(tree).toMatchSnapshot();
});
test('renders custom label correctly', () => {
const tree = shallow(
<Node {...defaultProps} labelProp="label" label={<circle r="5"/>}/>
);
expect(tree).toMatchSnapshot();
});
test('renders rtl correctly', () => {
const tree = shallow(<Node {...defaultProps} direction="rtl"/>);
expect(tree).toMatchSnapshot();
});
test('click event has correct parameters', () => {
const clickMock = jest.fn();
const event = {};
const props = {
keyProp: 'id',
gProps: {
onClick: clickMock
},
id: 'testKey'
};
const tree = shallow(<Node {...defaultProps} {...props}/>);
tree.find('g').simulate('click', event);
expect(clickMock).toHaveBeenCalledTimes(1);
expect(clickMock).toHaveBeenCalledWith(event, 'testKey');
});
test('right click event has correct parameters', () => {
const rightClickMock = jest.fn();
const event = {};
const props = {
keyProp: 'id',
gProps: {
onContextMenu: rightClickMock
},
id: 'testKey'
};
const tree = shallow(<Node {...defaultProps} {...props}/>);
tree.find('g').simulate('contextmenu', event);
expect(rightClickMock).toHaveBeenCalledTimes(1);
expect(rightClickMock).toHaveBeenCalledWith(event, 'testKey');
});
test('clicking with no prop handler does nothing', () => {
const props = {
keyProp: 'id',
id: 'testKey'
};
const tree = shallow(<Node {...defaultProps} {...props}/>);
tree.find('g').simulate('click');
});
test('htmlProps applied to all elements', () => {
const props = {
gProps: {
className: 'g'
},
nodeProps: {
className: 'circle'
},
textProps: {
className: 'text'
}
};
const tree = shallow(<Node {...defaultProps} {...props}/>);
expect(tree).toMatchSnapshot();
});
});
================================================
FILE: __tests__/Components/treeTests.js
================================================
import React from 'react';
import { shallow } from 'enzyme';
import Tree from '../../src/components/tree';
describe('<Tree>', () => {
test('renders correctly', () => {
const props = {
data: {
name: 'Colour',
children: [{
name: 'Black'
}]
},
height: 100,
width: 200
};
const tree = shallow(<Tree {...props}/>);
expect(tree).toMatchSnapshot();
});
});
================================================
FILE: __tests__/d3Tests.js
================================================
import getTreeData from '../src/d3';
const defaultProps = {
getChildren: n => n.children,
direction: 'ltr',
height: 100,
width: 300
};
describe('getTreeData', () => {
test('does not mutate prop data', () => {
const data = {
name: 'Colour',
children: [{
name: 'Black'
}]
};
const clonedData = structuredClone(data);
getTreeData({ ...defaultProps, data });
expect(data).toMatchObject(clonedData);
});
test('calculates tree data correctly', () => {
const data = {
name: 'Colour',
children: [{
name: 'Black'
}]
};
const result = getTreeData({ ...defaultProps, data });
expect(result).toMatchObject({
nodes: [{
x: 0,
y: 40
}, {
x: 130,
y: 40
}]
});
});
test('calculates rtl tree data correctly', () => {
const data = {
name: 'Colour',
children: [{
name: 'Black'
}]
};
const result = getTreeData({ ...defaultProps, data, direction: 'rtl' });
expect(result).toMatchObject({
nodes: [{
x: 130,
y: 40
}, {
x: 0,
y: 40
}]
});
});
});
================================================
FILE: __tests__/startup.js
================================================
import Enzyme from 'enzyme';
import Adapter from '@cfaester/enzyme-adapter-react-18';
// JSDom does not have structuredClone method
global.structuredClone = val => JSON.parse(JSON.stringify(val));
Enzyme.configure({ adapter: new Adapter() });
================================================
FILE: __tests__/wrapHandlersTests.js
================================================
import wrapHandlers from '../src/wrapHandlers';
describe('wrapHandlers', () => {
test('does nothing if no events', () => {
const result = wrapHandlers({ x: 5 }, 1, 2);
expect(result).toMatchObject({ x: 5 });
});
test.each(['onBlur', 'onClick', 'onContextMenu', 'onFocus'])(
'wraps %s',
name => {
const handlerMock = jest.fn();
const result = wrapHandlers({ [name]: handlerMock }, 1, 2);
result[name](0);
expect(handlerMock).toHaveBeenCalledWith(0, 1, 2);
}
);
});
================================================
FILE: dist/index.js
================================================
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined'
? factory(
exports,
require('@babel/runtime/helpers/extends'),
require('d3-ease'),
require('react'),
require('d3-hierarchy'),
)
: typeof define === 'function' && define.amd
? define(
[
'exports',
'@babel/runtime/helpers/extends',
'd3-ease',
'react',
'd3-hierarchy',
],
factory,
)
: ((global =
typeof globalThis !== 'undefined' ? globalThis : global || self),
factory(
(global.ReactTreeGraph = {}),
global._extends,
global.d3,
global.React,
global.d3,
));
})(this, function (exports, _extends, d3Ease, React, d3Hierarchy) {
'use strict';
function _interopDefault(e) {
return e && e.__esModule ? e : { default: e };
}
var _extends__default = /*#__PURE__*/ _interopDefault(_extends);
var React__default = /*#__PURE__*/ _interopDefault(React);
function getTreeData(props) {
const margins = props.margins || {
bottom: 10,
left: props.direction !== 'rtl' ? 20 : 150,
right: props.direction !== 'rtl' ? 150 : 20,
top: 10,
};
const contentWidth = props.width - margins.left - margins.right;
const contentHeight = props.height - margins.top - margins.bottom;
const data = d3Hierarchy.hierarchy(props.data, props.getChildren);
const root = d3Hierarchy.tree().size([contentHeight, contentWidth])(data);
// d3 gives us a top to down tree, but we will display it left to right/right to left, so x and y need to be swapped
const links = root.links().map((link) => ({
...link,
source: {
...link.source,
x:
props.direction !== 'rtl'
? link.source.y
: contentWidth - link.source.y,
y: link.source.x,
},
target: {
...link.target,
x:
props.direction !== 'rtl'
? link.target.y
: contentWidth - link.target.y,
y: link.target.x,
},
}));
const nodes = root.descendants().map((node) => ({
...node,
x: props.direction !== 'rtl' ? node.y : contentWidth - node.y,
y: node.x,
}));
return {
links,
margins,
nodes,
};
}
const regex = /on[A-Z]/;
function wrapper(func, args) {
return (event) => func(event, ...args);
}
// Wraps any event handlers passed in as props with a function that passes additional arguments
function wrapHandlers(props, ...args) {
const handlers = Object.keys(props).filter(
(propName) =>
regex.test(propName) && typeof props[propName] === 'function',
);
const wrappedHandlers = handlers.reduce((acc, handler) => {
acc[handler] = wrapper(props[handler], args);
return acc;
}, {});
return {
...props,
...wrappedHandlers,
};
}
function diagonal(x1, y1, x2, y2) {
return `M${x1},${y1}C${(x1 + x2) / 2},${y1} ${(x1 + x2) / 2},${y2} ${x2},${y2}`;
}
function Link(props) {
const wrappedProps = wrapHandlers(
props.pathProps,
props.source.data[props.keyProp],
props.target.data[props.keyProp],
);
const pathFunc = props.pathFunc || diagonal;
const d = pathFunc(props.x1, props.y1, props.x2, props.y2);
return /*#__PURE__*/ React__default.default.createElement(
'path',
_extends__default.default({}, wrappedProps, {
d: d,
}),
);
}
function Node(props) {
function getTransform() {
return `translate(${props.x}, ${props.y})`;
}
let offset = 0.5;
let nodePropsWithDefaults = props.nodeProps;
switch (props.shape) {
case 'circle':
nodePropsWithDefaults = {
r: 5,
...nodePropsWithDefaults,
};
offset += nodePropsWithDefaults.r;
break;
case 'image':
case 'rect':
nodePropsWithDefaults = {
height: 10,
width: 10,
...nodePropsWithDefaults,
};
nodePropsWithDefaults = {
x: -nodePropsWithDefaults.width / 2,
y: -nodePropsWithDefaults.height / 2,
...nodePropsWithDefaults,
};
offset += nodePropsWithDefaults.width / 2;
break;
}
if (props.direction === 'rtl') {
offset = -offset;
}
const wrappedNodeProps = wrapHandlers(
nodePropsWithDefaults,
props[props.keyProp],
);
const wrappedGProps = wrapHandlers(props.gProps, props[props.keyProp]);
const wrappedTextProps = wrapHandlers(
props.textProps,
props[props.keyProp],
);
const label =
typeof props[props.labelProp] === 'string'
? /*#__PURE__*/ React__default.default.createElement(
'text',
_extends__default.default(
{
dx: offset,
dy: 5,
},
wrappedTextProps,
),
props[props.labelProp],
)
: /*#__PURE__*/ React__default.default.createElement(
'g',
_extends__default.default(
{
transform: `translate(${offset}, 5)`,
},
wrappedTextProps,
),
props[props.labelProp],
);
return /*#__PURE__*/ React__default.default.createElement(
'g',
_extends__default.default({}, wrappedGProps, {
transform: getTransform(),
direction: props.direction === 'rtl' ? 'rtl' : null,
}),
/*#__PURE__*/ React__default.default.createElement(
props.shape,
wrappedNodeProps,
),
label,
);
}
function Container(props) {
return /*#__PURE__*/ React__default.default.createElement(
'svg',
_extends__default.default({}, props.svgProps, {
height: props.height,
width: props.width,
}),
props.children,
/*#__PURE__*/ React__default.default.createElement(
'g',
{
transform: `translate(${props.margins.left}, ${props.margins.top})`,
},
props.links.map((link) =>
/*#__PURE__*/ React__default.default.createElement(Link, {
key: link.target.data[props.keyProp],
keyProp: props.keyProp,
pathFunc: props.pathFunc,
source: link.source,
target: link.target,
x1: link.source.x,
x2: link.target.x,
y1: link.source.y,
y2: link.target.y,
pathProps: {
...props.pathProps,
...link.target.data.pathProps,
},
}),
),
props.nodes.map((node) =>
/*#__PURE__*/ React__default.default.createElement(
Node,
_extends__default.default(
{
key: node.data[props.keyProp],
keyProp: props.keyProp,
labelProp: props.labelProp,
direction: props.direction,
shape: props.nodeShape,
x: node.x,
y: node.y,
},
node.data,
{
nodeProps: {
...props.nodeProps,
...node.data.nodeProps,
},
gProps: {
...props.gProps,
...node.data.gProps,
},
textProps: {
...props.textProps,
...node.data.textProps,
},
},
),
),
),
),
);
}
function Animated(props) {
const initialX = props.nodes[0].x;
const initialY = props.nodes[0].y;
const [state, setState] = React.useState({
nodes: props.nodes.map((n) => ({
...n,
x: initialX,
y: initialY,
})),
links: props.links.map((l) => ({
source: {
...l.source,
x: initialX,
y: initialY,
},
target: {
...l.target,
x: initialX,
y: initialY,
},
})),
});
const [animation, setAnimation] = React.useState(null);
React.useEffect(animate, [props.nodes, props.links]);
function animate() {
// Stop previous animation if one is already in progress. We will start the next animation
// from the position we are currently in
clearInterval(animation);
let counter = 0;
// Do as much one-time calculation outside of the animation step, which needs to be fast
const animationContext = getAnimationContext(state, props);
const interval = setInterval(() => {
counter++;
if (counter === props.steps) {
clearInterval(interval);
setState({
nodes: props.nodes,
links: props.links,
});
return;
}
setState(calculateNewState(animationContext, counter / props.steps));
}, props.duration / props.steps);
setAnimation(interval);
return () => clearInterval(animation);
}
function getAnimationContext(initialState, newState) {
// Nodes/links that are in both states need to be moved from the old position to the new one
// Nodes/links only in the initial state are being removed, and should be moved to the position
// of the closest ancestor that still exists, or the new root
// Nodes/links only in the new state are being added, and should be moved from the position of
// the closest ancestor that previously existed, or the old root
// The base determines which node/link the data (like classes and labels) comes from for rendering
// We only run this once at the start of the animation, so optimisation is less important
const addedNodes = newState.nodes
.filter((n1) => initialState.nodes.every((n2) => !areNodesSame(n1, n2)))
.map((n1) => ({
base: n1,
old: getClosestAncestor(n1, newState, initialState),
new: n1,
}));
const changedNodes = newState.nodes
.filter((n1) => initialState.nodes.some((n2) => areNodesSame(n1, n2)))
.map((n1) => ({
base: n1,
old: initialState.nodes.find((n2) => areNodesSame(n1, n2)),
new: n1,
}));
const removedNodes = initialState.nodes
.filter((n1) => newState.nodes.every((n2) => !areNodesSame(n1, n2)))
.map((n1) => ({
base: n1,
old: n1,
new: getClosestAncestor(n1, initialState, newState),
}));
const addedLinks = newState.links
.filter((l1) => initialState.links.every((l2) => !areLinksSame(l1, l2)))
.map((l1) => ({
base: l1,
old: getClosestAncestor(l1.target, newState, initialState),
new: l1,
}));
const changedLinks = newState.links
.filter((l1) => initialState.links.some((l2) => areLinksSame(l1, l2)))
.map((l1) => ({
base: l1,
old: initialState.links.find((l2) => areLinksSame(l1, l2)),
new: l1,
}));
const removedLinks = initialState.links
.filter((l1) => newState.links.every((l2) => !areLinksSame(l1, l2)))
.map((l1) => ({
base: l1,
old: l1,
new: getClosestAncestor(l1.target, initialState, newState),
}));
return {
nodes: changedNodes.concat(addedNodes).concat(removedNodes),
links: changedLinks.concat(addedLinks).concat(removedLinks),
};
}
function getClosestAncestor(node, stateWithNode, stateWithoutNode) {
let oldParent = node;
while (oldParent) {
let newParent = stateWithoutNode.nodes.find((n) =>
areNodesSame(oldParent, n),
);
if (newParent) {
return newParent;
}
oldParent = stateWithNode.nodes.find((n) =>
(props.getChildren(n) || []).some((c) => areNodesSame(oldParent, c)),
);
}
return stateWithoutNode.nodes[0];
}
function areNodesSame(a, b) {
return a.data[props.keyProp] === b.data[props.keyProp];
}
function areLinksSame(a, b) {
return (
a.source.data[props.keyProp] === b.source.data[props.keyProp] &&
a.target.data[props.keyProp] === b.target.data[props.keyProp]
);
}
function calculateNewState(animationContext, interval) {
return {
nodes: animationContext.nodes.map((n) =>
calculateNodePosition(n.base, n.old, n.new, interval),
),
links: animationContext.links.map((l) =>
calculateLinkPosition(l.base, l.old, l.new, interval),
),
};
}
function calculateLinkPosition(link, start, end, interval) {
return {
source: {
...link.source,
x: calculateNewValue(
start.source ? start.source.x : start.x,
end.source ? end.source.x : end.x,
interval,
),
y: calculateNewValue(
start.source ? start.source.y : start.y,
end.source ? end.source.y : end.y,
interval,
),
},
target: {
...link.target,
x: calculateNewValue(
start.target ? start.target.x : start.x,
end.target ? end.target.x : end.x,
interval,
),
y: calculateNewValue(
start.target ? start.target.y : start.y,
end.target ? end.target.y : end.y,
interval,
),
},
};
}
function calculateNodePosition(node, start, end, interval) {
return {
...node,
x: calculateNewValue(start.x, end.x, interval),
y: calculateNewValue(start.y, end.y, interval),
};
}
function calculateNewValue(start, end, interval) {
return start + (end - start) * props.easing(interval);
}
return /*#__PURE__*/ React__default.default.createElement(
Container,
_extends__default.default({}, props, state),
);
}
function AnimatedTree(props) {
const propsWithDefaults = {
direction: 'ltr',
duration: 500,
easing: d3Ease.easeQuadOut,
getChildren: (n) => n.children,
steps: 20,
keyProp: 'name',
labelProp: 'name',
nodeShape: 'circle',
nodeProps: {},
gProps: {},
pathProps: {},
svgProps: {},
textProps: {},
...props,
};
return /*#__PURE__*/ React__default.default.createElement(
Animated,
_extends__default.default(
{
duration: propsWithDefaults.duration,
easing: propsWithDefaults.easing,
getChildren: propsWithDefaults.getChildren,
direction: propsWithDefaults.direction,
height: propsWithDefaults.height,
keyProp: propsWithDefaults.keyProp,
labelProp: propsWithDefaults.labelProp,
nodeShape: propsWithDefaults.nodeShape,
nodeProps: propsWithDefaults.nodeProps,
pathFunc: propsWithDefaults.pathFunc,
steps: propsWithDefaults.steps,
width: propsWithDefaults.width,
gProps: {
className: 'node',
...propsWithDefaults.gProps,
},
pathProps: {
className: 'link',
...propsWithDefaults.pathProps,
},
svgProps: propsWithDefaults.svgProps,
textProps: propsWithDefaults.textProps,
},
getTreeData(propsWithDefaults),
),
propsWithDefaults.children,
);
}
function Tree(props) {
const propsWithDefaults = {
direction: 'ltr',
getChildren: (n) => n.children,
keyProp: 'name',
labelProp: 'name',
nodeShape: 'circle',
nodeProps: {},
gProps: {},
pathProps: {},
svgProps: {},
textProps: {},
...props,
};
return /*#__PURE__*/ React__default.default.createElement(
Container,
_extends__default.default(
{
getChildren: propsWithDefaults.getChildren,
direction: propsWithDefaults.direction,
height: propsWithDefaults.height,
keyProp: propsWithDefaults.keyProp,
labelProp: propsWithDefaults.labelProp,
nodeShape: propsWithDefaults.nodeShape,
nodeProps: propsWithDefaults.nodeProps,
pathFunc: propsWithDefaults.pathFunc,
width: propsWithDefaults.width,
gProps: {
className: 'node',
...propsWithDefaults.gProps,
},
pathProps: {
className: 'link',
...propsWithDefaults.pathProps,
},
svgProps: propsWithDefaults.svgProps,
textProps: propsWithDefaults.textProps,
},
getTreeData(propsWithDefaults),
),
propsWithDefaults.children,
);
}
exports.AnimatedTree = AnimatedTree;
exports.Tree = Tree;
});
================================================
FILE: dist/module/components/animated.js
================================================
import _extends from '@babel/runtime/helpers/extends';
import React, { useState, useEffect } from 'react';
import Container from './container.js';
function Animated(props) {
const initialX = props.nodes[0].x;
const initialY = props.nodes[0].y;
const [state, setState] = useState({
nodes: props.nodes.map(n => ({
...n,
x: initialX,
y: initialY
})),
links: props.links.map(l => ({
source: {
...l.source,
x: initialX,
y: initialY
},
target: {
...l.target,
x: initialX,
y: initialY
}
}))
});
const [animation, setAnimation] = useState(null);
useEffect(animate, [props.nodes, props.links]);
function animate() {
// Stop previous animation if one is already in progress. We will start the next animation
// from the position we are currently in
clearInterval(animation);
let counter = 0;
// Do as much one-time calculation outside of the animation step, which needs to be fast
const animationContext = getAnimationContext(state, props);
const interval = setInterval(() => {
counter++;
if (counter === props.steps) {
clearInterval(interval);
setState({
nodes: props.nodes,
links: props.links
});
return;
}
setState(calculateNewState(animationContext, counter / props.steps));
}, props.duration / props.steps);
setAnimation(interval);
return () => clearInterval(animation);
}
function getAnimationContext(initialState, newState) {
// Nodes/links that are in both states need to be moved from the old position to the new one
// Nodes/links only in the initial state are being removed, and should be moved to the position
// of the closest ancestor that still exists, or the new root
// Nodes/links only in the new state are being added, and should be moved from the position of
// the closest ancestor that previously existed, or the old root
// The base determines which node/link the data (like classes and labels) comes from for rendering
// We only run this once at the start of the animation, so optimisation is less important
const addedNodes = newState.nodes.filter(n1 => initialState.nodes.every(n2 => !areNodesSame(n1, n2))).map(n1 => ({
base: n1,
old: getClosestAncestor(n1, newState, initialState),
new: n1
}));
const changedNodes = newState.nodes.filter(n1 => initialState.nodes.some(n2 => areNodesSame(n1, n2))).map(n1 => ({
base: n1,
old: initialState.nodes.find(n2 => areNodesSame(n1, n2)),
new: n1
}));
const removedNodes = initialState.nodes.filter(n1 => newState.nodes.every(n2 => !areNodesSame(n1, n2))).map(n1 => ({
base: n1,
old: n1,
new: getClosestAncestor(n1, initialState, newState)
}));
const addedLinks = newState.links.filter(l1 => initialState.links.every(l2 => !areLinksSame(l1, l2))).map(l1 => ({
base: l1,
old: getClosestAncestor(l1.target, newState, initialState),
new: l1
}));
const changedLinks = newState.links.filter(l1 => initialState.links.some(l2 => areLinksSame(l1, l2))).map(l1 => ({
base: l1,
old: initialState.links.find(l2 => areLinksSame(l1, l2)),
new: l1
}));
const removedLinks = initialState.links.filter(l1 => newState.links.every(l2 => !areLinksSame(l1, l2))).map(l1 => ({
base: l1,
old: l1,
new: getClosestAncestor(l1.target, initialState, newState)
}));
return {
nodes: changedNodes.concat(addedNodes).concat(removedNodes),
links: changedLinks.concat(addedLinks).concat(removedLinks)
};
}
function getClosestAncestor(node, stateWithNode, stateWithoutNode) {
let oldParent = node;
while (oldParent) {
let newParent = stateWithoutNode.nodes.find(n => areNodesSame(oldParent, n));
if (newParent) {
return newParent;
}
oldParent = stateWithNode.nodes.find(n => (props.getChildren(n) || []).some(c => areNodesSame(oldParent, c)));
}
return stateWithoutNode.nodes[0];
}
function areNodesSame(a, b) {
return a.data[props.keyProp] === b.data[props.keyProp];
}
function areLinksSame(a, b) {
return a.source.data[props.keyProp] === b.source.data[props.keyProp] && a.target.data[props.keyProp] === b.target.data[props.keyProp];
}
function calculateNewState(animationContext, interval) {
return {
nodes: animationContext.nodes.map(n => calculateNodePosition(n.base, n.old, n.new, interval)),
links: animationContext.links.map(l => calculateLinkPosition(l.base, l.old, l.new, interval))
};
}
function calculateLinkPosition(link, start, end, interval) {
return {
source: {
...link.source,
x: calculateNewValue(start.source ? start.source.x : start.x, end.source ? end.source.x : end.x, interval),
y: calculateNewValue(start.source ? start.source.y : start.y, end.source ? end.source.y : end.y, interval)
},
target: {
...link.target,
x: calculateNewValue(start.target ? start.target.x : start.x, end.target ? end.target.x : end.x, interval),
y: calculateNewValue(start.target ? start.target.y : start.y, end.target ? end.target.y : end.y, interval)
}
};
}
function calculateNodePosition(node, start, end, interval) {
return {
...node,
x: calculateNewValue(start.x, end.x, interval),
y: calculateNewValue(start.y, end.y, interval)
};
}
function calculateNewValue(start, end, interval) {
return start + (end - start) * props.easing(interval);
}
return /*#__PURE__*/React.createElement(Container, _extends({}, props, state));
}
export { Animated as default };
================================================
FILE: dist/module/components/animatedTree.js
================================================
import _extends from '@babel/runtime/helpers/extends';
import { easeQuadOut } from 'd3-ease';
import React from 'react';
import getTreeData from '../d3.js';
import Animated from './animated.js';
function AnimatedTree(props) {
const propsWithDefaults = {
direction: 'ltr',
duration: 500,
easing: easeQuadOut,
getChildren: n => n.children,
steps: 20,
keyProp: 'name',
labelProp: 'name',
nodeShape: 'circle',
nodeProps: {},
gProps: {},
pathProps: {},
svgProps: {},
textProps: {},
...props
};
return /*#__PURE__*/React.createElement(Animated, _extends({
duration: propsWithDefaults.duration,
easing: propsWithDefaults.easing,
getChildren: propsWithDefaults.getChildren,
direction: propsWithDefaults.direction,
height: propsWithDefaults.height,
keyProp: propsWithDefaults.keyProp,
labelProp: propsWithDefaults.labelProp,
nodeShape: propsWithDefaults.nodeShape,
nodeProps: propsWithDefaults.nodeProps,
pathFunc: propsWithDefaults.pathFunc,
steps: propsWithDefaults.steps,
width: propsWithDefaults.width,
gProps: {
className: 'node',
...propsWithDefaults.gProps
},
pathProps: {
className: 'link',
...propsWithDefaults.pathProps
},
svgProps: propsWithDefaults.svgProps,
textProps: propsWithDefaults.textProps
}, getTreeData(propsWithDefaults)), propsWithDefaults.children);
}
export { AnimatedTree as default };
================================================
FILE: dist/module/components/container.js
================================================
import _extends from '@babel/runtime/helpers/extends';
import React from 'react';
import Link from './link.js';
import Node from './node.js';
function Container(props) {
return /*#__PURE__*/React.createElement("svg", _extends({}, props.svgProps, {
height: props.height,
width: props.width
}), props.children, /*#__PURE__*/React.createElement("g", {
transform: `translate(${props.margins.left}, ${props.margins.top})`
}, props.links.map(link => /*#__PURE__*/React.createElement(Link, {
key: link.target.data[props.keyProp],
keyProp: props.keyProp,
pathFunc: props.pathFunc,
source: link.source,
target: link.target,
x1: link.source.x,
x2: link.target.x,
y1: link.source.y,
y2: link.target.y,
pathProps: {
...props.pathProps,
...link.target.data.pathProps
}
})), props.nodes.map(node => /*#__PURE__*/React.createElement(Node, _extends({
key: node.data[props.keyProp],
keyProp: props.keyProp,
labelProp: props.labelProp,
direction: props.direction,
shape: props.nodeShape,
x: node.x,
y: node.y
}, node.data, {
nodeProps: {
...props.nodeProps,
...node.data.nodeProps
},
gProps: {
...props.gProps,
...node.data.gProps
},
textProps: {
...props.textProps,
...node.data.textProps
}
})))));
}
export { Container as default };
================================================
FILE: dist/module/components/link.js
================================================
import _extends from '@babel/runtime/helpers/extends';
import React from 'react';
import wrapHandlers from '../wrapHandlers.js';
function diagonal(x1, y1, x2, y2) {
return `M${x1},${y1}C${(x1 + x2) / 2},${y1} ${(x1 + x2) / 2},${y2} ${x2},${y2}`;
}
function Link(props) {
const wrappedProps = wrapHandlers(props.pathProps, props.source.data[props.keyProp], props.target.data[props.keyProp]);
const pathFunc = props.pathFunc || diagonal;
const d = pathFunc(props.x1, props.y1, props.x2, props.y2);
return /*#__PURE__*/React.createElement("path", _extends({}, wrappedProps, {
d: d
}));
}
export { Link as default };
================================================
FILE: dist/module/components/node.js
================================================
import _extends from '@babel/runtime/helpers/extends';
import React from 'react';
import wrapHandlers from '../wrapHandlers.js';
function Node(props) {
function getTransform() {
return `translate(${props.x}, ${props.y})`;
}
let offset = 0.5;
let nodePropsWithDefaults = props.nodeProps;
switch (props.shape) {
case 'circle':
nodePropsWithDefaults = {
r: 5,
...nodePropsWithDefaults
};
offset += nodePropsWithDefaults.r;
break;
case 'image':
case 'rect':
nodePropsWithDefaults = {
height: 10,
width: 10,
...nodePropsWithDefaults
};
nodePropsWithDefaults = {
x: -nodePropsWithDefaults.width / 2,
y: -nodePropsWithDefaults.height / 2,
...nodePropsWithDefaults
};
offset += nodePropsWithDefaults.width / 2;
break;
}
if (props.direction === 'rtl') {
offset = -offset;
}
const wrappedNodeProps = wrapHandlers(nodePropsWithDefaults, props[props.keyProp]);
const wrappedGProps = wrapHandlers(props.gProps, props[props.keyProp]);
const wrappedTextProps = wrapHandlers(props.textProps, props[props.keyProp]);
const label = typeof props[props.labelProp] === 'string' ? /*#__PURE__*/React.createElement("text", _extends({
dx: offset,
dy: 5
}, wrappedTextProps), props[props.labelProp]) : /*#__PURE__*/React.createElement("g", _extends({
transform: `translate(${offset}, 5)`
}, wrappedTextProps), props[props.labelProp]);
return /*#__PURE__*/React.createElement("g", _extends({}, wrappedGProps, {
transform: getTransform(),
direction: props.direction === 'rtl' ? 'rtl' : null
}), /*#__PURE__*/React.createElement(props.shape, wrappedNodeProps), label);
}
export { Node as default };
================================================
FILE: dist/module/components/tree.js
================================================
import _extends from '@babel/runtime/helpers/extends';
import React from 'react';
import getTreeData from '../d3.js';
import Container from './container.js';
function Tree(props) {
const propsWithDefaults = {
direction: 'ltr',
getChildren: n => n.children,
keyProp: 'name',
labelProp: 'name',
nodeShape: 'circle',
nodeProps: {},
gProps: {},
pathProps: {},
svgProps: {},
textProps: {},
...props
};
return /*#__PURE__*/React.createElement(Container, _extends({
getChildren: propsWithDefaults.getChildren,
direction: propsWithDefaults.direction,
height: propsWithDefaults.height,
keyProp: propsWithDefaults.keyProp,
labelProp: propsWithDefaults.labelProp,
nodeShape: propsWithDefaults.nodeShape,
nodeProps: propsWithDefaults.nodeProps,
pathFunc: propsWithDefaults.pathFunc,
width: propsWithDefaults.width,
gProps: {
className: 'node',
...propsWithDefaults.gProps
},
pathProps: {
className: 'link',
...propsWithDefaults.pathProps
},
svgProps: propsWithDefaults.svgProps,
textProps: propsWithDefaults.textProps
}, getTreeData(propsWithDefaults)), propsWithDefaults.children);
}
export { Tree as default };
================================================
FILE: dist/module/d3.js
================================================
import { hierarchy, tree } from 'd3-hierarchy';
function getTreeData(props) {
const margins = props.margins || {
bottom: 10,
left: props.direction !== 'rtl' ? 20 : 150,
right: props.direction !== 'rtl' ? 150 : 20,
top: 10
};
const contentWidth = props.width - margins.left - margins.right;
const contentHeight = props.height - margins.top - margins.bottom;
const data = hierarchy(props.data, props.getChildren);
const root = tree().size([contentHeight, contentWidth])(data);
// d3 gives us a top to down tree, but we will display it left to right/right to left, so x and y need to be swapped
const links = root.links().map(link => ({
...link,
source: {
...link.source,
x: props.direction !== 'rtl' ? link.source.y : contentWidth - link.source.y,
y: link.source.x
},
target: {
...link.target,
x: props.direction !== 'rtl' ? link.target.y : contentWidth - link.target.y,
y: link.target.x
}
}));
const nodes = root.descendants().map(node => ({
...node,
x: props.direction !== 'rtl' ? node.y : contentWidth - node.y,
y: node.x
}));
return {
links,
margins,
nodes
};
}
export { getTreeData as default };
================================================
FILE: dist/module/index.js
================================================
export { default as AnimatedTree } from './components/animatedTree.js';
export { default as Tree } from './components/tree.js';
================================================
FILE: dist/module/wrapHandlers.js
================================================
const regex = /on[A-Z]/;
function wrapper(func, args) {
return event => func(event, ...args);
}
// Wraps any event handlers passed in as props with a function that passes additional arguments
function wrapHandlers(props, ...args) {
const handlers = Object.keys(props).filter(propName => regex.test(propName) && typeof props[propName] === 'function');
const wrappedHandlers = handlers.reduce((acc, handler) => {
acc[handler] = wrapper(props[handler], args);
return acc;
}, {});
return {
...props,
...wrappedHandlers
};
}
export { wrapHandlers as default };
================================================
FILE: dist/style.css
================================================
.node circle, .node rect {
fill: white;
stroke: black;
}
path.link {
fill: none;
stroke: black;
}
================================================
FILE: docs/161.a4718455.iframe.bundle.js
================================================
"use strict";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[161,735],{"./node_modules/@storybook/addon-docs/dist/DocsRenderer-PQXLIZUC.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{DocsRenderer:()=>DocsRenderer});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js"),_storybook_react_dom_shim__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@storybook/react-dom-shim/dist/react-18.mjs"),_storybook_addon_docs_blocks__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/@storybook/addon-docs/dist/blocks.mjs"),defaultComponents={code:_storybook_addon_docs_blocks__WEBPACK_IMPORTED_MODULE_2__.XA,a:_storybook_addon_docs_blocks__WEBPACK_IMPORTED_MODULE_2__.zE,..._storybook_addon_docs_blocks__WEBPACK_IMPORTED_MODULE_2__.Sw},ErrorBoundary=class extends react__WEBPACK_IMPORTED_MODULE_0__.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(err){let{showException}=this.props;showException(err)}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Fragment,null,children)}},DocsRenderer=class{constructor(){this.render=async(context,docsParameter,element)=>{let components={...defaultComponents,...docsParameter?.components},TDocs=_storybook_addon_docs_blocks__WEBPACK_IMPORTED_MODULE_2__.kQ;return new Promise(((resolve,reject)=>{__webpack_require__.e(294).then(__webpack_require__.bind(__webpack_require__,"./node_modules/@mdx-js/react/index.js")).then((({MDXProvider})=>(0,_storybook_react_dom_shim__WEBPACK_IMPORTED_MODULE_1__.renderElement)(react__WEBPACK_IMPORTED_MODULE_0__.createElement(ErrorBoundary,{showException:reject,key:Math.random()},react__WEBPACK_IMPORTED_MODULE_0__.createElement(MDXProvider,{components},react__WEBPACK_IMPORTED_MODULE_0__.createElement(TDocs,{context,docsParameter}))),element))).then((()=>resolve()))}))},this.unmount=element=>{(0,_storybook_react_dom_shim__WEBPACK_IMPORTED_MODULE_1__.unmountElement)(element)}}}},"./node_modules/@storybook/react-dom-shim/dist/react-18.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{renderElement:()=>renderElement,unmountElement:()=>unmountElement});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js"),react_dom_client__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/react-dom/client.js"),nodes=new Map;var WithCallback=({callback,children})=>{let once=react__WEBPACK_IMPORTED_MODULE_0__.useRef();return react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect((()=>{once.current!==callback&&(once.current=callback,callback())}),[callback]),children};typeof Promise.withResolvers>"u"&&(Promise.withResolvers=()=>{let resolve=null,reject=null;return{promise:new Promise(((res,rej)=>{resolve=res,reject=rej})),resolve,reject}});var renderElement=async(node,el,rootOptions)=>{let root=await getReactRoot(el,rootOptions);if(function getIsReactActEnvironment(){return globalThis.IS_REACT_ACT_ENVIRONMENT}())return void root.render(node);let{promise,resolve}=Promise.withResolvers();return root.render(react__WEBPACK_IMPORTED_MODULE_0__.createElement(WithCallback,{callback:resolve},node)),promise},unmountElement=(el,shouldUseNewRootApi)=>{let root=nodes.get(el);root&&(root.unmount(),nodes.delete(el))},getReactRoot=async(el,rootOptions)=>{let root=nodes.get(el);return root||(root=react_dom_client__WEBPACK_IMPORTED_MODULE_1__.H(el,rootOptions),nodes.set(el,root)),root}},"./node_modules/react-dom/client.js":(__unused_webpack_module,exports,__webpack_require__)=>{var m=__webpack_require__("./node_modules/react-dom/index.js");exports.H=m.createRoot,m.hydrateRoot}}]);
================================================
FILE: docs/294.bd1debad.iframe.bundle.js
================================================
"use strict";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[294],{"./node_modules/@mdx-js/react/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{MDXProvider:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.x,useMDXComponents:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.R});var _lib_index_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@mdx-js/react/lib/index.js")},"./node_modules/@mdx-js/react/lib/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{R:()=>useMDXComponents,x:()=>MDXProvider});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js");const emptyComponents={},MDXContext=react__WEBPACK_IMPORTED_MODULE_0__.createContext(emptyComponents);function useMDXComponents(components){const contextComponents=react__WEBPACK_IMPORTED_MODULE_0__.useContext(MDXContext);return react__WEBPACK_IMPORTED_MODULE_0__.useMemo((function(){return"function"==typeof components?components(contextComponents):{...contextComponents,...components}}),[contextComponents,components])}function MDXProvider(properties){let allComponents;return allComponents=properties.disableParentContext?"function"==typeof properties.components?properties.components(emptyComponents):properties.components||emptyComponents:useMDXComponents(properties.components),react__WEBPACK_IMPORTED_MODULE_0__.createElement(MDXContext.Provider,{value:allComponents},properties.children)}}}]);
================================================
FILE: docs/357.c654aade.iframe.bundle.js
================================================
"use strict";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[357],{"./node_modules/@storybook/addon-docs/dist/Color-AVL7NMMY.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ColorControl:()=>ColorControl,default:()=>Color_default});var _chunk_SPFYY5GD_mjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@storybook/addon-docs/dist/chunk-SPFYY5GD.mjs"),_chunk_QUZPS4B6_mjs__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("./node_modules/@storybook/addon-docs/dist/chunk-QUZPS4B6.mjs"),react__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__("./node_modules/react/index.js"),storybook_internal_components__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__("./node_modules/storybook/dist/components/index.js"),_storybook_icons__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__("./node_modules/@storybook/icons/dist/index.mjs"),storybook_theming__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__("./node_modules/storybook/dist/theming/index.js"),require_color_name=(0,_chunk_QUZPS4B6_mjs__WEBPACK_IMPORTED_MODULE_1__.P$)({"../../node_modules/color-name/index.js"(exports,module){module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}}),require_conversions=(0,_chunk_QUZPS4B6_mjs__WEBPACK_IMPORTED_MODULE_1__.P$)({"../../node_modules/color-convert/conversions.js"(exports,module){var cssKeywords=require_color_name(),reverseKeywords={};for(let key of Object.keys(cssKeywords))reverseKeywords[cssKeywords[key]]=key;var convert2={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};module.exports=convert2;for(let model of Object.keys(convert2)){if(!("channels"in convert2[model]))throw new Error("missing channels property: "+model);if(!("labels"in convert2[model]))throw new Error("missing channel labels property: "+model);if(convert2[model].labels.length!==convert2[model].channels)throw new Error("channel and label counts mismatch: "+model);let{channels,labels}=convert2[model];delete convert2[model].channels,delete convert2[model].labels,Object.defineProperty(convert2[model],"channels",{value:channels}),Object.defineProperty(convert2[model],"labels",{value:labels})}convert2.rgb.hsl=function(rgb){let h2,s2,r2=rgb[0]/255,g2=rgb[1]/255,b2=rgb[2]/255,min=Math.min(r2,g2,b2),max=Math.max(r2,g2,b2),delta=max-min;max===min?h2=0:r2===max?h2=(g2-b2)/delta:g2===max?h2=2+(b2-r2)/delta:b2===max&&(h2=4+(r2-g2)/delta),h2=Math.min(60*h2,360),h2<0&&(h2+=360);let l2=(min+max)/2;return s2=max===min?0:l2<=.5?delta/(max+min):delta/(2-max-min),[h2,100*s2,100*l2]},convert2.rgb.hsv=function(rgb){let rdif,gdif,bdif,h2,s2,r2=rgb[0]/255,g2=rgb[1]/255,b2=rgb[2]/255,v2=Math.max(r2,g2,b2),diff=v2-Math.min(r2,g2,b2),diffc=function(c2){return(v2-c2)/6/diff+.5};return 0===diff?(h2=0,s2=0):(s2=diff/v2,rdif=diffc(r2),gdif=diffc(g2),bdif=diffc(b2),r2===v2?h2=bdif-gdif:g2===v2?h2=1/3+rdif-bdif:b2===v2&&(h2=2/3+gdif-rdif),h2<0?h2+=1:h2>1&&(h2-=1)),[360*h2,100*s2,100*v2]},convert2.rgb.hwb=function(rgb){let r2=rgb[0],g2=rgb[1],b2=rgb[2],h2=convert2.rgb.hsl(rgb)[0],w2=1/255*Math.min(r2,Math.min(g2,b2));return b2=1-1/255*Math.max(r2,Math.max(g2,b2)),[h2,100*w2,100*b2]},convert2.rgb.cmyk=function(rgb){let r2=rgb[0]/255,g2=rgb[1]/255,b2=rgb[2]/255,k2=Math.min(1-r2,1-g2,1-b2);return[100*((1-r2-k2)/(1-k2)||0),100*((1-g2-k2)/(1-k2)||0),100*((1-b2-k2)/(1-k2)||0),100*k2]},convert2.rgb.keyword=function(rgb){let reversed=reverseKeywords[rgb];if(reversed)return reversed;let currentClosestKeyword,currentClosestDistance=1/0;for(let keyword of Object.keys(cssKeywords)){let value=cssKeywords[keyword],distance=(y2=value,((x2=rgb)[0]-y2[0])**2+(x2[1]-y2[1])**2+(x2[2]-y2[2])**2);distance<currentClosestDistance&&(currentClosestDistance=distance,currentClosestKeyword=keyword)}var x2,y2;return currentClosestKeyword},convert2.keyword.rgb=function(keyword){return cssKeywords[keyword]},convert2.rgb.xyz=function(rgb){let r2=rgb[0]/255,g2=rgb[1]/255,b2=rgb[2]/255;return r2=r2>.04045?((r2+.055)/1.055)**2.4:r2/12.92,g2=g2>.04045?((g2+.055)/1.055)**2.4:g2/12.92,b2=b2>.04045?((b2+.055)/1.055)**2.4:b2/12.92,[100*(.4124*r2+.3576*g2+.1805*b2),100*(.2126*r2+.7152*g2+.0722*b2),100*(.0193*r2+.1192*g2+.9505*b2)]},convert2.rgb.lab=function(rgb){let xyz=convert2.rgb.xyz(rgb),x2=xyz[0],y2=xyz[1],z2=xyz[2];return x2/=95.047,y2/=100,z2/=108.883,x2=x2>.008856?x2**(1/3):7.787*x2+16/116,y2=y2>.008856?y2**(1/3):7.787*y2+16/116,z2=z2>.008856?z2**(1/3):7.787*z2+16/116,[116*y2-16,500*(x2-y2),200*(y2-z2)]},convert2.hsl.rgb=function(hsl){let t2,t3,val,h2=hsl[0]/360,s2=hsl[1]/100,l2=hsl[2]/100;if(0===s2)return val=255*l2,[val,val,val];t2=l2<.5?l2*(1+s2):l2+s2-l2*s2;let t1=2*l2-t2,rgb=[0,0,0];for(let i2=0;i2<3;i2++)t3=h2+1/3*-(i2-1),t3<0&&t3++,t3>1&&t3--,val=6*t3<1?t1+6*(t2-t1)*t3:2*t3<1?t2:3*t3<2?t1+(t2-t1)*(2/3-t3)*6:t1,rgb[i2]=255*val;return rgb},convert2.hsl.hsv=function(hsl){let h2=hsl[0],s2=hsl[1]/100,l2=hsl[2]/100,smin=s2,lmin=Math.max(l2,.01);return l2*=2,s2*=l2<=1?l2:2-l2,smin*=lmin<=1?lmin:2-lmin,[h2,100*(0===l2?2*smin/(lmin+smin):2*s2/(l2+s2)),100*((l2+s2)/2)]},convert2.hsv.rgb=function(hsv){let h2=hsv[0]/60,s2=hsv[1]/100,v2=hsv[2]/100,hi=Math.floor(h2)%6,f2=h2-Math.floor(h2),p2=255*v2*(1-s2),q2=255*v2*(1-s2*f2),t2=255*v2*(1-s2*(1-f2));switch(v2*=255,hi){case 0:return[v2,t2,p2];case 1:return[q2,v2,p2];case 2:return[p2,v2,t2];case 3:return[p2,q2,v2];case 4:return[t2,p2,v2];case 5:return[v2,p2,q2]}},convert2.hsv.hsl=function(hsv){let sl,l2,h2=hsv[0],s2=hsv[1]/100,v2=hsv[2]/100,vmin=Math.max(v2,.01);l2=(2-s2)*v2;let lmin=(2-s2)*vmin;return sl=s2*vmin,sl/=lmin<=1?lmin:2-lmin,sl=sl||0,l2/=2,[h2,100*sl,100*l2]},convert2.hwb.rgb=function(hwb){let f2,h2=hwb[0]/360,wh=hwb[1]/100,bl=hwb[2]/100,ratio=wh+bl;ratio>1&&(wh/=ratio,bl/=ratio);let i2=Math.floor(6*h2),v2=1-bl;f2=6*h2-i2,1&i2&&(f2=1-f2);let r2,g2,b2,n2=wh+f2*(v2-wh);switch(i2){default:case 6:case 0:r2=v2,g2=n2,b2=wh;break;case 1:r2=n2,g2=v2,b2=wh;break;case 2:r2=wh,g2=v2,b2=n2;break;case 3:r2=wh,g2=n2,b2=v2;break;case 4:r2=n2,g2=wh,b2=v2;break;case 5:r2=v2,g2=wh,b2=n2}return[255*r2,255*g2,255*b2]},convert2.cmyk.rgb=function(cmyk){let c2=cmyk[0]/100,m2=cmyk[1]/100,y2=cmyk[2]/100,k2=cmyk[3]/100;return[255*(1-Math.min(1,c2*(1-k2)+k2)),255*(1-Math.min(1,m2*(1-k2)+k2)),255*(1-Math.min(1,y2*(1-k2)+k2))]},convert2.xyz.rgb=function(xyz){let r2,g2,b2,x2=xyz[0]/100,y2=xyz[1]/100,z2=xyz[2]/100;return r2=3.2406*x2+-1.5372*y2+-.4986*z2,g2=-.9689*x2+1.8758*y2+.0415*z2,b2=.0557*x2+-.204*y2+1.057*z2,r2=r2>.0031308?1.055*r2**(1/2.4)-.055:12.92*r2,g2=g2>.0031308?1.055*g2**(1/2.4)-.055:12.92*g2,b2=b2>.0031308?1.055*b2**(1/2.4)-.055:12.92*b2,r2=Math.min(Math.max(0,r2),1),g2=Math.min(Math.max(0,g2),1),b2=Math.min(Math.max(0,b2),1),[255*r2,255*g2,255*b2]},convert2.xyz.lab=function(xyz){let x2=xyz[0],y2=xyz[1],z2=xyz[2];return x2/=95.047,y2/=100,z2/=108.883,x2=x2>.008856?x2**(1/3):7.787*x2+16/116,y2=y2>.008856?y2**(1/3):7.787*y2+16/116,z2=z2>.008856?z2**(1/3):7.787*z2+16/116,[116*y2-16,500*(x2-y2),200*(y2-z2)]},convert2.lab.xyz=function(lab){let x2,y2,z2;y2=(lab[0]+16)/116,x2=lab[1]/500+y2,z2=y2-lab[2]/200;let y22=y2**3,x22=x2**3,z22=z2**3;return y2=y22>.008856?y22:(y2-16/116)/7.787,x2=x22>.008856?x22:(x2-16/116)/7.787,z2=z22>.008856?z22:(z2-16/116)/7.787,x2*=95.047,y2*=100,z2*=108.883,[x2,y2,z2]},convert2.lab.lch=function(lab){let h2,l2=lab[0],a2=lab[1],b2=lab[2];return h2=360*Math.atan2(b2,a2)/2/Math.PI,h2<0&&(h2+=360),[l2,Math.sqrt(a2*a2+b2*b2),h2]},convert2.lch.lab=function(lch){let l2=lch[0],c2=lch[1],hr=lch[2]/360*2*Math.PI;return[l2,c2*Math.cos(hr),c2*Math.sin(hr)]},convert2.rgb.ansi16=function(args,saturation=null){let[r2,g2,b2]=args,value=null===saturation?convert2.rgb.hsv(args)[2]:saturation;if(value=Math.round(value/50),0===value)return 30;let ansi=30+(Math.round(b2/255)<<2|Math.round(g2/255)<<1|Math.round(r2/255));return 2===value&&(ansi+=60),ansi},convert2.hsv.ansi16=function(args){return convert2.rgb.ansi16(convert2.hsv.rgb(args),args[2])},convert2.rgb.ansi256=function(args){let r2=args[0],g2=args[1],b2=args[2];return r2===g2&&g2===b2?r2<8?16:r2>248?231:Math.round((r2-8)/247*24)+232:16+36*Math.round(r2/255*5)+6*Math.round(g2/255*5)+Math.round(b2/255*5)},convert2.ansi16.rgb=function(args){let color=args%10;if(0===color||7===color)return args>50&&(color+=3.5),color=color/10.5*255,[color,color,color];let mult=.5*(1+~~(args>50));return[(1&color)*mult*255,(color>>1&1)*mult*255,(color>>2&1)*mult*255]},convert2.ansi256.rgb=function(args){if(args>=232){let c2=10*(args-232)+8;return[c2,c2,c2]}let rem;return args-=16,[Math.floor(args/36)/5*255,Math.floor((rem=args%36)/6)/5*255,rem%6/5*255]},convert2.rgb.hex=function(args){let string=(((255&Math.round(args[0]))<<16)+((255&Math.round(args[1]))<<8)+(255&Math.round(args[2]))).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert2.hex.rgb=function(args){let match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match)return[0,0,0];let colorString=match[0];3===match[0].length&&(colorString=colorString.split("").map((char=>char+char)).join(""));let integer=parseInt(colorString,16);return[integer>>16&255,integer>>8&255,255&integer]},convert2.rgb.hcg=function(rgb){let grayscale,hue,r2=rgb[0]/255,g2=rgb[1]/255,b2=rgb[2]/255,max=Math.max(Math.max(r2,g2),b2),min=Math.min(Math.min(r2,g2),b2),chroma=max-min;return grayscale=chroma<1?min/(1-chroma):0,hue=chroma<=0?0:max===r2?(g2-b2)/chroma%6:max===g2?2+(b2-r2)/chroma:4+(r2-g2)/chroma,hue/=6,hue%=1,[360*hue,100*chroma,100*grayscale]},convert2.hsl.hcg=function(hsl){let s2=hsl[1]/100,l2=hsl[2]/100,c2=l2<.5?2*s2*l2:2*s2*(1-l2),f2=0;return c2<1&&(f2=(l2-.5*c2)/(1-c2)),[hsl[0],100*c2,100*f2]},convert2.hsv.hcg=function(hsv){let s2=hsv[1]/100,v2=hsv[2]/100,c2=s2*v2,f2=0;return c2<1&&(f2=(v2-c2)/(1-c2)),[hsv[0],100*c2,100*f2]},convert2.hcg.rgb=function(hcg){let h2=hcg[0]/360,c2=hcg[1]/100,g2=hcg[2]/100;if(0===c2)return[255*g2,255*g2,255*g2];let pure=[0,0,0],hi=h2%1*6,v2=hi%1,w2=1-v2,mg=0;switch(Math.floor(hi)){case 0:pure[0]=1,pure[1]=v2,pure[2]=0;break;case 1:pure[0]=w2,pure[1]=1,pure[2]=0;break;case 2:pure[0]=0,pure[1]=1,pure[2]=v2;break;case 3:pure[0]=0,pure[1]=w2,pure[2]=1;break;case 4:pure[0]=v2,pure[1]=0,pure[2]=1;break;default:pure[0]=1,pure[1]=0,pure[2]=w2}return mg=(1-c2)*g2,[255*(c2*pure[0]+mg),255*(c2*pure[1]+mg),255*(c2*pure[2]+mg)]},convert2.hcg.hsv=function(hcg){let c2=hcg[1]/100,v2=c2+hcg[2]/100*(1-c2),f2=0;return v2>0&&(f2=c2/v2),[hcg[0],100*f2,100*v2]},convert2.hcg.hsl=function(hcg){let c2=hcg[1]/100,l2=hcg[2]/100*(1-c2)+.5*c2,s2=0;return l2>0&&l2<.5?s2=c2/(2*l2):l2>=.5&&l2<1&&(s2=c2/(2*(1-l2))),[hcg[0],100*s2,100*l2]},convert2.hcg.hwb=function(hcg){let c2=hcg[1]/100,v2=c2+hcg[2]/100*(1-c2);return[hcg[0],100*(v2-c2),100*(1-v2)]},convert2.hwb.hcg=function(hwb){let w2=hwb[1]/100,v2=1-hwb[2]/100,c2=v2-w2,g2=0;return c2<1&&(g2=(v2-c2)/(1-c2)),[hwb[0],100*c2,100*g2]},convert2.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]},convert2.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]},convert2.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]},convert2.gray.hsl=function(args){return[0,0,args[0]]},convert2.gray.hsv=convert2.gray.hsl,convert2.gray.hwb=function(gray){return[0,100,gray[0]]},convert2.gray.cmyk=function(gray){return[0,0,0,gray[0]]},convert2.gray.lab=function(gray){return[gray[0],0,0]},convert2.gray.hex=function(gray){let val=255&Math.round(gray[0]/100*255),string=((val<<16)+(val<<8)+val).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert2.rgb.gray=function(rgb){return[(rgb[0]+rgb[1]+rgb[2])/3/255*100]}}}),require_route=(0,_chunk_QUZPS4B6_mjs__WEBPACK_IMPORTED_MODULE_1__.P$)({"../../node_modules/color-convert/route.js"(exports,module){var conversions=require_conversions();function deriveBFS(fromModel){let graph=function buildGraph(){let graph={},models=Object.keys(conversions);for(let len=models.length,i2=0;i2<len;i2++)graph[models[i2]]={distance:-1,parent:null};return graph}(),queue=[fromModel];for(graph[fromModel].distance=0;queue.length;){let current=queue.pop(),adjacents=Object.keys(conversions[current]);for(let len=adjacents.length,i2=0;i2<len;i2++){let adjacent=adjacents[i2],node=graph[adjacent];-1===node.distance&&(node.distance=graph[current].distance+1,node.parent=current,queue.unshift(adjacent))}}return graph}function link(from,to){return function(args){return to(from(args))}}function wrapConversion(toModel,graph){let path=[graph[toModel].parent,toModel],fn=conversions[graph[toModel].parent][toModel],cur=graph[toModel].parent;for(;graph[cur].parent;)path.unshift(graph[cur].parent),fn=link(conversions[graph[cur].parent][cur],fn),cur=graph[cur].parent;return fn.conversion=path,fn}module.exports=function(fromModel){let graph=deriveBFS(fromModel),conversion={},models=Object.keys(graph);for(let len=models.length,i2=0;i2<len;i2++){let toModel=models[i2];null!==graph[toModel].parent&&(conversion[toModel]=wrapConversion(toModel,graph))}return conversion}}}),require_color_convert=(0,_chunk_QUZPS4B6_mjs__WEBPACK_IMPORTED_MODULE_1__.P$)({"../../node_modules/color-convert/index.js"(exports,module){var conversions=require_conversions(),route=require_route(),convert2={};Object.keys(conversions).forEach((fromModel=>{convert2[fromModel]={},Object.defineProperty(convert2[fromModel],"channels",{value:conversions[fromModel].channels}),Object.defineProperty(convert2[fromModel],"labels",{value:conversions[fromModel].labels});let routes=route(fromModel);Object.keys(routes).forEach((toModel=>{let fn=routes[toModel];convert2[fromModel][toModel]=function wrapRounded(fn){let wrappedFn=function(...args){let arg0=args[0];if(null==arg0)return arg0;arg0.length>1&&(args=arg0);let result=fn(args);if("object"==typeof result)for(let len=result.length,i2=0;i2<len;i2++)result[i2]=Math.round(result[i2]);return result};return"conversion"in fn&&(wrappedFn.conversion=fn.conversion),wrappedFn}(fn),convert2[fromModel][toModel].raw=function wrapRaw(fn){let wrappedFn=function(...args){let arg0=args[0];return null==arg0?arg0:(arg0.length>1&&(args=arg0),fn(args))};return"conversion"in fn&&(wrappedFn.conversion=fn.conversion),wrappedFn}(fn)}))})),module.exports=convert2}}),import_color_convert=(0,_chunk_QUZPS4B6_mjs__WEBPACK_IMPORTED_MODULE_1__.f1)(require_color_convert());function u(){return(u=Object.assign||function(e2){for(var r2=1;r2<arguments.length;r2++){var t2=arguments[r2];for(var n2 in t2)Object.prototype.hasOwnProperty.call(t2,n2)&&(e2[n2]=t2[n2])}return e2}).apply(this,arguments)}function c(e2,r2){if(null==e2)return{};var t2,n2,o2={},a2=Object.keys(e2);for(n2=0;n2<a2.length;n2++)r2.indexOf(t2=a2[n2])>=0||(o2[t2]=e2[t2]);return o2}function i(e2){var t2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(e2),n2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((function(e3){t2.current&&t2.current(e3)}));return t2.current=e2,n2.current}var s=function(e2,r2,t2){return void 0===r2&&(r2=0),void 0===t2&&(t2=1),e2>t2?t2:e2<r2?r2:e2},f=function(e2){return"touches"in e2},v=function(e2){return e2&&e2.ownerDocument.defaultView||self},d=function(e2,r2,t2){var n2=e2.getBoundingClientRect(),o2=f(r2)?function(e3,r3){for(var t3=0;t3<e3.length;t3++)if(e3[t3].identifier===r3)return e3[t3];return e3[0]}(r2.touches,t2):r2;return{left:s((o2.pageX-(n2.left+v(e2).pageXOffset))/n2.width),top:s((o2.pageY-(n2.top+v(e2).pageYOffset))/n2.height)}},h=function(e2){!f(e2)&&e2.preventDefault()},m=react__WEBPACK_IMPORTED_MODULE_2__.memo((function(o2){var a2=o2.onMove,l2=o2.onKey,s2=c(o2,["onMove","onKey"]),m2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null),g2=i(a2),p2=i(l2),b2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null),_2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(!1),x2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)((function(){var e2=function(e3){h(e3),(f(e3)?e3.touches.length>0:e3.buttons>0)&&m2.current?g2(d(m2.current,e3,b2.current)):t2(!1)},r2=function(){return t2(!1)};function t2(t3){var n2=_2.current,o3=v(m2.current),a3=t3?o3.addEventListener:o3.removeEventListener;a3(n2?"touchmove":"mousemove",e2),a3(n2?"touchend":"mouseup",r2)}return[function(e3){var e4,r3=e3.nativeEvent,n2=m2.current;if(n2&&(h(r3),e4=r3,(!_2.current||f(e4))&&n2)){if(f(r3)){_2.current=!0;var o3=r3.changedTouches||[];o3.length&&(b2.current=o3[0].identifier)}n2.focus(),g2(d(n2,r3,b2.current)),t2(!0)}},function(e3){var r3=e3.which||e3.keyCode;r3<37||r3>40||(e3.preventDefault(),p2({left:39===r3?.05:37===r3?-.05:0,top:40===r3?.05:38===r3?-.05:0}))},t2]}),[p2,g2]),C2=x2[0],E2=x2[1],H2=x2[2];return(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)((function(){return H2}),[H2]),react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",u({},s2,{onTouchStart:C2,onMouseDown:C2,className:"react-colorful__interactive",ref:m2,onKeyDown:E2,tabIndex:0,role:"slider"}))})),g=function(e2){return e2.filter(Boolean).join(" ")},p=function(r2){var t2=r2.color,n2=r2.left,o2=r2.top,a2=void 0===o2?.5:o2,l2=g(["react-colorful__pointer",r2.className]);return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{className:l2,style:{top:100*a2+"%",left:100*n2+"%"}},react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t2}}))},b=function(e2,r2,t2){return void 0===r2&&(r2=0),void 0===t2&&(t2=Math.pow(10,r2)),Math.round(t2*e2)/t2},_={grad:.9,turn:360,rad:360/(2*Math.PI)},C=function(e2){return"#"===e2[0]&&(e2=e2.substring(1)),e2.length<6?{r:parseInt(e2[0]+e2[0],16),g:parseInt(e2[1]+e2[1],16),b:parseInt(e2[2]+e2[2],16),a:4===e2.length?b(parseInt(e2[3]+e2[3],16)/255,2):1}:{r:parseInt(e2.substring(0,2),16),g:parseInt(e2.substring(2,4),16),b:parseInt(e2.substring(4,6),16),a:8===e2.length?b(parseInt(e2.substring(6,8),16)/255,2):1}},E=function(e2,r2){return void 0===r2&&(r2="deg"),Number(e2)*(_[r2]||1)},N=function(e2){var r2=e2.s,t2=e2.l;return{h:e2.h,s:(r2*=(t2<50?t2:100-t2)/100)>0?2*r2/(t2+r2)*100:0,v:t2+r2,a:e2.a}},y=function(e2){var r2=e2.s,t2=e2.v,n2=e2.a,o2=(200-r2)*t2/100;return{h:b(e2.h),s:b(o2>0&&o2<200?r2*t2/100/(o2<=100?o2:200-o2)*100:0),l:b(o2/2),a:b(n2,2)}},q=function(e2){var r2=y(e2);return"hsl("+r2.h+", "+r2.s+"%, "+r2.l+"%)"},k=function(e2){var r2=y(e2);return"hsla("+r2.h+", "+r2.s+"%, "+r2.l+"%, "+r2.a+")"},I=function(e2){var r2=e2.h,t2=e2.s,n2=e2.v,o2=e2.a;r2=r2/360*6,t2/=100,n2/=100;var a2=Math.floor(r2),l2=n2*(1-t2),u2=n2*(1-(r2-a2)*t2),c2=n2*(1-(1-r2+a2)*t2),i2=a2%6;return{r:b(255*[n2,u2,l2,l2,c2,n2][i2]),g:b(255*[c2,n2,n2,u2,l2,l2][i2]),b:b(255*[l2,l2,c2,n2,n2,u2][i2]),a:b(o2,2)}},D=function(e2){var r2=e2.toString(16);return r2.length<2?"0"+r2:r2},K=function(e2){var r2=e2.r,t2=e2.g,n2=e2.b,o2=e2.a,a2=o2<1?D(b(255*o2)):"";return"#"+D(r2)+D(t2)+D(n2)+a2},L=function(e2){var r2=e2.r,t2=e2.g,n2=e2.b,o2=e2.a,a2=Math.max(r2,t2,n2),l2=a2-Math.min(r2,t2,n2),u2=l2?a2===r2?(t2-n2)/l2:a2===t2?2+(n2-r2)/l2:4+(r2-t2)/l2:0;return{h:b(60*(u2<0?u2+6:u2)),s:b(a2?l2/a2*100:0),v:b(a2/255*100),a:o2}},S=react__WEBPACK_IMPORTED_MODULE_2__.memo((function(r2){var t2=r2.hue,n2=r2.onChange,o2=g(["react-colorful__hue",r2.className]);return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{className:o2},react__WEBPACK_IMPORTED_MODULE_2__.createElement(m,{onMove:function(e2){n2({h:360*e2.left})},onKey:function(e2){n2({h:s(t2+360*e2.left,0,360)})},"aria-label":"Hue","aria-valuenow":b(t2),"aria-valuemax":"360","aria-valuemin":"0"},react__WEBPACK_IMPORTED_MODULE_2__.createElement(p,{className:"react-colorful__hue-pointer",left:t2/360,color:q({h:t2,s:100,v:100,a:1})})))})),T=react__WEBPACK_IMPORTED_MODULE_2__.memo((function(r2){var t2=r2.hsva,n2=r2.onChange,o2={backgroundColor:q({h:t2.h,s:100,v:100,a:1})};return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{className:"react-colorful__saturation",style:o2},react__WEBPACK_IMPORTED_MODULE_2__.createElement(m,{onMove:function(e2){n2({s:100*e2.left,v:100-100*e2.top})},onKey:function(e2){n2({s:s(t2.s+100*e2.left,0,100),v:s(t2.v-100*e2.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+b(t2.s)+"%, Brightness "+b(t2.v)+"%"},react__WEBPACK_IMPORTED_MODULE_2__.createElement(p,{className:"react-colorful__saturation-pointer",top:1-t2.v/100,left:t2.s/100,color:q(t2)})))})),F=function(e2,r2){if(e2===r2)return!0;for(var t2 in e2)if(e2[t2]!==r2[t2])return!1;return!0},P=function(e2,r2){return e2.replace(/\s/g,"")===r2.replace(/\s/g,"")};function Y(e2,t2,l2){var u2=i(l2),c2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useState)((function(){return e2.toHsva(t2)})),s2=c2[0],f2=c2[1],v2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)({color:t2,hsva:s2});(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)((function(){if(!e2.equal(t2,v2.current.color)){var r2=e2.toHsva(t2);v2.current={hsva:r2,color:t2},f2(r2)}}),[t2,e2]),(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)((function(){var r2;F(s2,v2.current.hsva)||e2.equal(r2=e2.fromHsva(s2),v2.current.color)||(v2.current={hsva:s2,color:r2},u2(r2))}),[s2,e2,u2]);var d2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((function(e3){f2((function(r2){return Object.assign({},r2,e3)}))}),[]);return[s2,d2]}var ColorSpace2,V=typeof window<"u"?react__WEBPACK_IMPORTED_MODULE_2__.useLayoutEffect:react__WEBPACK_IMPORTED_MODULE_2__.useEffect,J=new Map,Q=function(e2){V((function(){var r2=e2.current?e2.current.ownerDocument:document;if(void 0!==r2&&!J.has(r2)){var t2=r2.createElement("style");t2.innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}',J.set(r2,t2);var n2=__webpack_require__.nc;n2&&t2.setAttribute("nonce",n2),r2.head.appendChild(t2)}}),[])},U=function(t2){var n2=t2.className,o2=t2.colorModel,a2=t2.color,l2=void 0===a2?o2.defaultColor:a2,i2=t2.onChange,s2=c(t2,["className","colorModel","color","onChange"]),f2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);Q(f2);var v2=Y(o2,l2,i2),d2=v2[0],h2=v2[1],m2=g(["react-colorful",n2]);return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",u({},s2,{ref:f2,className:m2}),react__WEBPACK_IMPORTED_MODULE_2__.createElement(T,{hsva:d2,onChange:h2}),react__WEBPACK_IMPORTED_MODULE_2__.createElement(S,{hue:d2.h,onChange:h2,className:"react-colorful__last-control"}))},W={defaultColor:"000",toHsva:function(e2){return L(C(e2))},fromHsva:function(e2){return function(e2){return K(I(e2))}({h:e2.h,s:e2.s,v:e2.v,a:1})},equal:function(e2,r2){return e2.toLowerCase()===r2.toLowerCase()||F(C(e2),C(r2))}},ee=function(r2){var t2=r2.className,n2=r2.hsva,o2=r2.onChange,a2={backgroundImage:"linear-gradient(90deg, "+k(Object.assign({},n2,{a:0}))+", "+k(Object.assign({},n2,{a:1}))+")"},l2=g(["react-colorful__alpha",t2]),u2=b(100*n2.a);return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{className:l2},react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",{className:"react-colorful__alpha-gradient",style:a2}),react__WEBPACK_IMPORTED_MODULE_2__.createElement(m,{onMove:function(e2){o2({a:e2.left})},onKey:function(e2){o2({a:s(n2.a+e2.left)})},"aria-label":"Alpha","aria-valuetext":u2+"%","aria-valuenow":u2,"aria-valuemin":"0","aria-valuemax":"100"},react__WEBPACK_IMPORTED_MODULE_2__.createElement(p,{className:"react-colorful__alpha-pointer",left:n2.a,color:k(n2)})))},re=function(t2){var n2=t2.className,o2=t2.colorModel,a2=t2.color,l2=void 0===a2?o2.defaultColor:a2,i2=t2.onChange,s2=c(t2,["className","colorModel","color","onChange"]),f2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null);Q(f2);var v2=Y(o2,l2,i2),d2=v2[0],h2=v2[1],m2=g(["react-colorful",n2]);return react__WEBPACK_IMPORTED_MODULE_2__.createElement("div",u({},s2,{ref:f2,className:m2}),react__WEBPACK_IMPORTED_MODULE_2__.createElement(T,{hsva:d2,onChange:h2}),react__WEBPACK_IMPORTED_MODULE_2__.createElement(S,{hue:d2.h,onChange:h2}),react__WEBPACK_IMPORTED_MODULE_2__.createElement(ee,{hsva:d2,onChange:h2,className:"react-colorful__last-control"}))},le={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:function(e2){var r2=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e2);return r2?N({h:E(r2[1],r2[2]),s:Number(r2[3]),l:Number(r2[4]),a:void 0===r2[5]?1:Number(r2[5])/(r2[6]?100:1)}):{h:0,s:0,v:0,a:1}},fromHsva:k,equal:P},Ee={defaultColor:"rgba(0, 0, 0, 1)",toHsva:function(e2){var r2=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e2);return r2?L({r:Number(r2[1])/(r2[2]?100/255:1),g:Number(r2[3])/(r2[4]?100/255:1),b:Number(r2[5])/(r2[6]?100/255:1),a:void 0===r2[7]?1:Number(r2[7])/(r2[8]?100:1)}):{h:0,s:0,v:0,a:1}},fromHsva:function(e2){var r2=I(e2);return"rgba("+r2.r+", "+r2.g+", "+r2.b+", "+r2.a+")"},equal:P},Wrapper=storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4.div({position:"relative",maxWidth:250,'&[aria-readonly="true"]':{opacity:.5}}),PickerTooltip=(0,storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4)(storybook_internal_components__WEBPACK_IMPORTED_MODULE_3__.kR)({position:"absolute",zIndex:1,top:4,left:4,"[aria-readonly=true] &":{cursor:"not-allowed"}}),TooltipContent=storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Note=(0,storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4)(storybook_internal_components__WEBPACK_IMPORTED_MODULE_3__._)((({theme})=>({fontFamily:theme.typography.fonts.base}))),Swatches=storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),SwatchColor=storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4.div((({theme,active})=>({width:16,height:16,boxShadow:active?`${theme.appBorderColor} 0 0 0 1px inset, ${theme.textMutedColor}50 0 0 0 4px`:`${theme.appBorderColor} 0 0 0 1px inset`,borderRadius:theme.appBorderRadius}))),Swatch=({value,style,...props})=>{let backgroundImage=`linear-gradient(${value}, ${value}), url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>'), linear-gradient(#fff, #fff)`;return react__WEBPACK_IMPORTED_MODULE_2__.createElement(SwatchColor,{...props,style:{...style,backgroundImage}})},Input=(0,storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4)(storybook_internal_components__WEBPACK_IMPORTED_MODULE_3__.lV.Input)((({theme,readOnly})=>({width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:theme.typography.fonts.base}))),ToggleIcon=(0,storybook_theming__WEBPACK_IMPORTED_MODULE_5__.I4)(_storybook_icons__WEBPACK_IMPORTED_MODULE_4__.QDE)((({theme})=>({position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:theme.input.color}))),ColorSpace=((ColorSpace2=ColorSpace||{}).RGB="rgb",ColorSpace2.HSL="hsl",ColorSpace2.HEX="hex",ColorSpace2),COLOR_SPACES=Object.values(ColorSpace),COLOR_REGEXP=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,RGB_REGEXP=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,HSL_REGEXP=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,HEX_REGEXP=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,SHORTHEX_REGEXP=/^\s*#?([0-9a-f]{3})\s*$/i,ColorPicker={hex:function(r2){return react__WEBPACK_IMPORTED_MODULE_2__.createElement(U,u({},r2,{colorModel:W}))},rgb:function(r2){return react__WEBPACK_IMPORTED_MODULE_2__.createElement(re,u({},r2,{colorModel:Ee}))},hsl:function(r2){return react__WEBPACK_IMPORTED_MODULE_2__.createElement(re,u({},r2,{colorModel:le}))}},fallbackColor={hex:"transparent",rgb:"rgba(0, 0, 0, 0)",hsl:"hsla(0, 0%, 0%, 0)"},stringToArgs=value=>{let match=value?.match(COLOR_REGEXP);if(!match)return[0,0,0,1];let[,x2,y2,z2,a2=1]=match;return[x2,y2,z2,a2].map(Number)},parseValue=value=>{if(value)return RGB_REGEXP.test(value)?(value=>{let[r2,g2,b2,a2]=stringToArgs(value),[h2,s2,l2]=import_color_convert.default.rgb.hsl([r2,g2,b2])||[0,0,0];return{valid:!0,value,keyword:import_color_convert.default.rgb.keyword([r2,g2,b2]),colorSpace:"rgb",rgb:value,hsl:`hsla(${h2}, ${s2}%, ${l2}%, ${a2})`,hex:`#${import_color_convert.default.rgb.hex([r2,g2,b2]).toLowerCase()}`}})(value):HSL_REGEXP.test(value)?(value=>{let[h2,s2,l2,a2]=stringToArgs(value),[r2,g2,b2]=import_color_convert.default.hsl.rgb([h2,s2,l2])||[0,0,0];return{valid:!0,value,keyword:import_color_convert.default.hsl.keyword([h2,s2,l2]),colorSpace:"hsl",rgb:`rgba(${r2}, ${g2}, ${b2}, ${a2})`,hsl:value,hex:`#${import_color_convert.default.hsl.hex([h2,s2,l2]).toLowerCase()}`}})(value):(value=>{let plain=value.replace("#",""),rgb=import_color_convert.default.keyword.rgb(plain)||import_color_convert.default.hex.rgb(plain),hsl=import_color_convert.default.rgb.hsl(rgb),mapped=value;/[^#a-f0-9]/i.test(value)?mapped=plain:HEX_REGEXP.test(value)&&(mapped=`#${plain}`);let valid=!0;if(mapped.startsWith("#"))valid=HEX_REGEXP.test(mapped);else try{import_color_convert.default.keyword.hex(mapped)}catch{valid=!1}return{valid,value:mapped,keyword:import_color_convert.default.rgb.keyword(rgb),colorSpace:"hex",rgb:`rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, 1)`,hsl:`hsla(${hsl[0]}, ${hsl[1]}%, ${hsl[2]}%, 1)`,hex:mapped}})(value)},useColorInput=(initialValue,onChange)=>{let[value,setValue]=(0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(initialValue||""),[color,setColor]=(0,react__WEBPACK_IMPORTED_MODULE_2__.useState)((()=>parseValue(value))),[colorSpace,setColorSpace]=(0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(color?.colorSpace||"hex");(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)((()=>{let nextValue=initialValue||"",nextColor=parseValue(nextValue);setValue(nextValue),setColor(nextColor),setColorSpace(nextColor?.colorSpace||"hex")}),[initialValue]);let realValue=(0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)((()=>((value,color,colorSpace)=>{if(!value||!color?.valid)return fallbackColor[colorSpace];if("hex"!==colorSpace)return color?.[colorSpace]||fallbackColor[colorSpace];if(!color.hex.startsWith("#"))try{return`#${import_color_convert.default.keyword.hex(color.hex)}`}catch{return fallbackColor.hex}let short=color.hex.match(SHORTHEX_REGEXP);if(!short)return HEX_REGEXP.test(color.hex)?color.hex:fallbackColor.hex;let[r2,g2,b2]=short[1].split("");return`#${r2}${r2}${g2}${g2}${b2}${b2}`})(value,color,colorSpace).toLowerCase()),[value,color,colorSpace]),updateValue=(0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((update=>{let parsed=parseValue(update),v2=parsed?.value||update||"";setValue(v2),""===v2&&(setColor(void 0),onChange(void 0)),parsed&&(setColor(parsed),setColorSpace(parsed.colorSpace),onChange(parsed.value))}),[onChange]),cycleColorSpace=(0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((()=>{let nextIndex=(COLOR_SPACES.indexOf(colorSpace)+1)%COLOR_SPACES.length,nextSpace=COLOR_SPACES[nextIndex];setColorSpace(nextSpace);let updatedValue=color?.[nextSpace]||"";setValue(updatedValue),onChange(updatedValue)}),[color,colorSpace,onChange]);return{value,realValue,updateValue,color,colorSpace,cycleColorSpace}},id=value=>value.replace(/\s*/,"").toLowerCase(),ColorControl=({name,value:initialValue,onChange,onFocus,onBlur,presetColors,startOpen=!1,argType})=>{let debouncedOnChange=(0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((0,_chunk_SPFYY5GD_mjs__WEBPACK_IMPORTED_MODULE_0__.sg)(onChange,200),[onChange]),{value,realValue,updateValue,color,colorSpace,cycleColorSpace}=useColorInput(initialValue,debouncedOnChange),{presets,addPreset}=((presetColors,currentColor,colorSpace)=>{let[selectedColors,setSelectedColors]=(0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(currentColor?.valid?[currentColor]:[]);(0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)((()=>{void 0===currentColor&&setSelectedColors([])}),[currentColor]);let presets=(0,react__WEBPACK_IMPORTED_MODULE_2__.useMemo)((()=>(presetColors||[]).map((preset=>"string"==typeof preset?parseValue(preset):preset.title?{...parseValue(preset.color),keyword:preset.title}:parseValue(preset.color))).concat(selectedColors).filter(Boolean).slice(-27)),[presetColors,selectedColors]),addPreset=(0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)((color=>{color?.valid&&(presets.some((preset=>preset&&preset[colorSpace]&&id(preset[colorSpace]||"")===id(color[colorSpace]||"")))||setSelectedColors((arr=>arr.concat(color))))}),[colorSpace,presets]);return{presets,addPreset}})(presetColors??[],color,colorSpace),Picker=ColorPicker[colorSpace],readonly=!!argType?.table?.readonly;return react__WEBPACK_IMPORTED_MODULE_2__.createElement(Wrapper,{"aria-readonly":readonly},react__WEBPACK_IMPORTED_MODULE_2__.createElement(PickerTooltip,{startOpen,trigger:readonly?null:void 0,closeOnOutsideClick:!0,onVisibleChange:()=>color&&addPreset(color),tooltip:react__WEBPACK_IMPORTED_MODULE_2__.createElement(TooltipContent,null,react__WEBPACK_IMPORTED_MODULE_2__.createElement(Picker,{color:"transparent"===realValue?"#000000":realValue,onChange:updateValue,onFocus,onBlur}),presets.length>0&&react__WEBPACK_IMPORTED_MODULE_2__.createElement(Swatches,null,presets.map(((preset,index)=>react__WEBPACK_IMPORTED_MODULE_2__.createElement(storybook_internal_components__WEBPACK_IMPORTED_MODULE_3__.kR,{key:`${preset?.value||index}-${index}`,hasChrome:!1,tooltip:react__WEBPACK_IMPORTED_MODULE_2__.createElement(Note,{note:preset?.keyword||preset?.value||""})},react__WEBPACK_IMPORTED_MODULE_2__.createElement(Swatch,{value:preset?.[colorSpace]||"",active:!!(color&&preset&&preset[colorSpace]&&id(preset[colorSpace]||"")===id(color[colorSpace])),onClick:()=>preset&&updateValue(preset.value||"")}))))))},react__WEBPACK_IMPORTED_MODULE_2__.createElement(Swatch,{value:realValue,style:{margin:4}})),react__WEBPACK_IMPORTED_MODULE_2__.createElement(Input,{id:(0,_chunk_SPFYY5GD_mjs__WEBPACK_IMPORTED_MODULE_0__.ZA)(name),value,onChange:e2=>updateValue(e2.target.value),onFocus:e2=>e2.target.select(),readOnly:readonly,placeholder:"Choose color..."}),value?react__WEBPACK_IMPORTED_MODULE_2__.createElement(ToggleIcon,{onClick:cycleColorSpace}):null)},Color_default=ColorControl}}]);
================================================
FILE: docs/434.8aa01134.iframe.bundle.js
================================================
"use strict";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[434],{"./.storybook/stories/argTypes.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{z:()=>AnimatedTreeArgTypes,c:()=>TreeArgTypes});var backIn=function custom(s){function backIn(t){return(t=+t)*t*(s*(t-1)+t)}return s=+s,backIn.overshoot=custom,backIn}(1.70158),backOut=function custom(s){function backOut(t){return--t*t*((t+1)*s+t)+1}return s=+s,backOut.overshoot=custom,backOut}(1.70158),backInOut=function custom(s){function backInOut(t){return((t*=2)<1?t*t*((s+1)*t-s):(t-=2)*t*((s+1)*t+s)+2)/2}return s=+s,backInOut.overshoot=custom,backInOut}(1.70158),b1=4/11,b2=6/11,b3=8/11,b5=9/11,b6=10/11,b8=21/22,b0=7.5625;function bounceOut(t){return(t=+t)<b1?b0*t*t:t<b3?b0*(t-=b2)*t+.75:t<b6?b0*(t-=b5)*t+.9375:b0*(t-=b8)*t+.984375}function tpmt(x){return 1.0009775171065494*(Math.pow(2,-10*x)-.0009765625)}var tau=2*Math.PI,elasticIn=function custom(a,p){var s=Math.asin(1/(a=Math.max(1,a)))*(p/=tau);function elasticIn(t){return a*tpmt(- --t)*Math.sin((s-t)/p)}return elasticIn.amplitude=function(a){return custom(a,p*tau)},elasticIn.period=function(p){return custom(a,p)},elasticIn}(1,.3),elasticOut=function custom(a,p){var s=Math.asin(1/(a=Math.max(1,a)))*(p/=tau);function elasticOut(t){return 1-a*tpmt(t=+t)*Math.sin((t+s)/p)}return elasticOut.amplitude=function(a){return custom(a,p*tau)},elasticOut.period=function(p){return custom(a,p)},elasticOut}(1,.3),elasticInOut=function custom(a,p){var s=Math.asin(1/(a=Math.max(1,a)))*(p/=tau);function elasticInOut(t){return((t=2*t-1)<0?a*tpmt(-t)*Math.sin((s-t)/p):2-a*tpmt(t)*Math.sin((s+t)/p))/2}return elasticInOut.amplitude=function(a){return custom(a,p*tau)},elasticInOut.period=function(p){return custom(a,p)},elasticInOut}(1,.3);var polyIn=function custom(e){function polyIn(t){return Math.pow(t,e)}return e=+e,polyIn.exponent=custom,polyIn}(3),polyOut=function custom(e){function polyOut(t){return 1-Math.pow(1-t,e)}return e=+e,polyOut.exponent=custom,polyOut}(3),polyInOut=function custom(e){function polyInOut(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,polyInOut.exponent=custom,polyInOut}(3),quad=__webpack_require__("./node_modules/d3-ease/src/quad.js"),pi=Math.PI,halfPi=pi/2;const categories_animation="Animation",categories_data="Data",categories_properties="SVG Properties",categories_rendering="Tree Rendering",TreeArgTypes={data:{table:{category:categories_data},type:{name:"object",required:!0},description:"The data to be rendered as a tree. Must be in a format accepted by d3.hierarchy."},getChildren:{control:{disable:!0},table:{category:categories_data,defaultValue:{summary:"node => node.children"}},description:"A function that returns the children for a node, or null/undefined if no children exist."},direction:{options:["ltr","rtl"],table:{category:categories_rendering,defaultValue:{summary:"ltr"}},type:{name:"string"},description:"The direction of the tree, left-to-right or right-to-left."},keyProp:{table:{category:categories_data,defaultValue:{summary:"name"}},type:{name:"string"},description:"The property on each node to use as a key."},labelProp:{table:{category:categories_data,defaultValue:{summary:"name"}},type:{name:"string"},description:"The property on each node to render as a label."},height:{table:{category:categories_rendering},type:{name:"number",required:!0},description:"The height of the rendered tree, including margins."},width:{table:{category:categories_rendering},type:{name:"number",required:!0},description:"The width of the rendered tree, including margins."},margins:{table:{category:categories_rendering,defaultValue:{summary:"{ bottom: 10, left: 20, right: 150, top: 10 }"}},type:{name:"object"},description:"The margins around the content. The right margin should be larger to include the rendered label text."},children:{table:{category:categories_rendering},control:{disable:!0},description:"Will be rendered as children of the SVG, before the links and nodes."},nodeShape:{options:["circle","image","polygon","rect"],table:{category:categories_rendering,defaultValue:{summary:"circle"}},type:{name:"select"},description:"The shape of the node icons. Additional nodeProps must be specifed for polygon and rect."},pathFunc:{control:{disable:!0},table:{category:categories_rendering,defaultValue:{summary:"function(x1,y1,x2,y2)"}},description:"Function to calculate the co-ordinates of the path between nodes."},gProps:{table:{category:categories_properties,defaultValue:{summary:"{ className: 'node' }"}},type:{name:"object"},description:"Props to be added to the `<g>` element. The default className will still be applied if a className property is not set."},nodeProps:{table:{category:categories_properties},type:{name:"object"},description:"Props to be added to the `<circle>`, `<image>`, `<polygon>` or `<rect>` element. These will take priority over the default r added to circle and height, width, x and y added to image and rect."},pathProps:{table:{category:categories_properties,defaultValue:{summary:"{ className: 'link' }"}},type:{name:"object"},description:"Props to be added to the `<path>` element. The default className will still be applied if a className property is not set."},svgProps:{table:{category:categories_properties},type:{name:"object"},description:"Props to be added to the `<svg>` element."},textProps:{table:{category:categories_properties},type:{name:"object"},description:"Props to be added to the `<text>` element."}},AnimatedTreeArgTypes={duration:{table:{category:categories_animation,defaultValue:{summary:500}},type:{name:"number"},description:"The duration in milliseconds of animations."},easing:{mapping:{easeBack:backInOut,easeBackIn:backIn,easeBackOut:backOut,easeBounce:bounceOut,easeBounceIn:function bounceIn(t){return 1-bounceOut(1-t)},easeBounceInOut:function bounceInOut(t){return((t*=2)<=1?1-bounceOut(1-t):bounceOut(t-1)+1)/2},easeCircle:function circleInOut(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2},easeCircleIn:function circleIn(t){return 1-Math.sqrt(1-t*t)},easeCircleOut:function circleOut(t){return Math.sqrt(1- --t*t)},easeCubic:function cubicInOut(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2},easeCubicIn:function cubicIn(t){return t*t*t},easeCubicOut:function cubicOut(t){return--t*t*t+1},easeElastic:elasticOut,easeElasticIn:elasticIn,easeElasticInOut:elasticInOut,easeExp:function expInOut(t){return((t*=2)<=1?tpmt(1-t):2-tpmt(t-1))/2},easeExpIn:function expIn(t){return tpmt(1-+t)},easeExpOut:function expOut(t){return 1-tpmt(t)},easeLinear:t=>+t,easePoly:polyInOut,easePolyIn:polyIn,easePolyOut:polyOut,easeQuad:quad.T_,easeQuadIn:quad.bl,easeQuadOut:quad.yv,easeSin:function sinInOut(t){return(1-Math.cos(pi*t))/2},easeSinIn:function sinIn(t){return 1==+t?1:1-Math.cos(t*halfPi)},easeSinOut:function sinOut(t){return Math.sin(t*halfPi)}},options:["easeBack","easeBackIn","easeBackOut","easeBounce","easeBounceIn","easeBounceInOut","easeCircle","easeCircleIn","easeCircleOut","easeCubic","easeCubicIn","easeCubicOut","easeElastic","easeElasticIn","easeElasticInOut","easeExp","easeExpIn","easeExpOut","easeLinear","easePoly","easePolyIn","easePolyOut","easeQuad","easeQuadIn","easeQuadOut","easeSin","easeSinIn","easeSinOut"],table:{category:categories_animation,defaultValue:{summary:"easeQuadOut"}},type:{name:"select"},description:"The easing function for animations. Takes in a number between 0 and 1 and returns a number between 0 and 1. The options here are all from the d3-ease library."},steps:{table:{category:categories_animation,defaultValue:{summary:20}},type:{name:"number"},description:"The number of steps in animations. A higher number will result in a smoother animation, but too high will cause performance issues."},...TreeArgTypes}},"./node_modules/d3-ease/src/quad.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{function quadIn(t){return t*t}function quadOut(t){return t*(2-t)}function quadInOut(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}__webpack_require__.d(__webpack_exports__,{T_:()=>quadInOut,bl:()=>quadIn,yv:()=>quadOut})},"./src/components/container.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{A:()=>Container});var react=__webpack_require__("./node_modules/react/index.js");const regex=/on[A-Z]/;function wrapHandlers(props,...args){const wrappedHandlers=Object.keys(props).filter((propName=>regex.test(propName)&&"function"==typeof props[propName])).reduce(((acc,handler)=>(acc[handler]=function wrapper(func,args){return event=>func(event,...args)}(props[handler],args),acc)),{});return{...props,...wrappedHandlers}}function _extends(){return _extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},_extends.apply(null,arguments)}function diagonal(x1,y1,x2,y2){return`M${x1},${y1}C${(x1+x2)/2},${y1} ${(x1+x2)/2},${y2} ${x2},${y2}`}function Link(props){const wrappedProps=wrapHandlers(props.pathProps,props.source.data[props.keyProp],props.target.data[props.keyProp]),d=(props.pathFunc||diagonal)(props.x1,props.y1,props.x2,props.y2);return react.createElement("path",_extends({},wrappedProps,{d}))}function node_extends(){return node_extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},node_extends.apply(null,arguments)}function Node(props){let offset=.5,nodePropsWithDefaults=props.nodeProps;switch(props.shape){case"circle":nodePropsWithDefaults={r:5,...nodePropsWithDefaults},offset+=nodePropsWithDefaults.r;break;case"image":case"rect":nodePropsWithDefaults={height:10,width:10,...nodePropsWithDefaults},nodePropsWithDefaults={x:-nodePropsWithDefaults.width/2,y:-nodePropsWithDefaults.height/2,...nodePropsWithDefaults},offset+=nodePropsWithDefaults.width/2}"rtl"===props.direction&&(offset=-offset);const wrappedNodeProps=wrapHandlers(nodePropsWithDefaults,props[props.keyProp]),wrappedGProps=wrapHandlers(props.gProps,props[props.keyProp]),wrappedTextProps=wrapHandlers(props.textProps,props[props.keyProp]),label="string"==typeof props[props.labelProp]?react.createElement("text",node_extends({dx:offset,dy:5},wrappedTextProps),props[props.labelProp]):react.createElement("g",node_extends({transform:`translate(${offset}, 5)`},wrappedTextProps),props[props.labelProp]);return react.createElement("g",node_extends({},wrappedGProps,{transform:function getTransform(){return`translate(${props.x}, ${props.y})`}(),direction:"rtl"===props.direction?"rtl":null}),react.createElement(props.shape,wrappedNodeProps),label)}function container_extends(){return container_extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},container_extends.apply(null,arguments)}function Container(props){return react.createElement("svg",container_extends({},props.svgProps,{height:props.height,width:props.width}),props.children,react.createElement("g",{transform:`translate(${props.margins.left}, ${props.margins.top})`},props.links.map((link=>react.createElement(Link,{key:link.target.data[props.keyProp],keyProp:props.keyProp,pathFunc:props.pathFunc,source:link.source,target:link.target,x1:link.source.x,x2:link.target.x,y1:link.source.y,y2:link.target.y,pathProps:{...props.pathProps,...link.target.data.pathProps}}))),props.nodes.map((node=>react.createElement(Node,container_extends({key:node.data[props.keyProp],keyProp:props.keyProp,labelProp:props.labelProp,direction:props.direction,shape:props.nodeShape,x:node.x,y:node.y},node.data,{nodeProps:{...props.nodeProps,...node.data.nodeProps},gProps:{...props.gProps,...node.data.gProps},textProps:{...props.textProps,...node.data.textProps}}))))))}Link.__docgenInfo={description:"",methods:[],displayName:"Link"},Node.__docgenInfo={description:"",methods:[],displayName:"Node"},Container.__docgenInfo={description:"",methods:[],displayName:"Container"}},"./src/d3.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{function count(node){var sum=0,children=node.children,i=children&&children.length;if(i)for(;--i>=0;)sum+=children[i].value;else sum=1;node.value=sum}function hierarchy(data,children){data instanceof Map?(data=[void 0,data],void 0===children&&(children=mapChildren)):void 0===children&&(children=objectChildren);for(var node,child,childs,i,n,root=new Node(data),nodes=[root];node=nodes.pop();)if((childs=children(node.data))&&(n=(childs=Array.from(childs)).length))for(node.children=childs,i=n-1;i>=0;--i)nodes.push(child=childs[i]=new Node(childs[i])),child.parent=node,child.depth=node.depth+1;return root.eachBefore(computeHeight)}function objectChildren(d){return d.children}function mapChildren(d){return Array.isArray(d)?d[1]:null}function copyData(node){void 0!==node.data.value&&(node.value=node.data.value),node.data=node.data.data}function computeHeight(node){var height=0;do{node.height=height}while((node=node.parent)&&node.height<++height)}function Node(data){this.data=data,this.depth=this.height=0,this.parent=null}function defaultSeparation(a,b){return a.parent===b.parent?1:2}function nextLeft(v){var children=v.children;return children?children[0]:v.t}function nextRight(v){var children=v.children;return children?children[children.length-1]:v.t}function moveSubtree(wm,wp,shift){var change=shift/(wp.i-wm.i);wp.c-=change,wp.s+=shift,wm.c+=change,wp.z+=shift,wp.m+=shift}function nextAncestor(vim,v,ancestor){return vim.a.parent===v.parent?vim.a:ancestor}function TreeNode(node,i){this._=node,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=i}function tree(){var separation=defaultSeparation,dx=1,dy=1,nodeSize=null;function tree(root){var t=function treeRoot(root){for(var node,child,children,i,n,tree=new TreeNode(root,0),nodes=[tree];node=nodes.pop();)if(children=node._.children)for(node.children=new Array(n=children.length),i=n-1;i>=0;--i)nodes.push(child=node.children[i]=new TreeNode(children[i],i)),child.parent=node;return(tree.parent=new TreeNode(null,0)).children=[tree],tree}(root);if(t.eachAfter(firstWalk),t.parent.m=-t.z,t.eachBefore(secondWalk),nodeSize)root.eachBefore(sizeNode);else{var left=root,right=root,bottom=root;root.eachBefore((function(node){node.x<left.x&&(left=node),node.x>right.x&&(right=node),node.depth>bottom.depth&&(bottom=node)}));var s=left===right?1:separation(left,right)/2,tx=s-left.x,kx=dx/(right.x+s+tx),ky=dy/(bottom.depth||1);root.eachBefore((function(node){node.x=(node.x+tx)*kx,node.y=node.depth*ky}))}return root}function firstWalk(v){var children=v.children,siblings=v.parent.children,w=v.i?siblings[v.i-1]:null;if(children){!function executeShifts(v){for(var w,shift=0,change=0,children=v.children,i=children.length;--i>=0;)(w=children[i]).z+=shift,w.m+=shift,shift+=w.s+(change+=w.c)}(v);var midpoint=(children[0].z+children[children.length-1].z)/2;w?(v.z=w.z+separation(v._,w._),v.m=v.z-midpoint):v.z=midpoint}else w&&(v.z=w.z+separation(v._,w._));v.parent.A=function apportion(v,w,ancestor){if(w){for(var shift,vip=v,vop=v,vim=w,vom=vip.parent.children[0],sip=vip.m,sop=vop.m,sim=vim.m,som=vom.m;vim=nextRight(vim),vip=nextLeft(vip),vim&&vip;)vom=nextLeft(vom),(vop=nextRight(vop)).a=v,(shift=vim.z+sim-vip.z-sip+separation(vim._,vip._))>0&&(moveSubtree(nextAncestor(vim,v,ancestor),v,shift),sip+=shift,sop+=shift),sim+=vim.m,sip+=vip.m,som+=vom.m,sop+=vop.m;vim&&!nextRight(vop)&&(vop.t=vim,vop.m+=sim-sop),vip&&!nextLeft(vom)&&(vom.t=vip,vom.m+=sip-som,ancestor=v)}return ancestor}(v,w,v.parent.A||siblings[0])}function secondWalk(v){v._.x=v.z+v.parent.m,v.m+=v.parent.m}function sizeNode(node){node.x*=dx,node.y=node.depth*dy}return tree.separation=function(x){return arguments.length?(separation=x,tree):separation},tree.size=function(x){return arguments.length?(nodeSize=!1,dx=+x[0],dy=+x[1],tree):nodeSize?null:[dx,dy]},tree.nodeSize=function(x){return arguments.length?(nodeSize=!0,dx=+x[0],dy=+x[1],tree):nodeSize?[dx,dy]:null},tree}function getTreeData(props){const margins=props.margins||{bottom:10,left:"rtl"!==props.direction?20:150,right:"rtl"!==props.direction?150:20,top:10},contentWidth=props.width-margins.left-margins.right,contentHeight=props.height-margins.top-margins.bottom,data=hierarchy(props.data,props.getChildren),root=tree().size([contentHeight,contentWidth])(data);return{links:root.links().map((link=>({...link,source:{...link.source,x:"rtl"!==props.direction?link.source.y:contentWidth-link.source.y,y:link.source.x},target:{...link.target,x:"rtl"!==props.direction?link.target.y:contentWidth-link.target.y,y:link.target.x}}))),margins,nodes:root.descendants().map((node=>({...node,x:"rtl"!==props.direction?node.y:contentWidth-node.y,y:node.x})))}}__webpack_require__.d(__webpack_exports__,{A:()=>getTreeData}),Node.prototype=hierarchy.prototype={constructor:Node,count:function hierarchy_count(){return this.eachAfter(count)},each:function each(callback,that){let index=-1;for(const node of this)callback.call(that,node,++index,this);return this},eachAfter:function eachAfter(callback,that){for(var children,i,n,node=this,nodes=[node],next=[],index=-1;node=nodes.pop();)if(next.push(node),children=node.children)for(i=0,n=children.length;i<n;++i)nodes.push(children[i]);for(;node=next.pop();)callback.call(that,node,++index,this);return this},eachBefore:function eachBefore(callback,that){for(var children,i,node=this,nodes=[node],index=-1;node=nodes.pop();)if(callback.call(that,node,++index,this),children=node.children)for(i=children.length-1;i>=0;--i)nodes.push(children[i]);return this},find:function find(callback,that){let index=-1;for(const node of this)if(callback.call(that,node,++index,this))return node},sum:function sum(value){return this.eachAfter((function(node){for(var sum=+value(node.data)||0,children=node.children,i=children&&children.length;--i>=0;)sum+=children[i].value;node.value=sum}))},sort:function sort(compare){return this.eachBefore((function(node){node.children&&node.children.sort(compare)}))},path:function path(end){for(var start=this,ancestor=function leastCommonAncestor(a,b){if(a===b)return a;var aNodes=a.ancestors(),bNodes=b.ancestors(),c=null;a=aNodes.pop(),b=bNodes.pop();for(;a===b;)c=a,a=aNodes.pop(),b=bNodes.pop();return c}(start,end),nodes=[start];start!==ancestor;)start=start.parent,nodes.push(start);for(var k=nodes.length;end!==ancestor;)nodes.splice(k,0,end),end=end.parent;return nodes},ancestors:function ancestors(){for(var node=this,nodes=[node];node=node.parent;)nodes.push(node);return nodes},descendants:function descendants(){return Array.from(this)},leaves:function leaves(){var leaves=[];return this.eachBefore((function(node){node.children||leaves.push(node)})),leaves},links:function links(){var root=this,links=[];return root.each((function(node){node!==root&&links.push({source:node.parent,target:node})})),links},copy:function node_copy(){return hierarchy(this).eachBefore(copyData)},[Symbol.iterator]:function*iterator(){var current,children,i,n,node=this,next=[node];do{for(current=next.reverse(),next=[];node=current.pop();)if(yield node,children=node.children)for(i=0,n=children.length;i<n;++i)next.push(children[i])}while(next.length)}},TreeNode.prototype=Object.create(Node.prototype)}}]);
================================================
FILE: docs/688.1553505b.iframe.bundle.js
================================================
/*! For license information please see 688.1553505b.iframe.bundle.js.LICENSE.txt */
"use strict";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[688],{"./node_modules/@storybook/addon-docs/dist/blocks.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{zE:()=>AnchorMdx,XA:()=>CodeOrSourceMdx,H2:()=>Controls3,VY:()=>DescriptionContainer,kQ:()=>Docs,Sw:()=>HeadersMdx,W8:()=>Meta,Tn:()=>Primary,om:()=>Stories,Pd:()=>Subtitle2,hE:()=>Title3});var chunk_SPFYY5GD=__webpack_require__("./node_modules/@storybook/addon-docs/dist/chunk-SPFYY5GD.mjs"),chunk_QUZPS4B6=__webpack_require__("./node_modules/@storybook/addon-docs/dist/chunk-QUZPS4B6.mjs"),react=__webpack_require__("./node_modules/react/index.js"),external_STORYBOOK_MODULE_CLIENT_LOGGER_=__webpack_require__("storybook/internal/client-logger"),components=__webpack_require__("./node_modules/storybook/dist/components/index.js"),csf=__webpack_require__("./node_modules/storybook/dist/csf/index.js"),dist=__webpack_require__("./node_modules/@storybook/icons/dist/index.mjs"),theming=__webpack_require__("./node_modules/storybook/dist/theming/index.js"),external_STORYBOOK_MODULE_CORE_EVENTS_=__webpack_require__("storybook/internal/core-events"),external_STORYBOOK_MODULE_PREVIEW_API_=__webpack_require__("storybook/preview-api"),docs_tools=__webpack_require__("./node_modules/storybook/dist/docs-tools/index.js");function dedent(templ){for(var values=[],_i=1;_i<arguments.length;_i++)values[_i-1]=arguments[_i];var strings=Array.from("string"==typeof templ?[templ]:templ);strings[strings.length-1]=strings[strings.length-1].replace(/\r?\n([\t ]*)$/,"");var indentLengths=strings.reduce((function(arr,str){var matches=str.match(/\n([\t ]+|(?!\s).)/g);return matches?arr.concat(matches.map((function(match){var _a,_b;return null!==(_b=null===(_a=match.match(/[\t ]/g))||void 0===_a?void 0:_a.length)&&void 0!==_b?_b:0}))):arr}),[]);if(indentLengths.length){var pattern_1=new RegExp("\n[\t ]{"+Math.min.apply(Math,indentLengths)+"}","g");strings=strings.map((function(str){return str.replace(pattern_1,"\n")}))}strings[0]=strings[0].replace(/^\r?\n/,"");var string=strings[0];return values.forEach((function(value,i){var endentations=string.match(/(?:^|\n)( *)$/),endentation=endentations?endentations[1]:"",indentedValue=value;"string"==typeof value&&value.includes("\n")&&(indentedValue=String(value).split("\n").map((function(str,i){return 0===i?str:""+endentation+str})).join("\n")),string+=indentedValue+strings[i+1]})),string}var external_STORYBOOK_MODULE_CHANNELS_=__webpack_require__("storybook/internal/channels"),require_memoizerific=(0,chunk_QUZPS4B6.P$)({"../../node_modules/memoizerific/memoizerific.js"(exports,module){!function(f2){if("object"==typeof exports&&typeof module<"u")module.exports=f2();else if("function"==typeof define&&__webpack_require__.amdO)define([],f2);else{(typeof window<"u"?window:typeof __webpack_require__.g<"u"?__webpack_require__.g:typeof self<"u"?self:this).memoizerific=f2()}}((function(){return function e2(t2,n2,r2){function s2(o3,u2){if(!n2[o3]){if(!t2[o3]){var a2="function"==typeof chunk_QUZPS4B6.ki&&chunk_QUZPS4B6.ki;if(!u2&&a2)return a2(o3,!0);if(i2)return i2(o3,!0);var f2=new Error("Cannot find module '"+o3+"'");throw f2.code="MODULE_NOT_FOUND",f2}var l2=n2[o3]={exports:{}};t2[o3][0].call(l2.exports,(function(e3){return s2(t2[o3][1][e3]||e3)}),l2,l2.exports,e2,t2,n2,r2)}return n2[o3].exports}for(var i2="function"==typeof chunk_QUZPS4B6.ki&&chunk_QUZPS4B6.ki,o2=0;o2<r2.length;o2++)s2(r2[o2]);return s2}({1:[function(_dereq_,module3,exports3){module3.exports=function(forceSimilar){return"function"!=typeof Map||forceSimilar?new(_dereq_("./similar")):new Map}},{"./similar":2}],2:[function(_dereq_,module3,exports3){function Similar(){return this.list=[],this.lastItem=void 0,this.size=0,this}Similar.prototype.get=function(key){var index;return this.lastItem&&this.isEqual(this.lastItem.key,key)?this.lastItem.val:(index=this.indexOf(key))>=0?(this.lastItem=this.list[index],this.list[index].val):void 0},Similar.prototype.set=function(key,val){var index;return this.lastItem&&this.isEqual(this.lastItem.key,key)?(this.lastItem.val=val,this):(index=this.indexOf(key))>=0?(this.lastItem=this.list[index],this.list[index].val=val,this):(this.lastItem={key,val},this.list.push(this.lastItem),this.size++,this)},Similar.prototype.delete=function(key){var index;if(this.lastItem&&this.isEqual(this.lastItem.key,key)&&(this.lastItem=void 0),(index=this.indexOf(key))>=0)return this.size--,this.list.splice(index,1)[0]},Similar.prototype.has=function(key){var index;return!(!this.lastItem||!this.isEqual(this.lastItem.key,key))||(index=this.indexOf(key))>=0&&(this.lastItem=this.list[index],!0)},Similar.prototype.forEach=function(callback,thisArg){var i2;for(i2=0;i2<this.size;i2++)callback.call(thisArg||this,this.list[i2].val,this.list[i2].key,this)},Similar.prototype.indexOf=function(key){var i2;for(i2=0;i2<this.size;i2++)if(this.isEqual(this.list[i2].key,key))return i2;return-1},Similar.prototype.isEqual=function(val1,val2){return val1===val2||val1!=val1&&val2!=val2},module3.exports=Similar},{}],3:[function(_dereq_,module3,exports3){var MapOrSimilar=_dereq_("map-or-similar");function isEqual(val1,val2){return val1===val2||val1!=val1&&val2!=val2}module3.exports=function(limit){var cache=new MapOrSimilar(!1),lru=[];return function(fn){var memoizerific=function(){var newMap,fnResult,i2,currentCache=cache,argsLengthMinusOne=arguments.length-1,lruPath=Array(argsLengthMinusOne+1),isMemoized=!0;if((memoizerific.numArgs||0===memoizerific.numArgs)&&memoizerific.numArgs!==argsLengthMinusOne+1)throw new Error("Memoizerific functions should always be called with the same number of arguments");for(i2=0;i2<argsLengthMinusOne;i2++)lruPath[i2]={cacheItem:currentCache,arg:arguments[i2]},currentCache.has(arguments[i2])?currentCache=currentCache.get(arguments[i2]):(isMemoized=!1,newMap=new MapOrSimilar(!1),currentCache.set(arguments[i2],newMap),currentCache=newMap);return isMemoized&&(currentCache.has(arguments[argsLengthMinusOne])?fnResult=currentCache.get(arguments[argsLengthMinusOne]):isMemoized=!1),isMemoized||(fnResult=fn.apply(null,arguments),currentCache.set(arguments[argsLengthMinusOne],fnResult)),limit>0&&(lruPath[argsLengthMinusOne]={cacheItem:currentCache,arg:arguments[argsLengthMinusOne]},isMemoized?function moveToMostRecentLru(lru,lruPath){var isMatch,i2,ii,lruLen=lru.length,lruPathLen=lruPath.length;for(i2=0;i2<lruLen;i2++){for(isMatch=!0,ii=0;ii<lruPathLen;ii++)if(!isEqual(lru[i2][ii].arg,lruPath[ii].arg)){isMatch=!1;break}if(isMatch)break}lru.push(lru.splice(i2,1)[0])}(lru,lruPath):lru.push(lruPath),lru.length>limit&&function removeCachedResult(removedLru){var tmp,i2,removedLruLen=removedLru.length,currentLru=removedLru[removedLruLen-1];for(currentLru.cacheItem.delete(currentLru.arg),i2=removedLruLen-2;i2>=0&&(currentLru=removedLru[i2],!(tmp=currentLru.cacheItem.get(currentLru.arg))||!tmp.size);i2--)currentLru.cacheItem.delete(currentLru.arg)}(lru.shift())),memoizerific.wasMemoized=isMemoized,memoizerific.numArgs=argsLengthMinusOne+1,fnResult};return memoizerific.limit=limit,memoizerific.wasMemoized=!1,memoizerific.cache=cache,memoizerific.lru=lru,memoizerific}}},{"map-or-similar":1}]},{},[3])(3)}))}});function _extends(){return _extends=Object.assign?Object.assign.bind():function(n2){for(var e2=1;e2<arguments.length;e2++){var t2=arguments[e2];for(var r2 in t2)({}).hasOwnProperty.call(t2,r2)&&(n2[r2]=t2[r2])}return n2},_extends.apply(null,arguments)}function _setPrototypeOf(t2,e2){return(_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t3,e3){return t3.__proto__=e3,t3})(t2,e2)}function _getPrototypeOf(t2){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t3){return t3.__proto__||Object.getPrototypeOf(t3)})(t2)}function _isNativeReflectConstruct(){try{var t2=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(_isNativeReflectConstruct=function(){return!!t2})()}function _wrapNativeSuper(t2){var r2="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function(t3){if(null===t3||!function _isNativeFunction(t2){try{return-1!==Function.toString.call(t2).indexOf("[native code]")}catch{return"function"==typeof t2}}(t3))return t3;if("function"!=typeof t3)throw new TypeError("Super expression must either be null or a function");if(void 0!==r2){if(r2.has(t3))return r2.get(t3);r2.set(t3,Wrapper11)}function Wrapper11(){return function _construct(t2,e2,r2){if(_isNativeReflectConstruct())return Reflect.construct.apply(null,arguments);var o2=[null];o2.push.apply(o2,e2);var p2=new(t2.bind.apply(t2,o2));return r2&&_setPrototypeOf(p2,r2.prototype),p2}(t3,arguments,_getPrototypeOf(this).constructor)}return Wrapper11.prototype=Object.create(t3.prototype,{constructor:{value:Wrapper11,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(Wrapper11,t3)},_wrapNativeSuper(t2)}var ERRORS={1:"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",2:"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",3:"Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",4:"Couldn't generate valid rgb string from %s, it returned %s.\n\n",5:"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",6:"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",7:"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",8:"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",9:"Please provide a number of steps to the modularScale helper.\n\n",10:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",11:'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n',12:'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n',13:'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n',14:'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',15:'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',16:"You must provide a template to this method.\n\n",17:"You passed an unsupported selector state to this method.\n\n",18:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",19:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",20:"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:"fontFace expects a name of a font-family.\n\n",24:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",25:"fontFace expects localFonts to be an array.\n\n",26:"fontFace expects fileFormats to be an array.\n\n",27:"radialGradient requries at least 2 color-stops to properly render.\n\n",28:"Please supply a filename to retinaImage() as the first argument.\n\n",29:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",32:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",33:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",34:"borderRadius expects a radius value as a string or number as the second argument.\n\n",35:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',36:"Property must be a string value.\n\n",37:"Syntax Error at %s.\n\n",38:"Formula contains a function that needs parentheses at %s.\n\n",39:"Formula is missing closing parenthesis at %s.\n\n",40:"Formula has too many closing parentheses at %s.\n\n",41:"All values in a formula must have the same unit or be unitless.\n\n",42:"Please provide a number of steps to the modularScale helper.\n\n",43:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",44:"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",45:"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",46:"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",47:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",48:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",49:"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",50:"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",51:"Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",52:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",53:"fontFace expects localFonts to be an array.\n\n",54:"fontFace expects fileFormats to be an array.\n\n",55:"fontFace expects a name of a font-family.\n\n",56:"linearGradient requries at least 2 color-stops to properly render.\n\n",57:"radialGradient requries at least 2 color-stops to properly render.\n\n",58:"Please supply a filename to retinaImage() as the first argument.\n\n",59:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:"Property must be a string value.\n\n",62:"borderRadius expects a radius value as a string or number as the second argument.\n\n",63:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',64:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",65:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",66:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",67:"You must provide a template to this method.\n\n",68:"You passed an unsupported selector state to this method.\n\n",69:'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n',70:'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n',71:'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n',72:'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n\n',73:"Please provide a valid CSS variable.\n\n",74:"CSS variable not found and no default was provided.\n\n",75:"important requires a valid style object, got a %s instead.\n\n",76:"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n",77:'remToPx expects a value in "rem" but you provided it in "%s".\n\n',78:'base must be set in "px" or "%" but you set it in "%s".\n'};function format(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];var c2,a2=args[0],b2=[];for(c2=1;c2<args.length;c2+=1)b2.push(args[c2]);return b2.forEach((function(d2){a2=a2.replace(/%[a-z]/,d2)})),a2}var PolishedError=function(_Error){function PolishedError2(code){for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];return function _assertThisInitialized(e2){if(void 0===e2)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e2}(_Error.call(this,format.apply(void 0,[ERRORS[code]].concat(args)))||this)}return function _inheritsLoose(t2,o2){t2.prototype=Object.create(o2.prototype),t2.prototype.constructor=t2,_setPrototypeOf(t2,o2)}(PolishedError2,_Error),PolishedError2}(_wrapNativeSuper(Error));function colorToInt(color){return Math.round(255*color)}function convertToInt(red,green,blue){return colorToInt(red)+","+colorToInt(green)+","+colorToInt(blue)}function hslToRgb(hue,saturation,lightness,convert2){if(void 0===convert2&&(convert2=convertToInt),0===saturation)return convert2(lightness,lightness,lightness);var huePrime=(hue%360+360)%360/60,chroma=(1-Math.abs(2*lightness-1))*saturation,secondComponent=chroma*(1-Math.abs(huePrime%2-1)),red=0,green=0,blue=0;huePrime>=0&&huePrime<1?(red=chroma,green=secondComponent):huePrime>=1&&huePrime<2?(red=secondComponent,green=chroma):huePrime>=2&&huePrime<3?(green=chroma,blue=secondComponent):huePrime>=3&&huePrime<4?(green=secondComponent,blue=chroma):huePrime>=4&&huePrime<5?(red=secondComponent,blue=chroma):huePrime>=5&&huePrime<6&&(red=chroma,blue=secondComponent);var lightnessModification=lightness-chroma/2;return convert2(red+lightnessModification,green+lightnessModification,blue+lightnessModification)}var namedColorMap={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var hexRegex=/^#[a-fA-F0-9]{6}$/,hexRgbaRegex=/^#[a-fA-F0-9]{8}$/,reducedHexRegex=/^#[a-fA-F0-9]{3}$/,reducedRgbaHexRegex=/^#[a-fA-F0-9]{4}$/,rgbRegex=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,rgbaRegex=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,hslRegex=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,hslaRegex=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function parseToRgb(color){if("string"!=typeof color)throw new PolishedError(3);var normalizedColor=function nameToHex(color){if("string"!=typeof color)return color;var normalizedColorName=color.toLowerCase();return namedColorMap[normalizedColorName]?"#"+namedColorMap[normalizedColorName]:color}(color);if(normalizedColor.match(hexRegex))return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16)};if(normalizedColor.match(hexRgbaRegex)){var alpha=parseFloat((parseInt(""+normalizedColor[7]+normalizedColor[8],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16),alpha}}if(normalizedColor.match(reducedHexRegex))return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16)};if(normalizedColor.match(reducedRgbaHexRegex)){var _alpha=parseFloat((parseInt(""+normalizedColor[4]+normalizedColor[4],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16),alpha:_alpha}}var rgbMatched=rgbRegex.exec(normalizedColor);if(rgbMatched)return{red:parseInt(""+rgbMatched[1],10),green:parseInt(""+rgbMatched[2],10),blue:parseInt(""+rgbMatched[3],10)};var rgbaMatched=rgbaRegex.exec(normalizedColor.substring(0,50));if(rgbaMatched)return{red:parseInt(""+rgbaMatched[1],10),green:parseInt(""+rgbaMatched[2],10),blue:parseInt(""+rgbaMatched[3],10),alpha:parseFloat(""+rgbaMatched[4])>1?parseFloat(""+rgbaMatched[4])/100:parseFloat(""+rgbaMatched[4])};var hslMatched=hslRegex.exec(normalizedColor);if(hslMatched){var rgbColorString="rgb("+hslToRgb(parseInt(""+hslMatched[1],10),parseInt(""+hslMatched[2],10)/100,parseInt(""+hslMatched[3],10)/100)+")",hslRgbMatched=rgbRegex.exec(rgbColorString);if(!hslRgbMatched)throw new PolishedError(4,normalizedColor,rgbColorString);return{red:parseInt(""+hslRgbMatched[1],10),green:parseInt(""+hslRgbMatched[2],10),blue:parseInt(""+hslRgbMatched[3],10)}}var hslaMatched=hslaRegex.exec(normalizedColor.substring(0,50));if(hslaMatched){var _rgbColorString="rgb("+hslToRgb(parseInt(""+hslaMatched[1],10),parseInt(""+hslaMatched[2],10)/100,parseInt(""+hslaMatched[3],10)/100)+")",_hslRgbMatched=rgbRegex.exec(_rgbColorString);if(!_hslRgbMatched)throw new PolishedError(4,normalizedColor,_rgbColorString);return{red:parseInt(""+_hslRgbMatched[1],10),green:parseInt(""+_hslRgbMatched[2],10),blue:parseInt(""+_hslRgbMatched[3],10),alpha:parseFloat(""+hslaMatched[4])>1?parseFloat(""+hslaMatched[4])/100:parseFloat(""+hslaMatched[4])}}throw new PolishedError(5)}function parseToHsl(color){return function rgbToHsl(color){var red=color.red/255,green=color.green/255,blue=color.blue/255,max=Math.max(red,green,blue),min=Math.min(red,green,blue),lightness=(max+min)/2;if(max===min)return void 0!==color.alpha?{hue:0,saturation:0,lightness,alpha:color.alpha}:{hue:0,saturation:0,lightness};var hue,delta=max-min,saturation=lightness>.5?delta/(2-max-min):delta/(max+min);switch(max){case red:hue=(green-blue)/delta+(green<blue?6:0);break;case green:hue=(blue-red)/delta+2;break;default:hue=(red-green)/delta+4}return hue*=60,void 0!==color.alpha?{hue,saturation,lightness,alpha:color.alpha}:{hue,saturation,lightness}}(parseToRgb(color))}var reduceHexValue$1=function(value2){return 7===value2.length&&value2[1]===value2[2]&&value2[3]===value2[4]&&value2[5]===value2[6]?"#"+value2[1]+value2[3]+value2[5]:value2};function numberToHex(value2){var hex=value2.toString(16);return 1===hex.length?"0"+hex:hex}function colorToHex(color){return numberToHex(Math.round(255*color))}function convertToHex(red,green,blue){return reduceHexValue$1("#"+colorToHex(red)+colorToHex(green)+colorToHex(blue))}function hslToHex(hue,saturation,lightness){return hslToRgb(hue,saturation,lightness,convertToHex)}function rgb(value2,green,blue){if("number"==typeof value2&&"number"==typeof green&&"number"==typeof blue)return reduceHexValue$1("#"+numberToHex(value2)+numberToHex(green)+numberToHex(blue));if("object"==typeof value2&&void 0===green&&void 0===blue)return reduceHexValue$1("#"+numberToHex(value2.red)+numberToHex(value2.green)+numberToHex(value2.blue));throw new PolishedError(6)}function rgba(firstValue,secondValue,thirdValue,fourthValue){if("string"==typeof firstValue&&"number"==typeof secondValue){var rgbValue=parseToRgb(firstValue);return"rgba("+rgbValue.red+","+rgbValue.green+","+rgbValue.blue+","+secondValue+")"}if("number"==typeof firstValue&&"number"==typeof secondValue&&"number"==typeof thirdValue&&"number"==typeof fourthValue)return fourthValue>=1?rgb(firstValue,secondValue,thirdValue):"rgba("+firstValue+","+secondValue+","+thirdValue+","+fourthValue+")";if("object"==typeof firstValue&&void 0===secondValue&&void 0===thirdValue&&void 0===fourthValue)return firstValue.alpha>=1?rgb(firstValue.red,firstValue.green,firstValue.blue):"rgba("+firstValue.red+","+firstValue.green+","+firstValue.blue+","+firstValue.alpha+")";throw new PolishedError(7)}function toColorString(color){if("object"!=typeof color)throw new PolishedError(8);if(function(color){return"number"==typeof color.red&&"number"==typeof color.green&&"number"==typeof color.blue&&"number"==typeof color.alpha}(color))return rgba(color);if(function(color){return"number"==typeof color.red&&"number"==typeof color.green&&"number"==typeof color.blue&&("number"!=
gitextract_xm1rgv6b/
├── .babelrc
├── .browserslistrc
├── .editorconfig
├── .eslintrc.json
├── .github/
│ └── workflows/
│ ├── build.yml
│ ├── coverage.yml
│ ├── storybook.yml
│ └── test.yml
├── .gitignore
├── .npmignore
├── .storybook/
│ ├── .eslintrc.json
│ ├── main.js
│ ├── manager-head.html
│ ├── manager.js
│ ├── preview.js
│ ├── stories/
│ │ ├── animatedTree.stories.js
│ │ ├── argTypes.js
│ │ ├── intro.mdx
│ │ ├── labels.stories.js
│ │ ├── nodes.stories.js
│ │ └── tree.stories.js
│ └── styles/
│ ├── nodeProps.css
│ ├── polygon.css
│ └── styles.css
├── CHANGELOG.md
├── LICENSE
├── README.md
├── __tests__/
│ ├── .eslintrc.json
│ ├── Components/
│ │ ├── __snapshots__/
│ │ │ ├── animatedTests.js.snap
│ │ │ ├── animatedTreeTests.js.snap
│ │ │ ├── containerTests.js.snap
│ │ │ ├── linkTests.js.snap
│ │ │ ├── nodeTests.js.snap
│ │ │ └── treeTests.js.snap
│ │ ├── animatedTests.js
│ │ ├── animatedTreeTests.js
│ │ ├── containerTests.js
│ │ ├── linkTests.js
│ │ ├── nodeTests.js
│ │ └── treeTests.js
│ ├── d3Tests.js
│ ├── startup.js
│ └── wrapHandlersTests.js
├── dist/
│ ├── index.js
│ ├── module/
│ │ ├── components/
│ │ │ ├── animated.js
│ │ │ ├── animatedTree.js
│ │ │ ├── container.js
│ │ │ ├── link.js
│ │ │ ├── node.js
│ │ │ └── tree.js
│ │ ├── d3.js
│ │ ├── index.js
│ │ └── wrapHandlers.js
│ └── style.css
├── docs/
│ ├── 161.a4718455.iframe.bundle.js
│ ├── 294.bd1debad.iframe.bundle.js
│ ├── 357.c654aade.iframe.bundle.js
│ ├── 434.8aa01134.iframe.bundle.js
│ ├── 688.1553505b.iframe.bundle.js
│ ├── 688.1553505b.iframe.bundle.js.LICENSE.txt
│ ├── 735.697195c4.iframe.bundle.js
│ ├── animatedTree-stories.fcd27f04.iframe.bundle.js
│ ├── iframe.html
│ ├── index.html
│ ├── index.json
│ ├── intro-mdx.158e5140.iframe.bundle.js
│ ├── labels-stories.c283c343.iframe.bundle.js
│ ├── main.539c4757.iframe.bundle.js
│ ├── mocker-runtime-injected.js
│ ├── mocker-runtime-injected.js.LICENSE.txt
│ ├── nodes-stories.e7851c9e.iframe.bundle.js
│ ├── project.json
│ ├── runtime~main.d380d272.iframe.bundle.js
│ ├── sb-addons/
│ │ ├── docs-1/
│ │ │ └── manager-bundle.js
│ │ ├── storybook-2/
│ │ │ └── manager-bundle.js
│ │ └── storybook-core-server-presets-0/
│ │ └── common-manager-bundle.js
│ ├── sb-manager/
│ │ ├── globals-module-info.js
│ │ ├── globals-runtime.js
│ │ ├── globals.js
│ │ └── runtime.js
│ ├── sb-preview/
│ │ ├── globals.js
│ │ └── runtime.js
│ └── tree-stories.4e3a1159.iframe.bundle.js
├── package.json
├── rollup.config.mjs
├── src/
│ ├── components/
│ │ ├── animated.js
│ │ ├── animatedTree.js
│ │ ├── container.js
│ │ ├── link.js
│ │ ├── node.js
│ │ └── tree.js
│ ├── d3.js
│ ├── index.js
│ └── wrapHandlers.js
└── styles/
└── style.css
Showing preview only (498K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (6948 symbols across 39 files)
FILE: .storybook/main.js
method webpackFinal (line 8) | webpackFinal(config) {
FILE: .storybook/stories/labels.stories.js
constant JSX (line 40) | const JSX = {
FILE: __tests__/Components/containerTests.js
function onClick (line 108) | function onClick() { }
FILE: __tests__/Components/linkTests.js
function straightPath (line 27) | function straightPath(x1, y1, x2, y2) {
FILE: dist/index.js
function _interopDefault (line 33) | function _interopDefault(e) {
function getTreeData (line 40) | function getTreeData(props) {
function wrapper (line 85) | function wrapper(func, args) {
function wrapHandlers (line 90) | function wrapHandlers(props, ...args) {
function diagonal (line 105) | function diagonal(x1, y1, x2, y2) {
function Link (line 108) | function Link(props) {
function Node (line 124) | function Node(props) {
function Container (line 202) | function Container(props) {
function Animated (line 267) | function Animated(props) {
function AnimatedTree (line 451) | function AnimatedTree(props) {
function Tree (line 501) | function Tree(props) {
FILE: dist/module/components/animated.js
function Animated (line 5) | function Animated(props) {
FILE: dist/module/components/animatedTree.js
function AnimatedTree (line 7) | function AnimatedTree(props) {
FILE: dist/module/components/container.js
function Container (line 6) | function Container(props) {
FILE: dist/module/components/link.js
function diagonal (line 5) | function diagonal(x1, y1, x2, y2) {
function Link (line 8) | function Link(props) {
FILE: dist/module/components/node.js
function Node (line 5) | function Node(props) {
FILE: dist/module/components/tree.js
function Tree (line 6) | function Tree(props) {
FILE: dist/module/d3.js
function getTreeData (line 3) | function getTreeData(props) {
FILE: dist/module/wrapHandlers.js
function wrapper (line 2) | function wrapper(func, args) {
function wrapHandlers (line 7) | function wrapHandlers(props, ...args) {
FILE: docs/161.a4718455.iframe.bundle.js
method constructor (line 1) | constructor(){super(...arguments),this.state={hasError:!1}}
method getDerivedStateFromError (line 1) | static getDerivedStateFromError(){return{hasError:!0}}
method componentDidCatch (line 1) | componentDidCatch(err){let{showException}=this.props;showException(err)}
method render (line 1) | render(){let{hasError}=this.state,{children}=this.props;return hasError?...
method constructor (line 1) | constructor(){this.render=async(context,docsParameter,element)=>{let com...
FILE: docs/294.bd1debad.iframe.bundle.js
function useMDXComponents (line 1) | function useMDXComponents(components){const contextComponents=react__WEB...
function MDXProvider (line 1) | function MDXProvider(properties){let allComponents;return allComponents=...
FILE: docs/357.c654aade.iframe.bundle.js
method "../../node_modules/color-name/index.js" (line 1) | "../../node_modules/color-name/index.js"(exports,module){module.exports=...
method "../../node_modules/color-convert/conversions.js" (line 1) | "../../node_modules/color-convert/conversions.js"(exports,module){var cs...
method "../../node_modules/color-convert/route.js" (line 1) | "../../node_modules/color-convert/route.js"(exports,module){var conversi...
method "../../node_modules/color-convert/index.js" (line 1) | "../../node_modules/color-convert/index.js"(exports,module){var conversi...
function u (line 1) | function u(){return(u=Object.assign||function(e2){for(var r2=1;r2<argume...
function c (line 1) | function c(e2,r2){if(null==e2)return{};var t2,n2,o2={},a2=Object.keys(e2...
function i (line 1) | function i(e2){var t2=(0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(e2),...
function t2 (line 1) | function t2(t3){var n2=_2.current,o3=v(m2.current),a3=t3?o3.addEventList...
function Y (line 1) | function Y(e2,t2,l2){var u2=i(l2),c2=(0,react__WEBPACK_IMPORTED_MODULE_2...
FILE: docs/434.8aa01134.iframe.bundle.js
function backIn (line 1) | function backIn(t){return(t=+t)*t*(s*(t-1)+t)}
function backOut (line 1) | function backOut(t){return--t*t*((t+1)*s+t)+1}
function backInOut (line 1) | function backInOut(t){return((t*=2)<1?t*t*((s+1)*t-s):(t-=2)*t*((s+1)*t+...
function bounceOut (line 1) | function bounceOut(t){return(t=+t)<b1?b0*t*t:t<b3?b0*(t-=b2)*t+.75:t<b6?...
function tpmt (line 1) | function tpmt(x){return 1.0009775171065494*(Math.pow(2,-10*x)-.0009765625)}
function elasticIn (line 1) | function elasticIn(t){return a*tpmt(- --t)*Math.sin((s-t)/p)}
function elasticOut (line 1) | function elasticOut(t){return 1-a*tpmt(t=+t)*Math.sin((t+s)/p)}
function elasticInOut (line 1) | function elasticInOut(t){return((t=2*t-1)<0?a*tpmt(-t)*Math.sin((s-t)/p)...
function polyIn (line 1) | function polyIn(t){return Math.pow(t,e)}
function polyOut (line 1) | function polyOut(t){return 1-Math.pow(1-t,e)}
function polyInOut (line 1) | function polyInOut(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}
function quadIn (line 1) | function quadIn(t){return t*t}
function quadOut (line 1) | function quadOut(t){return t*(2-t)}
function quadInOut (line 1) | function quadInOut(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}
function wrapHandlers (line 1) | function wrapHandlers(props,...args){const wrappedHandlers=Object.keys(p...
function _extends (line 1) | function _extends(){return _extends=Object.assign?Object.assign.bind():f...
function diagonal (line 1) | function diagonal(x1,y1,x2,y2){return`M${x1},${y1}C${(x1+x2)/2},${y1} ${...
function Link (line 1) | function Link(props){const wrappedProps=wrapHandlers(props.pathProps,pro...
function node_extends (line 1) | function node_extends(){return node_extends=Object.assign?Object.assign....
function Node (line 1) | function Node(props){let offset=.5,nodePropsWithDefaults=props.nodeProps...
function container_extends (line 1) | function container_extends(){return container_extends=Object.assign?Obje...
function Container (line 1) | function Container(props){return react.createElement("svg",container_ext...
function count (line 1) | function count(node){var sum=0,children=node.children,i=children&&childr...
function hierarchy (line 1) | function hierarchy(data,children){data instanceof Map?(data=[void 0,data...
function objectChildren (line 1) | function objectChildren(d){return d.children}
function mapChildren (line 1) | function mapChildren(d){return Array.isArray(d)?d[1]:null}
function copyData (line 1) | function copyData(node){void 0!==node.data.value&&(node.value=node.data....
function computeHeight (line 1) | function computeHeight(node){var height=0;do{node.height=height}while((n...
function Node (line 1) | function Node(data){this.data=data,this.depth=this.height=0,this.parent=...
function defaultSeparation (line 1) | function defaultSeparation(a,b){return a.parent===b.parent?1:2}
function nextLeft (line 1) | function nextLeft(v){var children=v.children;return children?children[0]...
function nextRight (line 1) | function nextRight(v){var children=v.children;return children?children[c...
function moveSubtree (line 1) | function moveSubtree(wm,wp,shift){var change=shift/(wp.i-wm.i);wp.c-=cha...
function nextAncestor (line 1) | function nextAncestor(vim,v,ancestor){return vim.a.parent===v.parent?vim...
function TreeNode (line 1) | function TreeNode(node,i){this._=node,this.parent=null,this.children=nul...
function tree (line 1) | function tree(){var separation=defaultSeparation,dx=1,dy=1,nodeSize=null...
function getTreeData (line 1) | function getTreeData(props){const margins=props.margins||{bottom:10,left...
FILE: docs/688.1553505b.iframe.bundle.js
function dedent (line 2) | function dedent(templ){for(var values=[],_i=1;_i<arguments.length;_i++)v...
method "../../node_modules/memoizerific/memoizerific.js" (line 2) | "../../node_modules/memoizerific/memoizerific.js"(exports,module){!funct...
function _extends (line 2) | function _extends(){return _extends=Object.assign?Object.assign.bind():f...
function _setPrototypeOf (line 2) | function _setPrototypeOf(t2,e2){return(_setPrototypeOf=Object.setPrototy...
function _getPrototypeOf (line 2) | function _getPrototypeOf(t2){return(_getPrototypeOf=Object.setPrototypeO...
function _isNativeReflectConstruct (line 2) | function _isNativeReflectConstruct(){try{var t2=!Boolean.prototype.value...
function _wrapNativeSuper (line 2) | function _wrapNativeSuper(t2){var r2="function"==typeof Map?new Map:void...
function format (line 2) | function format(){for(var _len=arguments.length,args=new Array(_len),_ke...
function PolishedError2 (line 2) | function PolishedError2(code){for(var _len2=arguments.length,args=new Ar...
function colorToInt (line 2) | function colorToInt(color){return Math.round(255*color)}
function convertToInt (line 2) | function convertToInt(red,green,blue){return colorToInt(red)+","+colorTo...
function hslToRgb (line 2) | function hslToRgb(hue,saturation,lightness,convert2){if(void 0===convert...
function parseToRgb (line 2) | function parseToRgb(color){if("string"!=typeof color)throw new PolishedE...
function parseToHsl (line 2) | function parseToHsl(color){return function rgbToHsl(color){var red=color...
function numberToHex (line 2) | function numberToHex(value2){var hex=value2.toString(16);return 1===hex....
function colorToHex (line 2) | function colorToHex(color){return numberToHex(Math.round(255*color))}
function convertToHex (line 2) | function convertToHex(red,green,blue){return reduceHexValue$1("#"+colorT...
function hslToHex (line 2) | function hslToHex(hue,saturation,lightness){return hslToRgb(hue,saturati...
function rgb (line 2) | function rgb(value2,green,blue){if("number"==typeof value2&&"number"==ty...
function rgba (line 2) | function rgba(firstValue,secondValue,thirdValue,fourthValue){if("string"...
function toColorString (line 2) | function toColorString(color){if("object"!=typeof color)throw new Polish...
function curried (line 2) | function curried(f2,length,acc){return function(){var combined=acc.conca...
function curry (line 2) | function curry(f2){return curried(f2,f2.length,[])}
function guard (line 2) | function guard(lowerBoundary,upperBoundary,value2){return Math.max(lower...
method constructor (line 2) | constructor(){super(...arguments),this.iframe=null}
method componentDidMount (line 2) | componentDidMount(){let{id}=this.props;this.iframe=globalWindow.document...
method shouldComponentUpdate (line 2) | shouldComponentUpdate(nextProps){let{scale}=nextProps;return scale!==thi...
method setIframeBodyStyle (line 2) | setIframeBodyStyle(style){return Object.assign(this.iframe.contentDocume...
method render (line 2) | render(){let{id,title,src,allowFullScreen,scale,...rest}=this.props;retu...
function getStoryId (line 2) | function getStoryId(children){if(1===react.Children.count(children)){let...
function build_html_default (line 2) | function build_html_default(options){let tocElement,forEach=[].forEach,s...
function parseContent (line 2) | function parseContent(options){let reduce=[].reduce;function getLastItem...
function initSmoothScrolling (line 2) | function initSmoothScrolling(options){var duration=options.duration,offs...
function init (line 2) | function init(customOptions){let hasInitialized=!1;(_options=function ex...
function destroy (line 2) | function destroy(){let tocElement=getTocElement(_options);null!==tocElem...
function throttle (line 2) | function throttle(fn,threshold,scope){let last,deferTimer;return thresho...
function debounce (line 2) | function debounce(func,wait){let timeout;return(...args)=>{clearTimeout(...
function getTocElement (line 2) | function getTocElement(options){try{return options.tocElement||document....
function t (line 2) | function t(){return t=Object.assign?Object.assign.bind():function(e2){fo...
function de (line 2) | function de(e2){return"( *)("+(1===e2?ce:se)+") +"}
function fe (line 2) | function fe(e2){return new RegExp("^"+(1===e2?ue:pe))}
function ge (line 2) | function ge(e2){return new RegExp("^"+(1===e2?ue:pe)+"[^\\n]*(?:\\n(?!\\...
function xe (line 2) | function xe(e2){let t2=1===e2?ce:se;return new RegExp("^( *)("+t2+") [\\...
function Ce (line 2) | function Ce(e2,t2){let n2=1===t2,i2=n2?be:ve,l2=n2?ye:ke,o2=n2?he:me;ret...
function ze (line 2) | function ze(e2){let t2=e2.length;for(;t2>0&&e2[t2-1]<=" ";)t2--;return e...
function Le (line 2) | function Le(e2){return e2.replace(/[ÀÁÂÃÄÅàáâãä忯]/g,"a").replace(/[çÇ]...
function Ae (line 2) | function Ae(e2){return V.test(e2)?"right":q.test(e2)?"center":Q.test(e2)...
function Oe (line 2) | function Oe(e2,t2,n2,r2){let i2=n2.inTable;n2.inTable=!0;let l2=[[]],o2=...
function Te (line 2) | function Te(e2,t2,n2){n2.inline=!0;let i2=e2[2]?e2[2].replace(Z,"").spli...
function Be (line 2) | function Be(e2,t2){return null==e2.align[t2]?{}:{textAlign:e2.align[t2]}}
function Me (line 2) | function Me(e2){return e2.inline=1,e2}
function Re (line 2) | function Re(e2){return Me((function(t2,n2){return n2.inline?e2.exec(t2):...
function Ie (line 2) | function Ie(e2){return Me((function(t2,n2){return n2.inline||n2.simple?e...
function De (line 2) | function De(e2){return function(t2,n2){return n2.inline||n2.simple?null:...
function Ue (line 2) | function Ue(e2){return Me((function(t2){return e2.exec(t2)}))}
function Ne (line 2) | function Ne(e2,t2){if(t2.inline||t2.simple)return null;let n2="";e2.spli...
function He (line 2) | function He(e2){try{let t2=decodeURIComponent(e2).replace(/[^A-Za-z0-9/:...
function Pe (line 2) | function Pe(e2){return e2.replace(oe,"$1")}
function _e (line 2) | function _e(e2,t2,n2){let r2=n2.inline||!1,i2=n2.simple||!1;n2.inline=!0...
function Fe (line 2) | function Fe(e2,t2,n2){let r2=n2.inline||!1,i2=n2.simple||!1;n2.inline=!1...
function We (line 2) | function We(e2,t2,n2){let r2=n2.inline||!1;n2.inline=!1;let i2=e2(t2,n2)...
function Ze (line 2) | function Ze(){return{}}
function qe (line 2) | function qe(){return null}
function Qe (line 2) | function Qe(...e2){return e2.filter(Boolean).join(" ")}
function Ve (line 2) | function Ve(e2,t2,n2){let r2=e2,i2=t2.split(".");for(;i2.length&&(r2=r2[...
function u2 (line 2) | function u2(e2,n3,...r2){let l2=Ve(i2.overrides,`${e2}.props`,{});return...
function Z2 (line 2) | function Z2(e2){e2=e2.replace(w,"");let t2=!1;i2.forceInline?t2=!0:i2.fo...
function q2 (line 2) | function q2(e2,t2){let n3=t2.match(s);return n3?n3.reduce((function(t3,n...
method parse (line 2) | parse(e2,t2,n3){let[,r2,i3]=e2[0].replace(f,"").match(h);return{alert:r2...
method render (line 2) | render(e2,t2,n3){let l2={key:n3.key};return e2.alert&&(l2.className="mar...
method parse (line 2) | parse(e2,t2,n3){let[,r2]=e2[3].match(le),i3=new RegExp(`^${r2}`,"gm"),l2...
method parse (line 2) | parse(e2){let t2=e2[1].trim();return{attrs:q2(t2,e2[2]||""),tag:t2}}
method parse (line 2) | parse(e2){let t2=e2[1],n3=e2[1];return d.test(n3)||(n3="mailto:"+n3),{ch...
method render (line 2) | render(e2,t2,n3){let r2=e2;return u2("table",{key:n3.key},u2("thead",nul...
function n3 (line 2) | function n3(r2,i3){let l2,o2,a2=[],c2="",s2="";for(i3.prevCapture=i3.pre...
function JsonNodeAccordion (line 2) | function JsonNodeAccordion({children,name,collapsed,keyPath,deep,...prop...
function getObjectType (line 2) | function getObjectType(obj){return null===obj||"object"!=typeof obj||Arr...
function isComponentWillChange (line 2) | function isComponentWillChange(oldValue,newValue){let oldType=getObjectT...
method constructor (line 2) | constructor(props){super(props),this.state={inputRefKey:null,inputRefVal...
method componentDidMount (line 2) | componentDidMount(){let{inputRefKey,inputRefValue}=this.state,{onlyValue...
method onKeydown (line 2) | onKeydown(event){if(event.altKey||event.ctrlKey||event.metaKey||event.sh...
method onSubmit (line 2) | onSubmit(){let{handleAdd,onlyValue,onSubmitValueParser,keyPath,deep}=thi...
method refInputKey (line 2) | refInputKey(node){this.state.inputRefKey=node}
method refInputValue (line 2) | refInputValue(node){this.state.inputRefValue=node}
method render (line 2) | render(){let{handleCancel,onlyValue,addButtonElement,cancelButtonElement...
method constructor (line 2) | constructor(props){super(props);let keyPath=[...props.keyPath||[],props....
method getDerivedStateFromProps (line 2) | static getDerivedStateFromProps(props,state){return props.data!==state.d...
method onChildUpdate (line 2) | onChildUpdate(childKey,childData){let{data,keyPath=[]}=this.state;data[c...
method handleAddMode (line 2) | handleAddMode(){this.setState({addFormVisible:!0})}
method handleCollapseMode (line 2) | handleCollapseMode(){this.setState((state=>({collapsed:!state.collapsed}...
method handleRemoveItem (line 2) | handleRemoveItem(index){return()=>{let{beforeRemoveAction,logger:logger4...
method handleAddValueAdd (line 2) | handleAddValueAdd({key,newValue}){let{data,keyPath=[],nextDeep:deep}=thi...
method handleAddValueCancel (line 2) | handleAddValueCancel(){this.setState({addFormVisible:!1})}
method handleEditValue (line 2) | handleEditValue({key,value:value2}){return new Promise(((resolve,reject)...
method renderCollapsed (line 2) | renderCollapsed(){let{name,data,keyPath,deep}=this.state,{handleRemove,r...
method renderNotCollapsed (line 2) | renderNotCollapsed(){let{name,data,keyPath,deep,addFormVisible,nextDeep}...
method render (line 2) | render(){let{name,collapsed,keyPath,deep}=this.state,value2=collapsed?th...
method constructor (line 2) | constructor(props){super(props);let keyPath=[...props.keyPath||[],props....
method getDerivedStateFromProps (line 2) | static getDerivedStateFromProps(props,state){return props.value!==state....
method componentDidUpdate (line 2) | componentDidUpdate(){let{editEnabled,inputRef,name,value:value2,keyPath,...
method onKeydown (line 2) | onKeydown(event){let{inputRef}=this.state;event.altKey||event.ctrlKey||e...
method handleEdit (line 2) | handleEdit(){let{handleUpdateValue,originalValue,logger:logger4,onSubmit...
method handleEditMode (line 2) | handleEditMode(){this.setState({editEnabled:!0})}
method refInput (line 2) | refInput(node){this.state.inputRef=node}
method handleCancelEdit (line 2) | handleCancelEdit(){this.setState({editEnabled:!1})}
method render (line 2) | render(){let{name,value:value2,editEnabled,keyPath,deep}=this.state,{han...
method constructor (line 2) | constructor(props){super(props),this.state={data:props.data,name:props.n...
method getDerivedStateFromProps (line 2) | static getDerivedStateFromProps(props,state){return props.data!==state.d...
method render (line 2) | render(){let{data,name,keyPath,deep}=this.state,{isCollapsed,handleRemov...
method constructor (line 2) | constructor(props){super(props);let keyPath=-1===props.deep?[]:[...props...
method getDerivedStateFromProps (line 2) | static getDerivedStateFromProps(props,state){return props.data!==state.d...
method onChildUpdate (line 2) | onChildUpdate(childKey,childData){let{data,keyPath=[]}=this.state;data[c...
method handleAddMode (line 2) | handleAddMode(){this.setState({addFormVisible:!0})}
method handleAddValueCancel (line 2) | handleAddValueCancel(){this.setState({addFormVisible:!1})}
method handleAddValueAdd (line 2) | handleAddValueAdd({key,newValue}){let{data,keyPath=[],nextDeep:deep}=thi...
method handleRemoveValue (line 2) | handleRemoveValue(key){return()=>{let{beforeRemoveAction,logger:logger4}...
method handleCollapseMode (line 2) | handleCollapseMode(){this.setState((state=>({collapsed:!state.collapsed}...
method handleEditValue (line 2) | handleEditValue({key,value:value2}){return new Promise(((resolve,reject)...
method renderCollapsed (line 2) | renderCollapsed(){let{name,keyPath,deep,data}=this.state,{handleRemove,r...
method renderNotCollapsed (line 2) | renderNotCollapsed(){let{name,data,keyPath,deep,nextDeep,addFormVisible}...
method render (line 2) | render(){let{name,collapsed,keyPath,deep=0}=this.state,value2=collapsed?...
method constructor (line 2) | constructor(props){super(props);let keyPath=[...props.keyPath||[],props....
method getDerivedStateFromProps (line 2) | static getDerivedStateFromProps(props,state){return props.value!==state....
method componentDidUpdate (line 2) | componentDidUpdate(){let{editEnabled,inputRef,name,value:value2,keyPath,...
method onKeydown (line 2) | onKeydown(event){let{inputRef}=this.state;event.altKey||event.ctrlKey||e...
method handleEdit (line 2) | handleEdit(){let{handleUpdateValue,originalValue,logger:logger4,onSubmit...
method handleEditMode (line 2) | handleEditMode(){this.setState({editEnabled:!0})}
method refInput (line 2) | refInput(node){this.state.inputRef=node}
method handleCancelEdit (line 2) | handleCancelEdit(){this.setState({editEnabled:!1})}
method render (line 2) | render(){let{name,value:value2,editEnabled,keyPath,deep}=this.state,{han...
method constructor (line 2) | constructor(props){super(props),this.state={data:props.data,rootName:pro...
method getDerivedStateFromProps (line 2) | static getDerivedStateFromProps(props,state){return props.data!==state.d...
method onUpdate (line 2) | onUpdate(key,data){this.setState({data}),this.props.onFullyUpdate?.(data)}
method removeRoot (line 2) | removeRoot(){this.onUpdate(null,null)}
method render (line 2) | render(){let{data,rootName}=this.state,{isCollapsed,onDeltaUpdate,readOn...
method "node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js" (line 2) | "node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/i...
method "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js" (line 2) | "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exp...
method "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js" (line 2) | "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(expo...
method "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js" (line 2) | "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exp...
method "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js" (line 2) | "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(expor...
method "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js" (line 2) | "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(ex...
method "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js" (line 2) | "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(expo...
method "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js" (line 2) | "node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(expor...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/a...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/f...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/m...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/m...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/p...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/r...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/i...
method "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js" (line 2) | "node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/s...
method "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js" (line 2) | "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports,module...
method "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js" (line 2) | "node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports,modul...
method "node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js" (line 2) | "node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-prop...
method "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js" (line 2) | "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"...
method "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js" (line 2) | "node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"...
method "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js" (line 2) | "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPr...
method "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js" (line 2) | "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPro...
method "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js" (line 2) | "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/imple...
method "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js" (line 2) | "node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index...
method "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js" (line 2) | "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind...
method "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js" (line 2) | "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind...
method "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js" (line 2) | "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind...
method "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js" (line 2) | "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind...
method "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js" (line 2) | "node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind...
method "node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js" (line 2) | "node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"...
method "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js" (line 2) | "node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exp...
method "node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js" (line 2) | "node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js"(exports,m...
method "node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js" (line 2) | "node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index...
method "node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js" (line 2) | "node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(e...
method "node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js" (line 2) | "node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/s...
method "node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js" (line 2) | "node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js"(expor...
method "node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js" (line 2) | "node_modules/.pnpm/is-function@1.0.2/node_modules/is-function/index.js"...
method "node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js" (line 2) | "node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/i...
method "node_modules/.pnpm/is-symbol@1.1.1/node_modules/is-symbol/index.js" (line 2) | "node_modules/.pnpm/is-symbol@1.1.1/node_modules/is-symbol/index.js"(exp...
function Hash (line 2) | function Hash(entries){var index=-1,length=null==entries?0:entries.lengt...
function ListCache (line 2) | function ListCache(entries){var index=-1,length=null==entries?0:entries....
function MapCache (line 2) | function MapCache(entries){var index=-1,length=null==entries?0:entries.l...
function memoize2 (line 2) | function memoize2(func,resolver){if("function"!=typeof func||null!=resol...
function convertUnconventionalData (line 2) | function convertUnconventionalData(data){if(!isObject3(data))return data...
function argsHash (line 2) | function argsHash(args){return stringify(args,{maxDepth:50})}
function useStory (line 2) | function useStory(storyId,context){let stories=function useStories(story...
function extractComponentArgTypes2 (line 2) | function extractComponentArgTypes2(component,parameters){let{extractArgT...
function blocks_navigate (line 2) | function blocks_navigate(context,url){context.channel.emit(external_STOR...
method constructor (line 18) | constructor(){this.occurrences,this.reset()}
method slug (line 18) | slug(value2,maintainCase){let self2=this,result=function slug(value2,mai...
method reset (line 18) | reset(){this.occurrences=Object.create(null)}
function Docs (line 18) | function Docs({context,docsParameter}){let Container2=docsParameter.cont...
method constructor (line 18) | constructor(channel,store,renderStoryToElement,processMetaExports){super...
method constructor (line 18) | constructor(prefix){this.prefix=prefix,this.entries=new Map}
method get (line 18) | get(key){return this.entries.has(key)||this.entries.set(key,`${this.pref...
function debounce (line 18) | function debounce(func,debounceMs,{signal,edges}={}){let pendingThis,pen...
function debounce2 (line 18) | function debounce2(func,debounceMs=0,options={}){"object"!=typeof option...
function isSymbol (line 18) | function isSymbol(value){return"symbol"==typeof value||value instanceof ...
function toFinite (line 18) | function toFinite(value){return value?(value=function toNumber(value){re...
function isTypedArray (line 18) | function isTypedArray(x){return ArrayBuffer.isView(x)&&!(x instanceof Da...
function getSymbols (line 18) | function getSymbols(object){return Object.getOwnPropertySymbols(object)....
function cloneDeepWithImpl (line 18) | function cloneDeepWithImpl(valueToClone,keyToClone,objectToClone,stack=n...
function copyProperties (line 18) | function copyProperties(target,source,objectToClone=target,stack,cloneVa...
function isArrayLike (line 18) | function isArrayLike(value){return null!=value&&"function"!=typeof value...
function cloneDeepWith2 (line 18) | function cloneDeepWith2(obj,cloneValue){return function cloneDeepWith(ob...
function cloneDeep (line 18) | function cloneDeep(obj){return cloneDeepWith2(obj)}
function uniq2 (line 18) | function uniq2(arr){return isArrayLike(arr)?function uniq(arr){return Ar...
function times (line 18) | function times(n,getValue){if((n=function toInteger(value){let finite=to...
function keysIn (line 18) | function keysIn(object){if(null==object)return[];switch(typeof object){c...
function keysInImpl (line 18) | function keysInImpl(object){let result=[];for(let key in object)result.p...
function getSymbolsIn (line 18) | function getSymbolsIn(object){let result=[];for(;object;)result.push(......
function pickBy (line 18) | function pickBy(obj,shouldPick){if(null==obj)return{};let result={};if(n...
method "../../node_modules/@base2/pretty-print-object/dist/index.js" (line 18) | "../../node_modules/@base2/pretty-print-object/dist/index.js"(exports){v...
method "../../node_modules/react-element-to-jsx-string/node_modules/react-is/cjs/react-is.production.min.js" (line 18) | "../../node_modules/react-element-to-jsx-string/node_modules/react-is/cj...
method "../../node_modules/react-element-to-jsx-string/node_modules/react-is/cjs/react-is.development.js" (line 18) | "../../node_modules/react-element-to-jsx-string/node_modules/react-is/cj...
method "../../node_modules/react-element-to-jsx-string/node_modules/react-is/index.js" (line 18) | "../../node_modules/react-element-to-jsx-string/node_modules/react-is/in...
function isObject (line 18) | function isObject(o){return"[object Object]"===Object.prototype.toString...
function _arrayLikeToArray (line 18) | function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(...
function _defineProperty (line 18) | function _defineProperty(e,r,t){return(r=function _toPropertyKey(t){var ...
function ownKeys (line 18) | function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbo...
function _toConsumableArray (line 18) | function _toConsumableArray(r){return function _arrayWithoutHoles(r){if(...
function _typeof (line 18) | function _typeof(o){return(_typeof="function"==typeof Symbol&&"symbol"==...
function safeSortObject (line 18) | function safeSortObject(value,seen){if(null===value||"object"!==_typeof(...
function noRefCheck (line 18) | function noRefCheck(){}
method "../../node_modules/estraverse/estraverse.js" (line 18) | "../../node_modules/estraverse/estraverse.js"(exports){!function clone(e...
method "../../node_modules/esutils/lib/ast.js" (line 18) | "../../node_modules/esutils/lib/ast.js"(exports,module){!function(){func...
method "../../node_modules/esutils/lib/code.js" (line 18) | "../../node_modules/esutils/lib/code.js"(exports,module){!function(){var...
method "../../node_modules/esutils/lib/keyword.js" (line 18) | "../../node_modules/esutils/lib/keyword.js"(exports,module){!function(){...
method "../../node_modules/esutils/lib/utils.js" (line 18) | "../../node_modules/esutils/lib/utils.js"(exports){exports.ast=require_a...
method "../../node_modules/escodegen/node_modules/source-map/lib/base64.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/base64.js"(exp...
method "../../node_modules/escodegen/node_modules/source-map/lib/base64-vlq.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/base64-vlq.js"...
method "../../node_modules/escodegen/node_modules/source-map/lib/util.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/util.js"(expor...
method "../../node_modules/escodegen/node_modules/source-map/lib/array-set.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/array-set.js"(...
method "../../node_modules/escodegen/node_modules/source-map/lib/mapping-list.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/mapping-list.j...
method "../../node_modules/escodegen/node_modules/source-map/lib/source-map-generator.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/source-map-gen...
method "../../node_modules/escodegen/node_modules/source-map/lib/binary-search.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/binary-search....
method "../../node_modules/escodegen/node_modules/source-map/lib/quick-sort.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/quick-sort.js"...
method "../../node_modules/escodegen/node_modules/source-map/lib/source-map-consumer.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/source-map-con...
method "../../node_modules/escodegen/node_modules/source-map/lib/source-node.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/lib/source-node.js...
method "../../node_modules/escodegen/node_modules/source-map/source-map.js" (line 18) | "../../node_modules/escodegen/node_modules/source-map/source-map.js"(exp...
method "../../node_modules/escodegen/package.json" (line 18) | "../../node_modules/escodegen/package.json"(exports,module){module.expor...
method "../../node_modules/escodegen/escodegen.js" (line 18) | "../../node_modules/escodegen/escodegen.js"(exports){!function(){var Syn...
function isInAstralSet (line 18) | function isInAstralSet(code,set){for(var pos=65536,i=0;i<set.length;i+=2...
function isIdentifierStart (line 18) | function isIdentifierStart(code,astral){return code<65?36===code:code<91...
function isIdentifierChar (line 18) | function isIdentifierChar(code,astral){return code<48?36===code:code<58|...
function binop (line 18) | function binop(name,prec){return new TokenType(name,{beforeExpr:!0,binop...
function kw (line 18) | function kw(name,options){return void 0===options&&(options={}),options....
function isNewLine (line 18) | function isNewLine(code,ecma2019String){return 10===code||13===code||!ec...
function has (line 18) | function has(obj,propName){return chunk_JQQVJC7C_hasOwnProperty.call(obj...
function wordsRegexp (line 18) | function wordsRegexp(words){return new RegExp("^(?:"+words.replace(/ /g,...
function getLineInfo (line 18) | function getLineInfo(input,offset2){for(var line=1,cur=0;;){lineBreakG.l...
function getOptions (line 18) | function getOptions(opts){var options={};for(var opt in defaultOptions)o...
function functionFlags (line 18) | function functionFlags(async,generator){return SCOPE_FUNCTION|(async?SCO...
function DestructuringErrors (line 18) | function DestructuringErrors(){this.shorthandAssign=this.trailingComma=t...
function finishNodeAt (line 18) | function finishNodeAt(node,type,pos,loc){return node.type=type,node.end=...
function buildUnicodeData (line 18) | function buildUnicodeData(ecmaVersion){var d=data[ecmaVersion]={binary:w...
function codePointToString (line 18) | function codePointToString(ch){return ch<=65535?String.fromCharCode(ch):...
function isSyntaxCharacter (line 18) | function isSyntaxCharacter(ch){return 36===ch||ch>=40&&ch<=43||46===ch||...
function isControlLetter (line 18) | function isControlLetter(ch){return ch>=65&&ch<=90||ch>=97&&ch<=122}
function isUnicodePropertyNameCharacter (line 18) | function isUnicodePropertyNameCharacter(ch){return isControlLetter(ch)||...
function isUnicodePropertyValueCharacter (line 18) | function isUnicodePropertyValueCharacter(ch){return isUnicodePropertyNam...
function isDecimalDigit (line 18) | function isDecimalDigit(ch){return ch>=48&&ch<=57}
function isHexDigit (line 18) | function isHexDigit(ch){return ch>=48&&ch<=57||ch>=65&&ch<=70||ch>=97&&c...
function hexToInt (line 18) | function hexToInt(ch){return ch>=65&&ch<=70?ch-65+10:ch>=97&&ch<=102?ch-...
function isOctalDigit (line 18) | function isOctalDigit(ch){return ch>=48&&ch<=55}
function stringToBigInt (line 18) | function stringToBigInt(str){return"function"!=typeof BigInt?null:BigInt...
function codePointToString$1 (line 18) | function codePointToString$1(code){return code<=65535?String.fromCharCod...
function parse3 (line 18) | function parse3(input,options){return Parser.parse(input,options)}
function parseExpressionAt2 (line 18) | function parseExpressionAt2(input,pos,options){return Parser.parseExpres...
function tokenizer2 (line 18) | function tokenizer2(input,options){return Parser.tokenizer(input,options)}
method "../../node_modules/acorn/dist/acorn.mjs" (line 18) | "../../node_modules/acorn/dist/acorn.mjs"(){reservedWords={3:"abstract b...
method "../../node_modules/acorn-jsx/xhtml.js" (line 18) | "../../node_modules/acorn-jsx/xhtml.js"(exports,module){module.exports={...
method "../../node_modules/acorn-jsx/index.js" (line 18) | "../../node_modules/acorn-jsx/index.js"(exports,module){var XHTMLEntitie...
method "../../node_modules/html-tags/html-tags.json" (line 18) | "../../node_modules/html-tags/html-tags.json"(exports,module){module.exp...
method "../../node_modules/html-tags/index.js" (line 18) | "../../node_modules/html-tags/index.js"(exports,module){module.exports=r...
function generateCode (line 18) | function generateCode(ast,compact=!1){return(0,import_escodegen.generate...
function generateObjectCode (line 18) | function generateObjectCode(ast,compact=!1){return compact?function gene...
function generateArrayCode (line 18) | function generateArrayCode(ast,compact=!1){return compact?function gener...
function simple (line 18) | function simple(node,visitors,baseVisitor,state,override){baseVisitor||(...
function skipThrough (line 18) | function skipThrough(node,st,c){c(node,st)}
function ignore (line 18) | function ignore(_node,_st,_c){}
function extractIdentifierName (line 18) | function extractIdentifierName(identifierNode){return null!=identifierNo...
function filterAncestors (line 18) | function filterAncestors(ancestors){return ancestors.filter((x=>"ObjectE...
function calculateNodeDepth (line 18) | function calculateNodeDepth(node){let depths=[];return function ancestor...
function parseObject (line 18) | function parseObject(objectNode){return{inferredType:{type:"Object",dept...
function parseExpression (line 18) | function parseExpression(expression){switch(expression.type){case"Identi...
function parse4 (line 18) | function parse4(value){let ast=acornParser.parse(`(${value})`,{ecmaVersi...
function inspectValue (line 18) | function inspectValue(value){try{return{...parse4(value)}}catch{}return{...
function isHtmlTag (line 18) | function isHtmlTag(tagName){return import_html_tags.default.includes(tag...
function generateArray (line 18) | function generateArray({inferredType,ast}){let{depth}=inferredType;if(de...
function generateObject (line 18) | function generateObject({inferredType,ast}){let{depth}=inferredType;if(1...
function getPrettyFuncIdentifier (line 18) | function getPrettyFuncIdentifier(identifier,hasArguments){return hasArgu...
function getPrettyElementIdentifier (line 18) | function getPrettyElementIdentifier(identifier){return`<${identifier} />`}
function getPrettyIdentifier (line 18) | function getPrettyIdentifier(inferredType){let{type,identifier}=inferred...
function createDefaultValue (line 18) | function createDefaultValue(defaultValue){try{let inspectionResult=inspe...
function isFunction (line 18) | function isFunction(value){return"function"==typeof value}
function isReactElement (line 18) | function isReactElement(element){return null!=element.$$typeof}
function extractFunctionName (line 18) | function extractFunctionName(func,propName){let{name}=func;return""!==na...
function generateReactObject (line 18) | function generateReactObject(rawDefaultProp){let{type}=rawDefaultProp,{d...
function createDefaultValueFromRawDefaultProp (line 18) | function createDefaultValueFromRawDefaultProp(rawDefaultProp,propDef,typ...
function generateFuncSignature (line 18) | function generateFuncSignature(params,returns){let hasParams=null!=param...
function generateShortFuncSignature (line 18) | function generateShortFuncSignature(params,returns){let hasParams=null!=...
function createTypeDef (line 18) | function createTypeDef({name,short,compact,full,inferredType}){return{na...
function cleanPropTypes (line 18) | function cleanPropTypes(value){return value.replace(/PropTypes./g,"").re...
function splitIntoLines (line 18) | function splitIntoLines(value){return value.split(/\r?\n/)}
function prettyObject (line 18) | function prettyObject(ast,compact=!1){return cleanPropTypes(generateObje...
function prettyArray (line 18) | function prettyArray(ast,compact=!1){return cleanPropTypes(generateCode(...
function generateTypeFromString (line 18) | function generateTypeFromString(value,originalTypeName){let short,compac...
function objectOf (line 18) | function objectOf(of){return`objectOf(${of})`}
function generateEnum (line 18) | function generateEnum(type){if(Array.isArray(type.value)){let values=typ...
function braceAfter (line 18) | function braceAfter(of){return`${of}[]`}
function braceAround (line 18) | function braceAround(of){return`[${of}]`}
function createArrayOfObjectTypeDef (line 18) | function createArrayOfObjectTypeDef(short,compact,full){return createTyp...
function generateType (line 18) | function generateType(type,extractedProp){try{switch(type.name){case"cus...
function enhancePropTypesProp (line 18) | function enhancePropTypesProp(extractedProp,rawDefaultProp){let{propDef}...
function enhancePropTypesProps (line 18) | function enhancePropTypesProps(extractedProps,component){let rawDefaultP...
function enhanceTypeScriptProps (line 18) | function enhanceTypeScriptProps(extractedProps){return extractedProps.ma...
function getPropDefs (line 18) | function getPropDefs(component,section){let processedComponent=component...
function simplifyNodeForStringify (line 18) | function simplifyNodeForStringify(node){if((0,react.isValidElement)(node...
method "../../node_modules/semver/internal/constants.js" (line 18) | "../../node_modules/semver/internal/constants.js"(exports,module){var MA...
method "../../node_modules/semver/internal/debug.js" (line 18) | "../../node_modules/semver/internal/debug.js"(exports,module){var debug=...
method "../../node_modules/semver/internal/re.js" (line 18) | "../../node_modules/semver/internal/re.js"(exports,module){var{MAX_SAFE_...
method "../../node_modules/semver/internal/parse-options.js" (line 18) | "../../node_modules/semver/internal/parse-options.js"(exports,module){va...
method "../../node_modules/semver/internal/identifiers.js" (line 18) | "../../node_modules/semver/internal/identifiers.js"(exports,module){var ...
method "../../node_modules/semver/classes/semver.js" (line 18) | "../../node_modules/semver/classes/semver.js"(exports,module){var debug=...
method "../../node_modules/semver/functions/parse.js" (line 18) | "../../node_modules/semver/functions/parse.js"(exports,module){var SemVe...
method "../../node_modules/semver/functions/valid.js" (line 18) | "../../node_modules/semver/functions/valid.js"(exports,module){var parse...
method "../../node_modules/semver/functions/clean.js" (line 18) | "../../node_modules/semver/functions/clean.js"(exports,module){var parse...
method "../../node_modules/semver/functions/inc.js" (line 18) | "../../node_modules/semver/functions/inc.js"(exports,module){var SemVer=...
method "../../node_modules/semver/functions/diff.js" (line 18) | "../../node_modules/semver/functions/diff.js"(exports,module){var parse=...
method "../../node_modules/semver/functions/major.js" (line 18) | "../../node_modules/semver/functions/major.js"(exports,module){var SemVe...
method "../../node_modules/semver/functions/minor.js" (line 18) | "../../node_modules/semver/functions/minor.js"(exports,module){var SemVe...
method "../../node_modules/semver/functions/patch.js" (line 18) | "../../node_modules/semver/functions/patch.js"(exports,module){var SemVe...
method "../../node_modules/semver/functions/prerelease.js" (line 18) | "../../node_modules/semver/functions/prerelease.js"(exports,module){var ...
method "../../node_modules/semver/functions/compare.js" (line 18) | "../../node_modules/semver/functions/compare.js"(exports,module){var Sem...
method "../../node_modules/semver/functions/rcompare.js" (line 18) | "../../node_modules/semver/functions/rcompare.js"(exports,module){var co...
method "../../node_modules/semver/functions/compare-loose.js" (line 18) | "../../node_modules/semver/functions/compare-loose.js"(exports,module){v...
method "../../node_modules/semver/functions/compare-build.js" (line 18) | "../../node_modules/semver/functions/compare-build.js"(exports,module){v...
method "../../node_modules/semver/functions/sort.js" (line 18) | "../../node_modules/semver/functions/sort.js"(exports,module){var compar...
method "../../node_modules/semver/functions/rsort.js" (line 18) | "../../node_modules/semver/functions/rsort.js"(exports,module){var compa...
method "../../node_modules/semver/functions/gt.js" (line 18) | "../../node_modules/semver/functions/gt.js"(exports,module){var compare=...
method "../../node_modules/semver/functions/lt.js" (line 18) | "../../node_modules/semver/functions/lt.js"(exports,module){var compare=...
method "../../node_modules/semver/functions/eq.js" (line 18) | "../../node_modules/semver/functions/eq.js"(exports,module){var compare=...
method "../../node_modules/semver/functions/neq.js" (line 18) | "../../node_modules/semver/functions/neq.js"(exports,module){var compare...
method "../../node_modules/semver/functions/gte.js" (line 18) | "../../node_modules/semver/functions/gte.js"(exports,module){var compare...
method "../../node_modules/semver/functions/lte.js" (line 18) | "../../node_modules/semver/functions/lte.js"(exports,module){var compare...
method "../../node_modules/semver/functions/cmp.js" (line 18) | "../../node_modules/semver/functions/cmp.js"(exports,module){var eq=requ...
method "../../node_modules/semver/functions/coerce.js" (line 18) | "../../node_modules/semver/functions/coerce.js"(exports,module){var SemV...
method "../../node_modules/semver/internal/lrucache.js" (line 18) | "../../node_modules/semver/internal/lrucache.js"(exports,module){module....
method "../../node_modules/semver/classes/range.js" (line 18) | "../../node_modules/semver/classes/range.js"(exports,module){var SPACE_C...
method "../../node_modules/semver/classes/comparator.js" (line 18) | "../../node_modules/semver/classes/comparator.js"(exports,module){var AN...
method "../../node_modules/semver/functions/satisfies.js" (line 18) | "../../node_modules/semver/functions/satisfies.js"(exports,module){var R...
method "../../node_modules/semver/ranges/to-comparators.js" (line 18) | "../../node_modules/semver/ranges/to-comparators.js"(exports,module){var...
method "../../node_modules/semver/ranges/max-satisfying.js" (line 18) | "../../node_modules/semver/ranges/max-satisfying.js"(exports,module){var...
method "../../node_modules/semver/ranges/min-satisfying.js" (line 18) | "../../node_modules/semver/ranges/min-satisfying.js"(exports,module){var...
method "../../node_modules/semver/ranges/min-version.js" (line 18) | "../../node_modules/semver/ranges/min-version.js"(exports,module){var Se...
method "../../node_modules/semver/ranges/valid.js" (line 18) | "../../node_modules/semver/ranges/valid.js"(exports,module){var Range=re...
method "../../node_modules/semver/ranges/outside.js" (line 18) | "../../node_modules/semver/ranges/outside.js"(exports,module){var SemVer...
method "../../node_modules/semver/ranges/gtr.js" (line 18) | "../../node_modules/semver/ranges/gtr.js"(exports,module){var outside=re...
method "../../node_modules/semver/ranges/ltr.js" (line 18) | "../../node_modules/semver/ranges/ltr.js"(exports,module){var outside=re...
method "../../node_modules/semver/ranges/intersects.js" (line 18) | "../../node_modules/semver/ranges/intersects.js"(exports,module){var Ran...
method "../../node_modules/semver/ranges/simplify.js" (line 18) | "../../node_modules/semver/ranges/simplify.js"(exports,module){var satis...
method "../../node_modules/semver/ranges/subset.js" (line 18) | "../../node_modules/semver/ranges/subset.js"(exports,module){var Range=r...
method "../../node_modules/semver/index.js" (line 18) | "../../node_modules/semver/index.js"(exports,module){var internalRe=requ...
function setReactActEnvironment (line 18) | function setReactActEnvironment(isReactActEnvironment){globalThis.IS_REA...
function getReactActEnvironment (line 18) | function getReactActEnvironment(){return globalThis.IS_REACT_ACT_ENVIRON...
method constructor (line 18) | constructor(){super(...arguments),this.state={hasError:!1}}
method getDerivedStateFromError (line 18) | static getDerivedStateFromError(){return{hasError:!0}}
method componentDidMount (line 18) | componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasEr...
method componentDidCatch (line 18) | componentDidCatch(err){let{showException}=this.props;showException(err)}
method render (line 18) | render(){let{hasError}=this.state,{children}=this.props;return hasError?...
function renderToCanvas (line 18) | async function renderToCanvas({storyContext,unboundStoryFn,showMain,show...
function p (line 18) | function p(a){for(var b="https://reactjs.org/docs/error-decoder.html?inv...
function fa (line 18) | function fa(a,b){ha(a,b),ha(a+"Capture",b)}
function ha (line 18) | function ha(a,b){for(ea[a]=b,a=0;a<b.length;a++)da.add(b[a])}
function v (line 18) | function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b,this....
function sa (line 18) | function sa(a){return a[1].toUpperCase()}
function ta (line 18) | function ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;(null!==e?0!==e...
function Ka (line 18) | function Ka(a){return null===a||"object"!=typeof a?null:"function"==type...
function Ma (line 18) | function Ma(a){if(void 0===La)try{throw Error()}catch(c){var b=c.stack.t...
function Oa (line 18) | function Oa(a,b){if(!a||Na)return"";Na=!0;var c=Error.prepareStackTrace;...
function Pa (line 18) | function Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(...
function Qa (line 18) | function Qa(a){if(null==a)return null;if("function"==typeof a)return a.d...
function Ra (line 18) | function Ra(a){var b=a.type;switch(a.tag){case 24:return"Cache";case 9:r...
function Sa (line 18) | function Sa(a){switch(typeof a){case"boolean":case"number":case"string":...
function Ta (line 18) | function Ta(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCas...
function Va (line 18) | function Va(a){a._valueTracker||(a._valueTracker=function Ua(a){var b=Ta...
function Wa (line 18) | function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c...
function Xa (line 18) | function Xa(a){if(void 0===(a=a||("undefined"!=typeof document?document:...
function Ya (line 18) | function Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,de...
function Za (line 18) | function Za(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b....
function ab (line 18) | function ab(a,b){null!=(b=b.checked)&&ta(a,"checked",b,!1)}
function bb (line 18) | function bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)"number"=...
function db (line 18) | function db(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defau...
function cb (line 18) | function cb(a,b,c){"number"===b&&Xa(a.ownerDocument)===a||(null==c?a.def...
function fb (line 18) | function fb(a,b,c,d){if(a=a.options,b){b={};for(var e=0;e<c.length;e++)b...
function gb (line 18) | function gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));r...
function hb (line 18) | function hb(a,b){var c=b.value;if(null==c){if(c=b.children,b=b.defaultVa...
function ib (line 18) | function ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&((c=""+...
function jb (line 18) | function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&""!...
function kb (line 18) | function kb(a){switch(a){case"svg":return"http://www.w3.org/2000/svg";ca...
function lb (line 18) | function lb(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?kb(b...
function ob (line 18) | function ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.n...
function rb (line 18) | function rb(a,b,c){return null==b||"boolean"==typeof b||""===b?"":c||"nu...
function sb (line 18) | function sb(a,b){for(var c in a=a.style,b)if(b.hasOwnProperty(c)){var d=...
function ub (line 18) | function ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslyS...
function vb (line 18) | function vb(a,b){if(-1===a.indexOf("-"))return"string"==typeof b.is;swit...
function xb (line 18) | function xb(a){return(a=a.target||a.srcElement||window).correspondingUse...
function Bb (line 18) | function Bb(a){if(a=Cb(a)){if("function"!=typeof yb)throw Error(p(280));...
function Eb (line 18) | function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}
function Fb (line 18) | function Fb(){if(zb){var a=zb,b=Ab;if(Ab=zb=null,Bb(a),b)for(a=0;a<b.len...
function Gb (line 18) | function Gb(a,b){return a(b)}
function Hb (line 18) | function Hb(){}
function Jb (line 18) | function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finall...
function Kb (line 18) | function Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);i...
function Nb (line 18) | function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(argument...
function Tb (line 18) | function Tb(a,b,c,d,e,f,g,h,k){Ob=!1,Pb=null,Nb.apply(Sb,arguments)}
function Vb (line 18) | function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else...
function Wb (line 18) | function Wb(a){if(13===a.tag){var b=a.memoizedState;if(null===b&&(null!=...
function Xb (line 18) | function Xb(a){if(Vb(a)!==a)throw Error(p(188))}
function Zb (line 18) | function Zb(a){return null!==(a=function Yb(a){var b=a.alternate;if(!b){...
function $b (line 18) | function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;)...
function tc (line 18) | function tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:retur...
function uc (line 18) | function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.susp...
function vc (line 18) | function vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case...
function xc (line 18) | function xc(a){return 0!==(a=-1073741825&a.pendingLanes)?a:1073741824&a?...
function yc (line 18) | function yc(){var a=rc;return!(4194240&(rc<<=1))&&(rc=64),a}
function zc (line 18) | function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}
function Ac (line 18) | function Ac(a,b,c){a.pendingLanes|=b,536870912!==b&&(a.suspendedLanes=0,...
function Cc (line 18) | function Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var...
function Dc (line 18) | function Dc(a){return 1<(a&=-a)?4<a?268435455&a?16:536870912:4:1}
function Sc (line 18) | function Sc(a,b){switch(a){case"focusin":case"focusout":Lc=null;break;ca...
function Tc (line 18) | function Tc(a,b,c,d,e,f){return null===a||a.nativeEvent!==f?(a={blockedO...
function Vc (line 18) | function Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)i...
function Xc (line 18) | function Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContaine...
function Zc (line 18) | function Zc(a,b,c){Xc(a)&&c.delete(b)}
function $c (line 18) | function $c(){Jc=!1,null!==Lc&&Xc(Lc)&&(Lc=null),null!==Mc&&Xc(Mc)&&(Mc=...
function ad (line 18) | function ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstab...
function bd (line 18) | function bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);...
function ed (line 18) | function ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,...
function gd (line 18) | function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,...
function fd (line 18) | function fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c)...
function Yc (line 18) | function Yc(a,b,c,d){if(id=null,null!==(a=Wc(a=xb(d))))if(null===(b=Vb(a...
function jd (line 18) | function jd(a){switch(a){case"cancel":case"click":case"close":case"conte...
function nd (line 18) | function nd(){if(md)return md;var a,d,b=ld,c=b.length,e="value"in kd?kd....
function od (line 18) | function od(a){var b=a.keyCode;return"charCode"in a?0===(a=a.charCode)&&...
function pd (line 18) | function pd(){return!0}
function qd (line 18) | function qd(){return!1}
function rd (line 18) | function rd(a){function b(b,d,e,f,g){for(var c in this._reactName=b,this...
function Pd (line 18) | function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getMod...
function zd (line 18) | function zd(){return Pd}
function ge (line 18) | function ge(a,b){switch(a){case"keyup":return-1!==$d.indexOf(b.keyCode);...
function he (line 18) | function he(a){return"object"==typeof(a=a.detail)&&"data"in a?a.data:null}
function me (line 18) | function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"inpu...
function ne (line 18) | function ne(a,b,c,d){Eb(d),0<(b=oe(b,"onChange")).length&&(c=new td("onC...
function re (line 18) | function re(a){se(a,0)}
function te (line 18) | function te(a){if(Wa(ue(a)))return a}
function ve (line 18) | function ve(a,b){if("change"===a)return b}
function Ae (line 18) | function Ae(){pe&&(pe.detachEvent("onpropertychange",Be),qe=pe=null)}
function Be (line 18) | function Be(a){if("value"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,x...
function Ce (line 18) | function Ce(a,b,c){"focusin"===a?(Ae(),qe=c,(pe=b).attachEvent("onproper...
function De (line 18) | function De(a){if("selectionchange"===a||"keyup"===a||"keydown"===a)retu...
function Ee (line 18) | function Ee(a,b){if("click"===a)return te(b)}
function Fe (line 18) | function Fe(a,b){if("input"===a||"change"===a)return te(b)}
function Ie (line 18) | function Ie(a,b){if(He(a,b))return!0;if("object"!=typeof a||null===a||"o...
function Je (line 18) | function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}
function Ke (line 18) | function Ke(a,b){var d,c=Je(a);for(a=0;c;){if(3===c.nodeType){if(d=a+c.t...
function Le (line 18) | function Le(a,b){return!(!a||!b)&&(a===b||(!a||3!==a.nodeType)&&(b&&3===...
function Me (line 18) | function Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;)...
function Ne (line 18) | function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(...
function Oe (line 18) | function Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c...
function Ue (line 18) | function Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.owne...
function Ve (line 18) | function Ve(a,b){var c={};return c[a.toLowerCase()]=b.toLowerCase(),c["W...
function Ze (line 18) | function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var c,b=We[a];fo...
function ff (line 18) | function ff(a,b){df.set(a,b),fa(b,[a])}
function nf (line 18) | function nf(a,b,c){var d=a.type||"unknown-event";a.currentTarget=c,funct...
function se (line 18) | function se(a,b){b=!!(4&b);for(var c=0;c<a.length;c++){var d=a[c],e=d.ev...
function D (line 18) | function D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+"__bub...
function qf (line 18) | function qf(a,b,c){var d=0;b&&(d|=4),pf(c,a,d,b)}
function sf (line 18) | function sf(a){if(!a[rf]){a[rf]=!0,da.forEach((function(b){"selectioncha...
function pf (line 18) | function pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;bre...
function hd (line 18) | function hd(a,b,c,d,e){var f=d;if(!(1&b||2&b||null===d))a:for(;;){if(nul...
function tf (line 18) | function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}
function oe (line 18) | function oe(a,b){for(var c=b+"Capture",d=[];null!==a;){var e=a,f=e.state...
function vf (line 18) | function vf(a){if(null===a)return null;do{a=a.return}while(a&&5!==a.tag)...
function wf (line 18) | function wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var...
function zf (line 18) | function zf(a){return("string"==typeof a?a:""+a).replace(xf,"\n").replac...
function Af (line 18) | function Af(a,b,c){if(b=zf(b),zf(a)!==b&&c)throw Error(p(425))}
function Bf (line 18) | function Bf(){}
function Ef (line 18) | function Ef(a,b){return"textarea"===a||"noscript"===a||"string"==typeof ...
function If (line 18) | function If(a){setTimeout((function(){throw a}))}
function Kf (line 18) | function Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;if(a.removeChild(c),...
function Lf (line 18) | function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||...
function Mf (line 18) | function Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){va...
function Wc (line 18) | function Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b...
function Cb (line 18) | function Cb(a){return!(a=a[Of]||a[uf])||5!==a.tag&&6!==a.tag&&13!==a.tag...
function ue (line 18) | function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(...
function Db (line 18) | function Db(a){return a[Pf]||null}
function Uf (line 18) | function Uf(a){return{current:a}}
function E (line 18) | function E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}
function G (line 18) | function G(a,b){Tf++,Sf[Tf]=a.current,a.current=b}
function Yf (line 18) | function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.state...
function Zf (line 18) | function Zf(a){return null!=(a=a.childContextTypes)}
function $f (line 18) | function $f(){E(Wf),E(H)}
function ag (line 18) | function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b),G(Wf,c)}
function bg (line 18) | function bg(a,b,c){var d=a.stateNode;if(b=b.childContextTypes,"function"...
function cg (line 18) | function cg(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMerged...
function dg (line 18) | function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a...
function hg (line 18) | function hg(a){null===eg?eg=[a]:eg.push(a)}
function jg (line 18) | function jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;...
function tg (line 18) | function tg(a,b){kg[lg++]=ng,kg[lg++]=mg,mg=a,ng=b}
function ug (line 18) | function ug(a,b,c){og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,qg=a;var d=rg;a=s...
function vg (line 18) | function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}
function wg (line 18) | function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=n...
function Ag (line 18) | function Ag(a,b){var c=Bg(5,null,null,0);c.elementType="DELETED",c.state...
function Cg (line 18) | function Cg(a,b){switch(a.tag){case 5:var c=a.type;return null!==(b=1!==...
function Dg (line 18) | function Dg(a){return!(!(1&a.mode)||128&a.flags)}
function Eg (line 18) | function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw ...
function Fg (line 18) | function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag...
function Gg (line 18) | function Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;if((b...
function Hg (line 18) | function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}
function Ig (line 18) | function Ig(){yg=xg=null,I=!1}
function Jg (line 18) | function Jg(a){null===zg?zg=[a]:zg.push(a)}
function Lg (line 18) | function Lg(a,b,c){if(null!==(a=c.ref)&&"function"!=typeof a&&"object"!=...
function Mg (line 18) | function Mg(a,b){throw a=Object.prototype.toString.call(b),Error(p(31,"[...
function Ng (line 18) | function Ng(a){return(0,a._init)(a._payload)}
function Og (line 18) | function Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.delet...
function $g (line 18) | function $g(){Zg=Yg=Xg=null}
function ah (line 18) | function ah(a){var b=Wg.current;E(Wg),a._currentValue=b}
function bh (line 18) | function bh(a,b,c){for(;null!==a;){var d=a.alternate;if((a.childLanes&b)...
function ch (line 18) | function ch(a,b){Xg=a,Zg=Yg=null,null!==(a=a.dependencies)&&null!==a.fir...
function eh (line 18) | function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedV...
function gh (line 18) | function gh(a){null===fh?fh=[a]:fh.push(a)}
function hh (line 18) | function hh(a,b,c,d){var e=b.interleaved;return null===e?(c.next=c,gh(b)...
function ih (line 18) | function ih(a,b){a.lanes|=b;var c=a.alternate;for(null!==c&&(c.lanes|=b)...
function kh (line 18) | function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:...
function lh (line 18) | function lh(a,b){a=a.updateQueue,b.updateQueue===a&&(b.updateQueue={base...
function mh (line 18) | function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:n...
function nh (line 18) | function nh(a,b,c){var d=a.updateQueue;if(null===d)return null;if(d=d.sh...
function oh (line 18) | function oh(a,b,c){if(null!==(b=b.updateQueue)&&(b=b.shared,4194240&c)){...
function ph (line 18) | function ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&c===(d=d...
function qh (line 18) | function qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g...
function sh (line 18) | function sh(a,b,c){if(a=b.effects,b.effects=null,null!==a)for(b=0;b<a.le...
function xh (line 18) | function xh(a){if(a===th)throw Error(p(174));return a}
function yh (line 18) | function yh(a,b){switch(G(wh,b),G(vh,a),G(uh,th),a=b.nodeType){case 9:ca...
function zh (line 18) | function zh(){E(uh),E(vh),E(wh)}
function Ah (line 18) | function Ah(a){xh(wh.current);var b=xh(uh.current),c=lb(b,a.type);b!==c&...
function Bh (line 18) | function Bh(a){vh.current===a&&(E(uh),E(vh))}
function Ch (line 18) | function Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedSta...
function Eh (line 18) | function Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPr...
function P (line 18) | function P(){throw Error(p(321))}
function Mh (line 18) | function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length...
function Nh (line 18) | function Nh(a,b,c,d,e,f){if(Hh=f,M=b,b.memoizedState=null,b.updateQueue=...
function Sh (line 18) | function Sh(){var a=0!==Kh;return Kh=0,a}
function Th (line 18) | function Th(){var a={memoizedState:null,baseState:null,baseQueue:null,qu...
function Uh (line 18) | function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:...
function Vh (line 18) | function Vh(a,b){return"function"==typeof b?b(a):b}
function Wh (line 18) | function Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.la...
function Xh (line 18) | function Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.la...
function Yh (line 18) | function Yh(){}
function Zh (line 18) | function Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);if(f&&(d....
function di (line 18) | function di(a,b,c){a.flags|=16384,a={getSnapshot:b,value:c},null===(b=M....
function ci (line 18) | function ci(a,b,c,d){b.value=c,b.getSnapshot=d,ei(b)&&fi(a)}
function ai (line 18) | function ai(a,b,c){return c((function(){ei(b)&&fi(a)}))}
function ei (line 18) | function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c...
function fi (line 18) | function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}
function hi (line 18) | function hi(a){var b=Th();return"function"==typeof a&&(a=a()),b.memoized...
function bi (line 18) | function bi(a,b,c,d){return a={tag:a,create:b,destroy:c,deps:d,next:null...
function ji (line 18) | function ji(){return Uh().memoizedState}
function ki (line 18) | function ki(a,b,c,d){var e=Th();M.flags|=a,e.memoizedState=bi(1|b,c,void...
function li (line 18) | function li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null...
function mi (line 18) | function mi(a,b){return ki(8390656,8,a,b)}
function $h (line 18) | function $h(a,b){return li(2048,8,a,b)}
function ni (line 18) | function ni(a,b){return li(4,2,a,b)}
function oi (line 18) | function oi(a,b){return li(4,4,a,b)}
function pi (line 18) | function pi(a,b){return"function"==typeof b?(a=a(),b(a),function(){b(nul...
function qi (line 18) | function qi(a,b,c){return c=null!=c?c.concat([a]):null,li(4,4,pi.bind(nu...
function ri (line 18) | function ri(){}
function si (line 18) | function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;re...
function ti (line 18) | function ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;re...
function ui (line 18) | function ui(a,b,c){return 21&Hh?(He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.bas...
function vi (line 18) | function vi(a,b){var c=C;C=0!==c&&4>c?c:4,a(!0);var d=Gh.transition;Gh.t...
function wi (line 18) | function wi(){return Uh().memoizedState}
function xi (line 18) | function xi(a,b,c){var d=yi(a);if(c={lane:d,action:c,hasEagerState:!1,ea...
function ii (line 18) | function ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eager...
function zi (line 18) | function zi(a){var b=a.alternate;return a===M||null!==b&&b===M}
function Ai (line 18) | function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.ne...
function Bi (line 18) | function Bi(a,b,c){if(4194240&c){var d=b.lanes;c|=d&=a.pendingLanes,b.la...
function Ci (line 18) | function Ci(a,b){if(a&&a.defaultProps){for(var c in b=A({},b),a=a.defaul...
function Di (line 18) | function Di(a,b,c,d){c=null==(c=c(d,b=a.memoizedState))?b:A({},b,c),a.me...
function Fi (line 18) | function Fi(a,b,c,d,e,f,g){return"function"==typeof(a=a.stateNode).shoul...
function Gi (line 18) | function Gi(a,b,c){var d=!1,e=Vf,f=b.contextType;return"object"==typeof ...
function Hi (line 18) | function Hi(a,b,c,d){a=b.state,"function"==typeof b.componentWillReceive...
function Ii (line 18) | function Ii(a,b,c,d){var e=a.stateNode;e.props=c,e.state=a.memoizedState...
function Ji (line 18) | function Ji(a,b){try{var c="",d=b;do{c+=Pa(d),d=d.return}while(d);var e=...
function Ki (line 18) | function Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,diges...
function Li (line 18) | function Li(a,b){try{console.error(b.value)}catch(c){setTimeout((functio...
function Ni (line 18) | function Ni(a,b,c){(c=mh(-1,c)).tag=3,c.payload={element:null};var d=b.v...
function Qi (line 18) | function Qi(a,b,c){(c=mh(-1,c)).tag=3;var d=a.type.getDerivedStateFromEr...
function Si (line 18) | function Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;v...
function Ui (line 18) | function Ui(a){do{var b;if((b=13===a.tag)&&(b=null===(b=a.memoizedState)...
function Vi (line 18) | function Vi(a,b,c,d,e){return 1&a.mode?(a.flags|=65536,a.lanes=e,a):(a==...
function Xi (line 18) | function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}
function Yi (line 18) | function Yi(a,b,c,d,e){c=c.render;var f=b.ref;return ch(b,e),d=Nh(a,b,c,...
function $i (line 18) | function $i(a,b,c,d,e){if(null===a){var f=c.type;return"function"!=typeo...
function bj (line 18) | function bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a....
function dj (line 18) | function dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoiz...
function gj (line 18) | function gj(a,b){var c=b.ref;(null===a&&null!==c||null!==a&&a.ref!==c)&&...
function cj (line 18) | function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;return f=Yf(b,f),ch(b,e)...
function hj (line 18) | function hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;if(ch(b,e),nul...
function jj (line 18) | function jj(a,b,c,d,e,f){gj(a,b);var g=!!(128&b.flags);if(!d&&!g)return ...
function kj (line 18) | function kj(a){var b=a.stateNode;b.pendingContext?ag(0,b.pendingContext,...
function lj (line 18) | function lj(a,b,c,d,e){return Ig(),Jg(e),b.flags|=256,Xi(a,b,c,d),b.child}
function nj (line 18) | function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}
function oj (line 18) | function oj(a,b,c){var h,d=b.pendingProps,e=L.current,f=!1,g=!!(128&b.fl...
function qj (line 18) | function qj(a,b){return(b=pj({mode:"visible",children:b},a.mode,0,null))...
function sj (line 18) | function sj(a,b,c,d){return null!==d&&Jg(d),Ug(b,a.child,null,c),(a=qj(b...
function vj (line 18) | function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b),b...
function wj (line 18) | function wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={i...
function xj (line 18) | function xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;if(Xi(a...
function ij (line 18) | function ij(a,b){!(1&b.mode)&&null!==a&&(a.alternate=null,b.alternate=nu...
function Zi (line 18) | function Zi(a,b,c){if(null!==a&&(b.dependencies=a.dependencies),rh|=b.la...
function Dj (line 18) | function Dj(a,b){if(!I)switch(a.tailMode){case"hidden":b=a.tail;for(var ...
function S (line 18) | function S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,...
function Ej (line 18) | function Ej(a,b,c){var d=b.pendingProps;switch(wg(b),b.tag){case 2:case ...
function Ij (line 18) | function Ij(a,b){switch(wg(b),b.tag){case 1:return Zf(b.type)&&$f(),6553...
function Lj (line 18) | function Lj(a,b){var c=a.ref;if(null!==c)if("function"==typeof c)try{c(n...
function Mj (line 18) | function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}
function Pj (line 18) | function Pj(a,b,c){var d=b.updateQueue;if(null!==(d=null!==d?d.lastEffec...
function Qj (line 18) | function Qj(a,b){if(null!==(b=null!==(b=b.updateQueue)?b.lastEffect:null...
function Rj (line 18) | function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;a.tag,a=c,"fun...
function Sj (line 18) | function Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b)),a.ch...
function Tj (line 18) | function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}
function Uj (line 18) | function Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(...
function Vj (line 18) | function Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nod...
function Wj (line 18) | function Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertB...
function Yj (line 18) | function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}
function Zj (line 18) | function Zj(a,b,c){if(lc&&"function"==typeof lc.onCommitFiberUnmount)try...
function ak (line 18) | function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c...
function ck (line 18) | function ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d+...
function dk (line 18) | function dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 1...
function ek (line 18) | function ek(a){var b=a.flags;if(2&b){try{a:{for(var c=a.return;null!==c;...
function hk (line 18) | function hk(a,b,c){V=a,ik(a,b,c)}
function ik (line 18) | function ik(a,b,c){for(var d=!!(1&a.mode);null!==V;){var e=V,f=e.child;i...
function kk (line 18) | function kk(a){for(;null!==V;){var b=V;if(8772&b.flags){var c=b.alternat...
function gk (line 18) | function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.si...
function jk (line 18) | function jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:...
function R (line 18) | function R(){return 6&K?B():-1!==Ak?Ak:Ak=B()}
function yi (line 18) | function yi(a){return 1&a.mode?2&K&&0!==Z?Z&-Z:null!==Kg.transition?(0==...
function gi (line 18) | function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d)...
function Dk (line 18) | function Dk(a,b){var c=a.callbackNode;!function wc(a,b){for(var c=a.susp...
function Gk (line 18) | function Gk(a,b){if(Ak=-1,Bk=0,6&K)throw Error(p(327));var c=a.callbackN...
function Nk (line 18) | function Nk(a,b){var c=sk;return a.current.memoizedState.isDehydrated&&(...
function Fj (line 18) | function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}
function Ck (line 18) | function Ck(a,b){for(b&=~rk,b&=~qk,a.suspendedLanes|=b,a.pingedLanes&=~b...
function Ek (line 18) | function Ek(a){if(6&K)throw Error(p(327));Hk();var b=uc(a,0);if(!(1&b))r...
function Qk (line 18) | function Qk(a,b){var c=K;K|=1;try{return a(b)}finally{0===(K=c)&&(Gj=B()...
function Rk (line 18) | function Rk(a){null!==wk&&0===wk.tag&&!(6&K)&&Hk();var b=K;K|=1;var c=ok...
function Hj (line 18) | function Hj(){fj=ej.current,E(ej)}
function Kk (line 18) | function Kk(a,b){a.finishedWork=null,a.finishedLanes=0;var c=a.timeoutHa...
function Mk (line 18) | function Mk(a,b){for(;;){var c=Y;try{if($g(),Fh.current=Rh,Ih){for(var d...
function Jk (line 18) | function Jk(){var a=mk.current;return mk.current=Rh,null===a?Rh:a}
function tj (line 18) | function tj(){0!==T&&3!==T&&2!==T||(T=4),null===Q||!(268435455&rh)&&!(26...
function Ik (line 18) | function Ik(a,b){var c=K;K|=2;var d=Jk();for(Q===a&&Z===b||(uk=null,Kk(a...
function Tk (line 18) | function Tk(){for(;null!==Y;)Uk(Y)}
function Lk (line 18) | function Lk(){for(;null!==Y&&!cc();)Uk(Y)}
function Uk (line 18) | function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps...
function Sk (line 18) | function Sk(a){var b=a;do{var c=b.alternate;if(a=b.return,32768&b.flags)...
function Pk (line 18) | function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,fu...
function Hk (line 18) | function Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{if(ok.t...
function Xk (line 18) | function Xk(a,b,c){a=nh(a,b=Ni(0,b=Ji(c,b),1),1),b=R(),null!==a&&(Ac(a,1...
function W (line 18) | function W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.t...
function Ti (line 18) | function Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b),b=R(),a.pinge...
function Yk (line 18) | function Yk(a,b){0===b&&(1&a.mode?(b=sc,!(130023424&(sc<<=1))&&(sc=41943...
function uj (line 18) | function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane),Yk(a,c)}
function bk (line 18) | function bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode,e=a.mem...
function Fk (line 18) | function Fk(a,b){return ac(a,b)}
function $k (line 18) | function $k(a,b,c,d){this.tag=a,this.key=c,this.sibling=this.child=this....
function Bg (line 18) | function Bg(a,b,c,d){return new $k(a,b,c,d)}
function aj (line 18) | function aj(a){return!(!(a=a.prototype)||!a.isReactComponent)}
function Pg (line 18) | function Pg(a,b){var c=a.alternate;return null===c?((c=Bg(a.tag,b,a.key,...
function Rg (line 18) | function Rg(a,b,c,d,e,f){var g=2;if(d=a,"function"==typeof a)aj(a)&&(g=1...
function Tg (line 18) | function Tg(a,b,c,d){return(a=Bg(7,a,d,b)).lanes=c,a}
function pj (line 18) | function pj(a,b,c,d){return(a=Bg(22,a,d,b)).elementType=Ia,a.lanes=c,a.s...
function Qg (line 18) | function Qg(a,b,c){return(a=Bg(6,a,null,b)).lanes=c,a}
function Sg (line 18) | function Sg(a,b,c){return(b=Bg(4,null!==a.children?a.children:[],a.key,b...
function al (line 18) | function al(a,b,c,d,e){this.tag=b,this.containerInfo=a,this.finishedWork...
function bl (line 18) | function bl(a,b,c,d,e,f,g,h,k){return a=new al(a,b,c,h,k),1===b?(b=1,!0=...
function dl (line 18) | function dl(a){if(!a)return Vf;a:{if(Vb(a=a._reactInternals)!==a||1!==a....
function el (line 18) | function el(a,b,c,d,e,f,g,h,k){return(a=bl(c,d,!0,a,0,f,0,h,k)).context=...
function fl (line 18) | function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);return c=dl(c),null==...
function gl (line 18) | function gl(a){return(a=a.current).child?(a.child.tag,a.child.stateNode)...
function hl (line 18) | function hl(a,b){if(null!==(a=a.memoizedState)&&null!==a.dehydrated){var...
function il (line 18) | function il(a,b){hl(a,b),(a=a.alternate)&&hl(a,b)}
function ll (line 18) | function ll(a){this._internalRoot=a}
function ml (line 18) | function ml(a){this._internalRoot=a}
function nl (line 18) | function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeTy...
function ol (line 18) | function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeTy...
function pl (line 18) | function pl(){}
function rl (line 18) | function rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if("fun...
function q (line 18) | function q(c,a,g){var b,d={},e=null,h=null;for(b in void 0!==g&&(e=""+g)...
function E (line 18) | function E(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e...
function F (line 18) | function F(){}
function G (line 18) | function G(a,b,e){this.props=a,this.context=b,this.refs=D,this.updater=e...
function M (line 18) | function M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==...
function O (line 18) | function O(a){return"object"==typeof a&&null!==a&&a.$$typeof===l}
function Q (line 18) | function Q(a,b){return"object"==typeof a&&null!==a&&null!=a.key?function...
function R (line 18) | function R(a,b,e,d,c){var k=typeof a;"undefined"!==k&&"boolean"!==k||(a=...
function S (line 18) | function S(a,b,e){if(null==a)return a;var d=[],c=0;return R(a,d,"","",(f...
function T (line 18) | function T(a){if(-1===a._status){var b=a._result;(b=b()).then((function(...
function X (line 18) | function X(){throw Error("act(...) is not supported in production builds...
function f (line 18) | function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[...
function h (line 18) | function h(a){return 0===a.length?null:a[0]}
function k (line 18) | function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b)...
function g (line 18) | function g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}
function G (line 18) | function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else{i...
function H (line 18) | function H(a){if(B=!1,G(a),!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);n...
function J (line 18) | function J(a,b){A=!1,B&&(B=!1,E(L),L=-1),z=!0;var c=y;try{for(G(b),v=h(r...
function M (line 18) | function M(){return!(exports.unstable_now()-Q<P)}
function R (line 18) | function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{...
function I (line 18) | function I(a){O=a,N||(N=!0,S())}
function K (line 18) | function K(a,b){L=D((function(){a(exports.unstable_now())}),b)}
function W (line 18) | function W(){return W=Object.assign?Object.assign.bind():function(e){for...
function Tl (line 18) | function Tl(e){if(void 0===e)throw new ReferenceError("this hasn't been ...
function ht (line 18) | function ht(e,t){return(ht=Object.setPrototypeOf?Object.setPrototypeOf.b...
function Pn (line 18) | function Pn(e){return(Pn=Object.setPrototypeOf?Object.getPrototypeOf.bin...
function l (line 18) | function l(f,d){if(!i[f]){if(!a[f]){var m="function"==typeof Xr&&Xr;if(!...
function c (line 18) | function c(){return this.list=[],this.lastItem=void 0,this.size=0,this}
function l (line 18) | function l(f,d){var y,p,h,m=f.length,v=d.length;for(p=0;p<m;p++){for(y=!...
function s (line 18) | function s(f){var v,y,d=f.length,m=f[d-1];for(m.cacheItem.delete(m.arg),...
function u (line 18) | function u(f,d){return f===d||f!=f&&d!=d}
function ur (line 18) | function ur(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOw...
function ql (line 18) | function ql(e,t){if(null==e)return{};var r,n,a=ur(e,t);if(Object.getOwnP...
function en (line 18) | function en(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array...
function Yl (line 18) | function Yl(e){if(Array.isArray(e))return en(e)}
function Zl (line 18) | function Zl(e){if(typeof Symbol<"u"&&null!=e[Symbol.iterator]||null!=e["...
function Jl (line 18) | function Jl(e,t){if(e){if("string"==typeof e)return en(e,t);var r={}.toS...
function ec (line 18) | function ec(){throw new TypeError("Invalid attempt to spread non-iterabl...
function Nn (line 18) | function Nn(e){return Yl(e)||Zl(e)||Jl(e)||ec()}
function Dt (line 18) | function Dt(e){return(Dt="function"==typeof Symbol&&"symbol"==typeof Sym...
function nc (line 18) | function nc(e,t){if("object"!=Dt(e)||!e)return e;var r=e[Symbol.toPrimit...
function ac (line 18) | function ac(e){var t=nc(e,"string");return"symbol"==Dt(t)?t:t+""}
function Fn (line 18) | function Fn(e,t,r){return(t=ac(t))in e?Object.defineProperty(e,t,{value:...
function lc (line 18) | function lc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){v...
function fr (line 18) | function fr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments...
function m2 (line 18) | function m2(e){var t=e.length;return 0===t||1===t?e:2===t?[e[0],e[1],""....
function h2 (line 18) | function h2(e){if(0===e.length||1===e.length)return e;var t=e.join(".");...
function g2 (line 18) | function g2(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments...
function cc (line 18) | function cc(e){return e.join(" ")}
function v2 (line 18) | function v2(e,t){var r=0;return function(n){return r+=1,n.map((function(...
function _t (line 18) | function _t(e){var t=e.node,r=e.stylesheet,n=e.style,a=void 0===n?{}:n,i...
function fc (line 18) | function fc(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){v...
function bt (line 18) | function bt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments...
function y2 (line 18) | function y2(e){return e.match(b2)}
function R2 (line 18) | function R2(e){var t=e.lines,r=e.startingLineNumber,n=e.style;return t.m...
function x2 (line 18) | function x2(e){var t=e.codeString,r=e.codeStyle,n=e.containerStyle,a=voi...
function E2 (line 18) | function E2(e){return"".concat(e.toString().length,".25em")}
function dc (line 18) | function dc(e,t){return{type:"element",tagName:"span",properties:{key:"l...
function pc (line 18) | function pc(e,t,r){var n={display:"inline-block",minWidth:E2(r),paddingR...
function Dn (line 18) | function Dn(e){var t=e.children,r=e.lineNumber,n=e.lineNumberStyle,a=e.l...
function mc (line 18) | function mc(e){for(var t=arguments.length>1&&void 0!==arguments[1]?argum...
function S2 (line 18) | function S2(e,t,r,n,a,i,c,l,s){var u,f=mc(e.value),d=[],m=-1,v=0;functio...
function C2 (line 18) | function C2(e){var t=e.rows,r=e.stylesheet,n=e.useInlineStyles;return t....
function hc (line 18) | function hc(e){return e&&typeof e.highlightAuto<"u"}
function M2 (line 18) | function M2(e){var t=e.astGenerator,r=e.language,n=e.code,a=e.defaultCod...
function da (line 18) | function da(e,t){return o((function(n){var a=n.language,i=n.children,c=n...
function L2 (line 18) | function L2(){for(var e={},t=0;t<arguments.length;t++){var r=arguments[t...
function bc (line 18) | function bc(e,t,r){this.property=e,this.normal=t,r&&(this.space=r)}
function z2 (line 18) | function z2(e){for(var i,c,t=e.length,r=[],n=[],a=-1;++a<t;)i=e[a],r.pus...
function T2 (line 18) | function T2(e){return e.toLowerCase()}
function Cc (line 18) | function Cc(e,t){this.property=e,this.attribute=t}
function Vt (line 18) | function Vt(){return Math.pow(2,++H2)}
function ga (line 18) | function ga(e,t,r,n){var i,a=-1;for(Lc(this,"space",n),Ic.call(this,e,t)...
function Lc (line 18) | function Lc(e,t,r){r&&(e[t]=r)}
function B2 (line 18) | function B2(e){var s,u,t=e.space,r=e.mustUseProperty||[],n=e.attributes|...
function F2 (line 18) | function F2(e,t){return"xlink:"+t.slice(5).toLowerCase()}
function _2 (line 18) | function _2(e,t){return"xml:"+t.slice(3).toLowerCase()}
function $2 (line 18) | function $2(e,t){return t in e?e[t]:t}
function j2 (line 18) | function j2(e,t){return V2(e,t.toLowerCase())}
function G2 (line 18) | function G2(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()}
function c4 (line 18) | function c4(e,t){var r=n4(t),n=t,a=a4;return r in e.normal?e.property[e....
function s4 (line 18) | function s4(e){var t=e.slice(5).replace(Xc,d4);return ya+t.charAt(0).toU...
function u4 (line 18) | function u4(e){var t=e.slice(4);return Xc.test(t)?e:("-"!==(t=t.replace(...
function f4 (line 18) | function f4(e){return"-"+e.toLowerCase()}
function d4 (line 18) | function d4(e){return e.charAt(1).toUpperCase()}
function p4 (line 18) | function p4(e,t){for(var c,l,s,r=e||"",n=t||"div",a={},i=0;i<r.length;)J...
function g4 (line 18) | function g4(e){var t=String(e||ts).trim();return t===ts?[]:t.split(h4)}
function v4 (line 18) | function v4(e){return e.join(m4).trim()}
function w4 (line 18) | function w4(e){for(var c,t=[],r=String(e||rn),n=r.indexOf(xa),a=0,i=!1;!...
function b4 (line 18) | function b4(e,t){var r=t||{},n=!1===r.padLeft?rn:ns,a=r.padRight?ns:rn;r...
function E4 (line 18) | function E4(e,t,r){var n=r?L4(r):null;return function a(c,l){var d,s=R4(...
function S4 (line 18) | function S4(e,t){return"string"==typeof e||"length"in e||C4(t.tagName,e)}
function C4 (line 18) | function C4(e,t){var r=t.type;return!("input"===e||!r||"string"!=typeof ...
function ss (line 18) | function ss(e,t){var r,n;if("string"!=typeof t&&"number"!=typeof t)if("o...
function M4 (line 18) | function M4(e,t,r){var n,a,i;if("object"!=typeof r||!("length"in r))retu...
function cs (line 18) | function cs(e,t,r){var n=r;return e.number||e.positiveNumber?!isNaN(n)&&...
function A4 (line 18) | function A4(e){var r,t=[];for(r in e)t.push([r,e[r]].join(": "));return ...
function L4 (line 18) | function L4(e){for(var a,t=e.length,r=-1,n={};++r<t;)n[(a=e[r]).toLowerC...
function P4 (line 18) | function P4(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&...
function k4 (line 18) | function k4(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&...
function O4 (line 18) | function O4(e){var t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&...
function F4 (line 18) | function F4(e){return B4(e)||N4(e)}
function _4 (line 18) | function _4(e){var r,t="&"+e+";";return(jn=jn||document.createElement("i...
function rm (line 18) | function rm(e,t){var n,a,r={};for(a in t||(t={}),zs)n=t[a],r[a]=n??zs[a]...
function nm (line 18) | function nm(e,t){var b,x,E,R,S,A,M,L,P,_,D,K,T,z,k,V,F,j,O,r=t.additiona...
function om (line 18) | function om(e){return e>=55296&&e<=57343||e>1114111}
function am (line 18) | function am(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||...
function S (line 18) | function S(M){R.highlightedCode=M,a.hooks.run("before-insert",R),R.eleme...
function i (line 18) | function i(p,h,g,w){this.type=p,this.content=h,this.alias=g,this.length=...
function c (line 18) | function c(p,h,g,w){p.lastIndex=h;var b=p.exec(g);if(b&&w&&b[1]){var x=b...
function l (line 18) | function l(p,h,g,w,b,x){for(var E in g)if(g.hasOwnProperty(E)&&g[E]){var...
function s (line 18) | function s(){var p={value:null,prev:null,next:null},h={value:null,prev:p...
function u (line 18) | function u(p,h,g){var w=h.next,b={value:g,prev:h,next:w};return h.next=b...
function f (line 18) | function f(p,h,g){for(var w=h.next,b=0;b<g&&w!==p.tail;b++)w=w.next;h.ne...
function d (line 18) | function d(p){for(var h=[],g=p.head.next;g!==p.tail;)h.push(g.value),g=g...
function v (line 18) | function v(){a.manual||a.highlightAll()}
function Ia (line 18) | function Ia(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\...
function Ta (line 18) | function Ta(e){!function(t){var r=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*...
function Pa (line 18) | function Pa(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]...
function ka (line 18) | function ka(e){e.languages.javascript=e.languages.extend("clike",{"class...
function Ks (line 18) | function Ks(){}
function on (line 18) | function on(e){if("function"!=typeof e||!e.displayName)throw new Error("...
function mm (line 18) | function mm(e,t){var a,i,c,l,r=oe.languages,n=e;for(a in t&&((n={})[e]=t...
function hm (line 18) | function hm(e,t){var n,r=Zs.highlight;if("string"!=typeof e)throw new Er...
function gm (line 18) | function gm(e){if("string"!=typeof e)throw new Error("Expected `string` ...
function vm (line 18) | function vm(){var r,e=oe.languages,t=[];for(r in e)Oa.call(e,r)&&"object...
function wm (line 18) | function wm(e,t,r){var n;return"string"==typeof e?{type:"text",value:e}:...
function bm (line 18) | function bm(e,t){for(var i,r=[],n=e.length,a=-1;++a<n;)""!==(i=e[a])&&nu...
function ym (line 18) | function ym(e){return e}
function Rm (line 18) | function Rm(e){var t;for(t in e)e[t]=sm(e[t]);return e}
function xm (line 18) | function xm(){var e="Prism"in nn,t=e?nn.Prism:void 0;return function r()...
function Na (line 18) | function Na(e){!function(t){var r="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH...
function Fa (line 18) | function Fa(e){e.languages.graphql={comment:/#.*/,description:{pattern:/...
function Da (line 18) | function Da(e){!function(t){function r(s,u){return RegExp(s.replace(/<ID...
function _a (line 18) | function _a(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\...
function $a (line 18) | function $a(e){!function(t){var r=t.util.clone(t.languages.javascript),n...
function ja (line 18) | function ja(e){!function(t){var r=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n...
function Wa (line 18) | function Wa(e){!function(t){t.languages.typescript=t.languages.extend("j...
function qa (line 18) | function qa(e){e.register(Em),e.register(Sm),function(t){var r=t.util.cl...
function Ga (line 18) | function Ga(e){!function(t){var r=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:...
function Mm (line 18) | function Mm(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}
function Za (line 18) | function Za(...e){return t=>e.forEach((r=>Mm(r,t)))}
function it (line 18) | function it(...e){return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(...
function Im (line 18) | function Im(e){return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(...
function zm (line 18) | function zm(e,t){let r={...t};for(let n in t){let a=e[n],i=t[n];/^on[A-Z...
function Tm (line 18) | function Tm(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get...
function Om (line 18) | function Om(e,t){return react__WEBPACK_IMPORTED_MODULE_0__.useReducer(((...
function Bm (line 18) | function Bm(e){let[t,r]=react__WEBPACK_IMPORTED_MODULE_0__.useState(),n=...
function Xn (line 18) | function Xn(e){return e?.animationName||"none"}
function Nm (line 18) | function Nm(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get...
function c5 (line 18) | function c5(e,t=[]){let r=[];function n(i,c){let l=react__WEBPACK_IMPORT...
function Dm (line 18) | function Dm(...e){let t=e[0];if(1===e.length)return t;let r=o((()=>{let ...
function xt (line 18) | function xt(e){let t=react__WEBPACK_IMPORTED_MODULE_0__.useRef(e);return...
function f5 (line 18) | function f5(e){let t=react__WEBPACK_IMPORTED_MODULE_0__.useContext(_m);r...
function p5 (line 18) | function p5(e,[t,r]){return Math.min(r,Math.max(t,e))}
function Et (line 18) | function Et(e,t,{checkForDefaultPrevented:r=!0}={}){return o((function(a...
function $m (line 18) | function $m(e,t){return react__WEBPACK_IMPORTED_MODULE_0__.useReducer(((...
function Jn (line 18) | function Jn(e){return e?parseInt(e,10):0}
function L5 (line 18) | function L5(e,t){let r=e/t;return isNaN(r)?0:r}
function Qn (line 18) | function Qn(e){let t=L5(e.viewport,e.content),r=e.scrollbar.paddingStart...
function Jm (line 18) | function Jm(e,t,r,n="ltr"){let a=Qn(r),c=t||a/2,l=a-c,s=r.scrollbar.padd...
function g5 (line 18) | function g5(e,t,r="ltr"){let n=Qn(t),a=t.scrollbar.paddingStart+t.scroll...
function I5 (line 18) | function I5(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let ...
function z5 (line 18) | function z5(e,t){return e>0&&e<t}
function eo (line 18) | function eo(e,t){let r=xt(e),n=react__WEBPACK_IMPORTED_MODULE_0__.useRef...
function br (line 18) | function br(e,t){let r=xt(t);an((()=>{let n=0;if(e){let a=new ResizeObse...
function eh (line 18) | function eh(e,t){let{asChild:r,children:n}=e;if(!r)return"function"==typ...
function d (line 18) | function d(m,v){return Jm(m,c.current,l,v)}
function A (line 18) | function A(M){if(g.current){let L=M.clientX-g.current.left,P=M.clientY-g...
function oi (line 18) | function oi(){return no.navigator?.clipboard?async e=>{try{await(no.top?...
function Z5 (line 18) | function Z5(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[...
function fe (line 18) | function fe(e){return e?(e.nodeName||"").toLowerCase():null}
function Z (line 18) | function Z(e){if(null==e)return window;if("[object Window]"!==e.toString...
function We (line 18) | function We(e){return e instanceof Z(e).Element||e instanceof Element}
function ce (line 18) | function ce(e){return e instanceof Z(e).HTMLElement||e instanceof HTMLEl...
function Or (line 18) | function Or(e){return!(typeof ShadowRoot>"u")&&(e instanceof Z(e).Shadow...
function i7 (line 18) | function i7(e){var t=e.state;Object.keys(t.elements).forEach((function(r...
function l7 (line 18) | function l7(e){var t=e.state,r={popper:{position:t.options.strategy,left...
function de (line 18) | function de(e){return e.split("-")[0]}
function Br (line 18) | function Br(){var e=navigator.userAgentData;return null!=e&&e.brands&&Ar...
function wn (line 18) | function wn(){return!/^((?!chrome|android).)*safari/i.test(Br())}
function Ue (line 18) | function Ue(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.getBoun...
function Qt (line 18) | function Qt(e){var t=Ue(e),r=e.offsetWidth,n=e.offsetHeight;return Math....
function bn (line 18) | function bn(e,t){var r=t.getRootNode&&t.getRootNode();if(e.contains(t))r...
function xe (line 18) | function xe(e){return Z(e).getComputedStyle(e)}
function k0 (line 18) | function k0(e){return["table","td","th"].indexOf(fe(e))>=0}
function ge (line 18) | function ge(e){return((We(e)?e.ownerDocument:e.document)||window.documen...
function pt (line 18) | function pt(e){return"html"===fe(e)?e:e.assignedSlot||e.parentNode||(Or(...
function Wf (line 18) | function Wf(e){return ce(e)&&"fixed"!==xe(e).position?e.offsetParent:null}
function c7 (line 18) | function c7(e){var t=/firefox/i.test(Br());if(/Trident/i.test(Br())&&ce(...
function et (line 18) | function et(e){for(var t=Z(e),r=Wf(e);r&&k0(r)&&"static"===xe(r).positio...
function er (line 18) | function er(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}
function tr (line 18) | function tr(e,t,r){return Qe(e,Jt(t,r))}
function Uf (line 18) | function Uf(e,t,r){var n=tr(e,t,r);return n>r?r:n}
function Rn (line 18) | function Rn(){return{top:0,right:0,bottom:0,left:0}}
function xn (line 18) | function xn(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}
function En (line 18) | function En(e,t){return t.reduce((function(r,n){return r[n]=e,r}),{})}
function u7 (line 18) | function u7(e){var t,r=e.state,n=e.name,a=e.options,i=r.elements.arrow,c...
function f7 (line 18) | function f7(e){var t=e.state,n=e.options.element,a=void 0===n?"[data-pop...
function qe (line 18) | function qe(e){return e.split("-")[1]}
function p7 (line 18) | function p7(e,t){var r=e.x,n=e.y,a=t.devicePixelRatio||1;return{x:ft(r*a...
function Yf (line 18) | function Yf(e){var t,r=e.popper,n=e.popperRect,a=e.placement,i=e.variati...
function m7 (line 18) | function m7(e){var t=e.state,r=e.options,n=r.gpuAcceleration,a=void 0===...
function h7 (line 18) | function h7(e){var t=e.state,r=e.instance,n=e.options,a=n.scroll,i=void ...
function $r (line 18) | function $r(e){return e.replace(/left|right|bottom|top/g,(function(t){re...
function Oo (line 18) | function Oo(e){return e.replace(/start|end/g,(function(t){return v7[t]}))}
function rr (line 18) | function rr(e){var t=Z(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pa...
function nr (line 18) | function nr(e){return Ue(ge(e)).left+rr(e).scrollLeft}
function D0 (line 18) | function D0(e,t){var r=Z(e),n=ge(e),a=r.visualViewport,i=n.clientWidth,c...
function _0 (line 18) | function _0(e){var t,r=ge(e),n=rr(e),a=null==(t=e.ownerDocument)?void 0:...
function or (line 18) | function or(e){var t=xe(e),r=t.overflow,n=t.overflowX,a=t.overflowY;retu...
function Do (line 18) | function Do(e){return["html","body","#document"].indexOf(fe(e))>=0?e.own...
function Tt (line 18) | function Tt(e,t){var r;void 0===t&&(t=[]);var n=Do(e),a=n===(null==(r=e....
function Vr (line 18) | function Vr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.w...
function w7 (line 18) | function w7(e,t){var r=Ue(e,!1,"fixed"===t);return r.top=r.top+e.clientT...
function od (line 18) | function od(e,t,r){return t===zo?Vr(D0(e,r)):We(t)?w7(t,r):Vr(_0(ge(e)))}
function b7 (line 18) | function b7(e){var t=Tt(pt(e)),n=["absolute","fixed"].indexOf(xe(e).posi...
function j0 (line 18) | function j0(e,t,r,n){var a="clippingParents"===t?b7(e):[].concat(t),i=[]...
function Sn (line 18) | function Sn(e){var s,t=e.reference,r=e.element,n=e.placement,a=n?de(n):n...
function tt (line 18) | function tt(e,t){void 0===t&&(t={});var r=t,n=r.placement,a=void 0===n?e...
function U0 (line 18) | function U0(e,t){void 0===t&&(t={});var r=t,n=r.placement,a=r.boundary,i...
function y7 (line 18) | function y7(e){if(de(e)===Io)return[];var t=$r(e);return[Oo(e),t,Oo(t)]}
function R7 (line 18) | function R7(e){var t=e.state,r=e.options,n=e.name;if(!t.modifiersData[n]...
function sd (line 18) | function sd(e,t,r){return void 0===r&&(r={x:0,y:0}),{top:e.top-t.height-...
function ud (line 18) | function ud(e){return[te,ae,le,ne].some((function(t){return e[t]>=0}))}
function x7 (line 18) | function x7(e){var t=e.state,r=e.name,n=t.rects.reference,a=t.rects.popp...
function E7 (line 18) | function E7(e,t,r){var n=de(e),a=[ne,te].indexOf(n)>=0?-1:1,i="function"...
function S7 (line 18) | function S7(e){var t=e.state,r=e.options,n=e.name,a=r.offset,i=void 0===...
function C7 (line 18) | function C7(e){var t=e.state,r=e.name;t.modifiersData[r]=Sn({reference:t...
function q0 (line 18) | function q0(e){return"x"===e?"y":"x"}
function M7 (line 18) | function M7(e){var t=e.state,r=e.options,n=e.name,a=r.mainAxis,i=void 0=...
function Y0 (line 18) | function Y0(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}
function X0 (line 18) | function X0(e){return e!==Z(e)&&ce(e)?Y0(e):rr(e)}
function A7 (line 18) | function A7(e){var t=e.getBoundingClientRect(),r=ft(t.width)/e.offsetWid...
function Z0 (line 18) | function Z0(e,t,r){void 0===r&&(r=!1);var n=ce(t),a=ce(t)&&A7(t),i=ge(t)...
function L7 (line 18) | function L7(e){var t=new Map,r=new Set,n=[];function a(i){r.add(i.name),...
function K0 (line 18) | function K0(e){var t=L7(e);return _f.reduce((function(r,n){return r.conc...
function J0 (line 18) | function J0(e){var t;return function(){return t||(t=new Promise((functio...
function Q0 (line 18) | function Q0(e){var t=e.reduce((function(r,n){var a=r[n.name];return r[n....
function Ad (line 18) | function Ad(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]...
function Ld (line 18) | function Ld(e){void 0===e&&(e={});var t=e,r=t.defaultModifiers,n=void 0=...
function _o (line 18) | function _o(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"...
function _d (line 18) | function _d(e){var t=react__WEBPACK_IMPORTED_MODULE_0__.useRef(e);return...
function B7 (line 18) | function B7(e){var t=e.initial,r=e.value,n=e.onChange,a=void 0===n?O7:n;...
function $d (line 18) | function $d(e,t){return void 0===e&&(e=0),void 0===t&&(t=0),function(){r...
function Vd (line 18) | function Vd(e,t){var r,n,a;void 0===e&&(e={}),void 0===t&&(t={});var i=O...
function Pl (line 23) | function Pl(e,t){e.prototype=Object.create(t.prototype),e.prototype.cons...
function Ol (line 23) | function Ol(e){try{return-1!==Function.toString.call(e).indexOf("[native...
function Ko (line 23) | function Ko(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construc...
function Bl (line 23) | function Bl(e,t,r){if(Ko())return Reflect.construct.apply(null,arguments...
function kn (line 23) | function kn(e){var t="function"==typeof Map?new Map:void 0;return kn=o((...
function Cp (line 23) | function Cp(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]...
function t (line 23) | function t(r){for(var a=arguments.length,i=new Array(a>1?a-1:0),c=1;c<a;...
function Nl (line 23) | function Nl(e,t){return e.substr(-t.length)===t}
function Fl (line 23) | function Fl(e){return"string"!=typeof e?e:e.match(Mp)?parseFloat(e):e}
function Jo (line 23) | function Jo(e){return Math.round(255*e)}
function Lp (line 23) | function Lp(e,t,r){return Jo(e)+","+Jo(t)+","+Jo(r)}
function Jr (line 23) | function Jr(e,t,r,n){if(void 0===n&&(n=Lp),0===t)return n(r,r,r);var a=(...
function Ip (line 23) | function Ip(e){if("string"!=typeof e)return e;var t=e.toLowerCase();retu...
function cr (line 23) | function cr(e){if("string"!=typeof e)throw new Ce(3);var t=Ip(e);if(t.ma...
function Np (line 23) | function Np(e){var t=e.red/255,r=e.green/255,n=e.blue/255,a=Math.max(t,r...
function gt (line 23) | function gt(e){return Np(cr(e))}
function Nt (line 23) | function Nt(e){var t=e.toString(16);return 1===t.length?"0"+t:t}
function ea (line 23) | function ea(e){return Nt(Math.round(255*e))}
function Dp (line 23) | function Dp(e,t,r){return ta("#"+ea(e)+ea(t)+ea(r))}
function On (line 23) | function On(e,t,r){return Jr(e,t,r,Dp)}
function _p (line 23) | function _p(e,t,r){if("number"==typeof e&&"number"==typeof t&&"number"==...
function $p (line 23) | function $p(e,t,r,n){if("number"==typeof e&&"number"==typeof t&&"number"...
function ra (line 23) | function ra(e,t,r){if("number"==typeof e&&"number"==typeof t&&"number"==...
function Ft (line 23) | function Ft(e,t,r,n){if("string"==typeof e&&"number"==typeof t){var a=cr...
function vt (line 23) | function vt(e){if("object"!=typeof e)throw new Ce(8);if(jp(e))return Ft(...
function $l (line 23) | function $l(e,t,r){return o((function(){var a=r.concat(Array.prototype.s...
function He (line 23) | function He(e){return $l(e,e.length,[])}
function qp (line 23) | function qp(e,t){if("transparent"===t)return t;var r=gt(t);return vt(W({...
function sr (line 23) | function sr(e,t,r){return Math.max(e,Math.min(t,r))}
function Gp (line 23) | function Gp(e,t){if("transparent"===t)return t;var r=gt(t);return vt(W({...
function Xp (line 23) | function Xp(e,t){if("transparent"===t)return t;var r=gt(t);return vt(W({...
function Zp (line 23) | function Zp(e,t){if("transparent"===t)return t;var r=gt(t);return vt(W({...
function Jp (line 23) | function Jp(e,t,r){if("transparent"===t)return r;if("transparent"===r)re...
function e2 (line 23) | function e2(e,t){if("transparent"===t)return t;var r=cr(t);return Ft(W({...
function t2 (line 23) | function t2(e,t){if("transparent"===t)return t;var r=gt(t);return vt(W({...
function r2 (line 23) | function r2(e,t){return"transparent"===t?t:vt(W({},gt(t),{hue:parseFloat...
function n2 (line 23) | function n2(e,t){return"transparent"===t?t:vt(W({},gt(t),{lightness:pars...
function o2 (line 23) | function o2(e,t){return"transparent"===t?t:vt(W({},gt(t),{saturation:par...
function a2 (line 23) | function a2(e,t){return"transparent"===t?t:Vl(parseFloat(e),"rgb(0, 0, 0...
function i2 (line 23) | function i2(e,t){return"transparent"===t?t:Vl(parseFloat(e),"rgb(255, 25...
function l2 (line 23) | function l2(e,t){if("transparent"===t)return t;var r=cr(t);return Ft(W({...
function Er (line 23) | function Er(e,t,{checkForDefaultPrevented:r=!0}={}){return o((function(a...
function nu (line 23) | function nu(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current...
function Li (line 23) | function Li(...e){return t=>{let r=!1,n=e.map((a=>{let i=nu(a,t);return!...
function Xe (line 23) | function Xe(...e){return react__WEBPACK_IMPORTED_MODULE_0__.useCallback(...
function iu (line 23) | function iu(e,t){let r=react__WEBPACK_IMPORTED_MODULE_0__.createContext(...
function lu (line 23) | function lu(e,t=[]){let r=[];function n(i,c){let l=react__WEBPACK_IMPORT...
function ag (line 23) | function ag(...e){let t=e[0];if(1===e.length)return t;let r=o((()=>{let ...
function ao (line 23) | function ao(e){let[t,r]=react__WEBPACK_IMPORTED_MODULE_0__.useState(ig()...
function su (line 23) | function su({prop:e,defaultProp:t,onChange:r=o((()=>{}),"onChange"),call...
function sg (line 23) | function sg({defaultProp:e,onChange:t}){let[r,n]=react__WEBPACK_IMPORTED...
function ug (line 23) | function ug(e){return"function"==typeof e}
function lo (line 23) | function lo(e,t,{checkForDefaultPrevented:r=!0}={}){return o((function(a...
function fn (line 23) | function fn(e){let t=fg(e),r=react__WEBPACK_IMPORTED_MODULE_0__.forwardR...
function fg (line 23) | function fg(e){let t=react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(((r,n...
function pg (line 23) | function pg(e){return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(...
function mg (line 23) | function mg(e,t){let r={...t};for(let n in t){let a=e[n],i=t[n];/^on[A-Z...
function hg (line 23) | function hg(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get...
function mu (line 23) | function mu(e,t){e&&react_dom__WEBPACK_IMPORTED_MODULE_3__.flushSync((()...
function St (line 23) | function St(e){let t=react__WEBPACK_IMPORTED_MODULE_0__.useRef(e);return...
function gu (line 23) | function gu(e,t=globalThis?.document){let r=St(e);react__WEBPACK_IMPORTE...
function Eg (line 23) | function Eg(e,t=globalThis?.document){let r=St(e),n=react__WEBPACK_IMPOR...
function Sg (line 23) | function Sg(e,t=globalThis?.document){let r=St(e),n=react__WEBPACK_IMPOR...
function wu (line 23) | function wu(){let e=new CustomEvent(zi);document.dispatchEvent(e)}
function Ru (line 23) | function Ru(e,t,r,{discrete:n}){let a=r.originalEvent.target,i=new Custo...
method pause (line 23) | pause(){this.paused=!0}
method resume (line 23) | resume(){this.paused=!1}
function Ag (line 23) | function Ag(e,{select:t=!1}={}){let r=document.activeElement;for(let n o...
function Lg (line 23) | function Lg(e){let t=Mu(e);return[Eu(t,e),Eu(t.reverse(),e)]}
function Mu (line 23) | function Mu(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_EL...
function Eu (line 23) | function Eu(e,t){for(let r of e)if(!Ig(r,{upTo:t}))return r}
function Ig (line 23) | function Ig(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)ret...
function zg (line 23) | function zg(e){return e instanceof HTMLInputElement&&"select"in e}
function Ct (line 23) | function Ct(e,{select:t=!1}={}){if(e&&e.focus){let r=document.activeElem...
function Tg (line 23) | function Tg(){let e=[];return{add(t){let r=e[0];t!==r&&r?.pause(),e=Cu(e...
function Cu (line 23) | function Cu(e,t){let r=[...e],n=r.indexOf(t);return-1!==n&&r.splice(n,1),r}
function Hg (line 23) | function Hg(e){return e.filter((t=>"A"!==t.tagName))}
function Bg (line 23) | function Bg(e,t){return react__WEBPACK_IMPORTED_MODULE_0__.useReducer(((...
function Ng (line 23) | function Ng(e){let[t,r]=react__WEBPACK_IMPORTED_MODULE_0__.useState(),n=...
function so (line 23) | function so(e){return e?.animationName||"none"}
function Fg (line 23) | function Fg(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get...
function zu (line 23) | function zu(){react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{let e=d...
function Lu (line 23) | function Lu(){let e=document.createElement("span");return e.setAttribute...
function uo (line 23) | function uo(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty...
function Tu (line 23) | function Tu(e,t,r){if(r||2===arguments.length)for(var i,n=0,a=t.length;n...
function fo (line 23) | function fo(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}
function Hu (line 23) | function Hu(e,t){var r=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)((...
function Di (line 23) | function Di(e,t){var r=Hu(t||null,(function(n){return e.forEach((functio...
function $g (line 23) | function $g(e){return e}
function Vg (line 23) | function Vg(e,t){void 0===t&&(t=$g);var r=[],n=!1;return{read:o((functio...
function _i (line 23) | function _i(e){void 0===e&&(e={});var t=Vg(null);return t.options=ze({as...
function $i (line 23) | function $i(e,t){return e.useMedium(t),Ou}
function jg (line 23) | function jg(){if(!document)return null;var e=document.createElement("sty...
function Wg (line 23) | function Wg(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(docum...
function Ug (line 23) | function Ug(e){(document.head||document.getElementsByTagName("head")[0])...
function qu (line 23) | function qu(e){var t=react__WEBPACK_IMPORTED_MODULE_0__.useRef([]),r=rea...
function iv (line 23) | function iv(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.ho...
function c0 (line 23) | function c0(e){return e?"open":"closed"}
function Dv (line 23) | function Dv({children:e,width:t,height:r,onEscapeKeyDown:n,onInteractOut...
function Qv (line 23) | function Qv(e,t){var r=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(nul...
function mf (line 23) | function mf(e,t,r){return e[t]?e[t][0]?e[t][0][r]:e[t][r]:"contentBoxSiz...
function Eo (line 23) | function Eo(e){void 0===e&&(e={});var t=e.onResize,r=(0,react__WEBPACK_I...
function gf (line 23) | function gf({centered:e,scale:t,children:r}){let n=(0,react__WEBPACK_IMP...
method constructor (line 23) | constructor(){super(...arguments),this.iframe=null}
method componentDidMount (line 23) | componentDidMount(){let{iFrameRef:r}=this.props;this.iframe=r.current}
method shouldComponentUpdate (line 23) | shouldComponentUpdate(r){let{scale:n,active:a}=this.props;return n!==r.s...
method setIframeInnerZoom (line 23) | setIframeInnerZoom(r){try{Object.assign(this.iframe.contentDocument.body...
method setIframeZoom (line 23) | setIframeZoom(r){Object.assign(this.iframe.style,{width:100*r+"%",height...
method render (line 23) | render(){let{children:r}=this.props;return react__WEBPACK_IMPORTED_MODUL...
function Sf (line 23) | function Sf(){try{return!!globalThis.__vitest_browser__||!!globalThis.wi...
function O3 (line 23) | function O3(e,t,r,n){void 0===r&&(r=1),void 0===n&&(n=1/0),Re||((Re=docu...
function A0 (line 23) | function A0(e,t,r){var n=Af(r);react__WEBPACK_IMPORTED_MODULE_0__.useLay...
function L6 (line 23) | function L6({children:e,...t},r){let n={props:t,ref:r};if(M6(n))return r...
function op (line 23) | function op(e){let t=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(),r=(...
method constructor (line 23) | constructor(t){super(t),this.state={hasError:!1}}
method getDerivedStateFromError (line 23) | static getDerivedStateFromError(){return{hasError:!0}}
method componentDidCatch (line 23) | componentDidCatch(t,r){console.error("Error rendering addon panel"),cons...
method render (line 23) | render(){return this.state.hasError&&this.props.active?react__WEBPACK_IM...
method constructor (line 23) | constructor(r){super(r),this.handlers={onSelect:o((r=>this.setState({sel...
method render (line 23) | render(){let{bordered:r=!1,absolute:n=!1,children:a,backgroundColor:i,me...
function gw (line 35) | function gw(e){let t={},r=e.split("&");for(let n=0;n<r.length;n++){let a...
function Ge (line 48) | function Ge(e){return String(e)}
function Ft (line 48) | function Ft(e=!1){let t=typeof process<"u"?process:void 0,n=t?.env||{},r...
function jt (line 48) | function jt(e=!1){let t=Ft(e),n=i(((c,a,u,m)=>{let p="",l=0;do{p+=c.subs...
function Xt (line 48) | function Xt(e,t){return t.forEach((function(n){n&&"string"!=typeof n&&!A...
function pr (line 48) | function pr(e,t){let n=Object.keys(e),r=null===t?n:n.sort(t);if(Object.g...
function Ee (line 48) | function Ee(e,t,n,r,o,s,c=": "){let a="",u=0,m=e.next();if(!m.done){a+=t...
function Qe (line 48) | function Qe(e,t,n,r,o,s){let c="",a=0,u=e.next();if(!u.done){c+=t.spacin...
function Ae (line 48) | function Ae(e,t,n,r,o,s){let c="";e=e instanceof ArrayBuffer?new DataVie...
function ve (line 48) | function ve(e,t,n,r,o,s){let c="",a=pr(e,t.compareKeys);if(a.length>0){c...
function Er (line 48) | function Er(e){return Zt.has(e)||Sr.test(e)}
function Tr (line 48) | function Tr(e){return"NamedNodeMap"===e.constructor.name}
function Qt (line 48) | function Qt(e){return e.replaceAll("<","<").replaceAll(">",">")}
function et (line 48) | function et(e,t,n,r,o,s,c){let a=r+n.indent,u=n.colors;return e.map((m=>...
function tt (line 48) | function tt(e,t,n,r,o,s){return e.map((c=>t.spacingOuter+n+("string"==ty...
function vt (line 48) | function vt(e,t){let n=t.colors.content;return n.open+Qt(e)+n.close}
function $r (line 48) | function $r(e,t){let n=t.colors.comment;return`${n.open}\x3c!--${Qt(e)}-...
function nt (line 48) | function nt(e,t,n,r,o){let s=r.colors.tag;return`${s.open}<${e}${t&&s.cl...
function rt (line 48) | function rt(e,t){let n=t.colors.tag;return`${n.open}<${e}${n.close} …${n...
function Ar (line 48) | function Ar(e){try{return"function"==typeof e.hasAttribute&&e.hasAttribu...
function Pr (line 48) | function Pr(e){let t=e.constructor.name,{nodeType:n,tagName:r}=e,o="stri...
function Ir (line 48) | function Ir(e){return 3===e.nodeType}
function Mr (line 48) | function Mr(e){return 8===e.nodeType}
function He (line 48) | function He(e){return 11===e.nodeType}
function Wr (line 48) | function Wr(e,t,n,r,o,s,c){return++r>t.maxDepth?Ne(de(c)):`${de(c)+" "}{...
function Vr (line 48) | function Vr(e){let t=0;return{next(){if(t<e._keys.length){let n=e._keys[...
function qr (line 48) | function qr(e,t,n,r,o,s){let c=de(e._name||"Record");return++r>t.maxDept...
function Kr (line 48) | function Kr(e,t,n,r,o,s){let c=de("Seq");return++r>t.maxDepth?Ne(c):e["@...
function Je (line 48) | function Je(e,t,n,r,o,s,c){return++r>t.maxDepth?Ne(de(c)):`${de(c)+" "}[...
function rn (line 48) | function rn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.c...
function Xr (line 48) | function Xr(){return zt||(zt=1,function(){function e(f){if("object"==typ...
function Zr (line 48) | function Zr(){return Yt||(Yt=1,Xe.exports=Xr()),Xe.exports}
function eo (line 48) | function eo(){return Ut||(Ut=1,function(){var O,e=Symbol.for("react.elem...
function to (line 48) | function to(){return Wt||(Wt=1,Ze.exports=eo()),Ze.exports}
function cn (line 48) | function cn(e,t=[]){if(Array.isArray(e))for(let n of e)cn(n,t);else null...
function Vt (line 48) | function Vt(e){let t=e.type;if("string"==typeof t)return t;if("function"...
function so (line 48) | function so(e){let{props:t}=e;return Object.keys(t).filter((n=>"children...
function lo (line 48) | function lo(e){let{props:t}=e;return t?Object.keys(t).filter((n=>void 0!...
function Re (line 48) | function Re(e){return"function"==typeof e.constructor&&e.constructor.nam...
function yo (line 48) | function yo(e){return typeof window<"u"&&e===window}
method constructor (line 48) | constructor(t,n){super(t),this.stack=n,this.name=this.constructor.name}
function Eo (line 48) | function Eo(e){return"[object Array]"===e||"[object ArrayBuffer]"===e||"...
function _o (line 48) | function _o(e){return Object.is(e,-0)?"-0":String(e)}
function To (line 48) | function To(e){return`${e}n`}
function Kt (line 48) | function Kt(e,t){return t?`[Function ${e.name||"anonymous"}]`:"[Function]"}
function Gt (line 48) | function Gt(e){return String(e).replace(bo,"Symbol($1)")}
function Ht (line 48) | function Ht(e){return`[${ho.call(e)}]`}
function an (line 48) | function an(e,t,n,r){if(!0===e||!1===e)return`${e}`;if(void 0===e)return...
function ln (line 48) | function ln(e,t,n,r,o,s){if(o.includes(e))return"[Circular]";(o=[...o])....
method serialize (line 48) | serialize(e,t,n,r,o,s){if(o.includes(e))return"[Circular]";o=[...o,e];le...
function Oo (line 48) | function Oo(e){return null!=e.serialize}
function fn (line 48) | function fn(e,t,n,r,o,s){let c;try{c=Oo(e)?e.serialize(t,n,r,o,s,ae):e.p...
function mn (line 48) | function mn(e,t){for(let n of e)try{if(n.test(t))return n}catch(r){throw...
function ae (line 48) | function ae(e,t,n,r,o,s){let c=mn(t.plugins,e);if(null!==c)return fn(c,e...
function $o (line 48) | function $o(e){for(let t of Object.keys(e))if(!Object.prototype.hasOwnPr...
function wo (line 48) | function wo(){return pn.reduce(((e,t)=>{let n=ot[t],r=n&&v[n];if(!r||"st...
function Ro (line 48) | function Ro(){return pn.reduce(((e,t)=>(e[t]={close:"",open:""},e)),Obje...
function gn (line 48) | function gn(e){return e?.printFunctionName??ee.printFunctionName}
function hn (line 48) | function hn(e){return e?.escapeRegex??ee.escapeRegex}
function dn (line 48) | function dn(e){return e?.escapeString??ee.escapeString}
function Jt (line 48) | function Jt(e){return{callToJSON:e?.callToJSON??ee.callToJSON,colors:e?....
function Ao (line 48) | function Ao(e){return Array.from({length:e+1}).join(" ")}
function X (line 48) | function X(e,t){if(t&&($o(t),t.plugins)){let r=mn(t.plugins,e);if(null!=...
function No (line 48) | function No(e,t){let n=yn[Po[t]]||yn[t]||"";return n?`[${n[0]}m${String...
function bn (line 48) | function bn({showHidden:e=!1,depth:t=2,colors:n=!1,customInspect:r=!0,sh...
function Io (line 48) | function Io(e){return e>="\ud800"&&e<="\udbff"}
function B (line 48) | function B(e,t,n="…"){e=String(e);let r=n.length,o=e.length;if(r>t&&o>r)...
function D (line 48) | function D(e,t,n,r=", "){n=n||t.inspect;let o=e.length;if(0===o)return""...
function Mo (line 48) | function Mo(e){return e.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)?e:JSON.stringi...
function ce (line 48) | function ce([e,t],n){return n.truncate-=2,"string"==typeof e?e=Mo(e):"nu...
function it (line 48) | function it(e,t){let n=Object.keys(e).slice(e.length);if(!e.length&&!n.l...
function te (line 48) | function te(e,t){let n=Lo(e);t.truncate-=n.length+4;let r=Object.keys(e)...
function ct (line 48) | function ct(e,t){let n=e.toJSON();if(null===n)return"Invalid Date";let r...
function Ie (line 48) | function Ie(e,t){let n=e[Symbol.toStringTag]||"Function",r=e.name;return...
function xo (line 48) | function xo([e,t],n){return n.truncate-=4,e=n.inspect(e,n),n.truncate-=e...
function Do (line 48) | function Do(e){let t=[];return e.forEach(((n,r)=>{t.push([r,n])})),t}
function ut (line 48) | function ut(e,t){return 0===e.size?"Map{}":(t.truncate-=7,`Map{ ${D(Do(e...
function Me (line 48) | function Me(e,t){return Fo(e)?t.stylize("NaN","number"):e===1/0?t.styliz...
function Le (line 48) | function Le(e,t){let n=B(e.toString(),t.truncate-1);return"…"!==n&&(n+="...
function at (line 48) | function at(e,t){let n=e.toString().split("/")[2],r=t.truncate-(2+n.leng...
function jo (line 48) | function jo(e){let t=[];return e.forEach((n=>{t.push(n)})),t}
function lt (line 48) | function lt(e,t){return 0===e.size?"Set{}":(t.truncate-=7,`Set{ ${D(jo(e...
function Yo (line 48) | function Yo(e){return ko[e]||`\\u${`0000${e.charCodeAt(0).toString(16)}`...
function xe (line 48) | function xe(e,t){return Sn.test(e)&&(e=e.replace(Sn,Yo)),t.stylize(`'${B...
function De (line 48) | function De(e){return"description"in Symbol.prototype?e.description?`Sym...
function me (line 48) | function me(e,t){let n=Object.getOwnPropertyNames(e),r=Object.getOwnProp...
function mt (line 48) | function mt(e,t){let n="";return ft&&ft in e&&(n=e[ft]),n=n||e.construct...
function pt (line 48) | function pt(e,t){return 0===e.length?"Arguments[]":(t.truncate-=13,`Argu...
function gt (line 48) | function gt(e,t){let n=Object.getOwnPropertyNames(e).filter((c=>-1===Uo....
function Wo (line 48) | function Wo([e,t],n){return n.truncate-=3,t?`${n.stylize(String(e),"yell...
function Fe (line 48) | function Fe(e,t){return D(e,t,Vo,"\n")}
function Vo (line 48) | function Vo(e,t){switch(e.nodeType){case 1:return je(e,t);case 3:return ...
function je (line 48) | function je(e,t){let n=e.getAttributeNames(),r=e.tagName.toLowerCase(),o...
function ke (line 48) | function ke(e,t={}){let n=bn(t,ke),{customInspect:r}=n,o=null===e?"null"...
function pe (line 48) | function pe(e,t=10,{maxLength:n,...r}={}){let s,o=n??1e4;try{s=X(e,{maxD...
function wn (line 48) | function wn(...e){if("string"!=typeof e[0]){let s=[];for(let c=0;c<e.len...
function Te (line 48) | function Te(e,t={}){return 0===t.truncate&&(t.truncate=Number.POSITIVE_I...
function Rn (line 48) | function Rn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.c...
function ns (line 48) | function ns(e){return e===Object.prototype||e===Function.prototype||e===...
function Be (line 48) | function Be(e){return Object.prototype.toString.apply(e).slice(8,-1)}
function rs (line 48) | function rs(e,t){let n="function"==typeof t?t:r=>t.add(r);Object.getOwnP...
function bt (line 48) | function bt(e){let t=new Set;return ns(e)?[]:(rs(e,t),Array.from(t))}
function St (line 48) | function St(e,t=An){return yt(e,new WeakMap,t)}
function yt (line 48) | function yt(e,t,n=An){let r,o;if(t.has(e))return t.get(e);if(Array.isArr...
method constructor (line 48) | constructor(t,n){this[0]=t,this[1]=n}
function os (line 48) | function os(e,t){if(!e||!t||e.charAt(0)!==t.charAt(0))return 0;let n=0,r...
function Vn (line 48) | function Vn(e,t){if(!e||!t||e.charAt(e.length-1)!==t.charAt(t.length-1))...
function Pn (line 48) | function Pn(e,t){let n=e.length,r=t.length;if(0===n||0===r)return 0;n>r?...
function ss (line 48) | function ss(e){let t=!1,n=[],r=0,o=null,s=0,c=0,a=0,u=0,m=0;for(;s<e.len...
function us (line 48) | function us(e){let t=1;for(;t<e.length-1;){if(0===e[t-1][0]&&0===e[t+1][...
function qn (line 48) | function qn(e){e.push(new P(0,""));let c,t=0,n=0,r=0,o="",s="";for(;t<e....
function ze (line 48) | function ze(e,t){if(!e||!t)return 6;let n=e.charAt(e.length-1),r=t.charA...
function ls (line 48) | function ls(){if(Ln)return Ye;Ln=1,Object.defineProperty(Ye,"__esModule"...
function ms (line 48) | function ms(e,t){return e.replace(/\s+$/,(n=>t(n)))}
function wt (line 48) | function wt(e,t,n,r,o,s){return 0!==e.length?n(`${r} ${ms(e,o)}`):" "!==...
function Hn (line 48) | function Hn(e,t,{aColor:n,aIndicator:r,changeLineTrailingSpaceColor:o,em...
function Jn (line 48) | function Jn(e,t,{bColor:n,bIndicator:r,changeLineTrailingSpaceColor:o,em...
function Xn (line 48) | function Xn(e,t,{commonColor:n,commonIndicator:r,commonLineTrailingSpace...
function xn (line 48) | function xn(e,t,n,r,{patchColor:o}){return o(`@@ -${e+1},${t-e} +${n+1},...
function ps (line 48) | function ps(e,t){let n=e.length,r=t.contextLines,o=r+r,s=n,c=!1,a=0,u=0;...
function gs (line 48) | function gs(e,t){return e.map(((n,r,o)=>{let s=n[1],c=0===r||r===o.lengt...
function ds (line 48) | function ds(){return{aAnnotation:"Expected",aColor:v.green,aIndicator:"-...
function ys (line 48) | function ys(e){return e&&"function"==typeof e?e:void 0}
function bs (line 48) | function bs(e){return"number"==typeof e&&Number.isSafeInteger(e)&&e>=0?e:5}
function ge (line 48) | function ge(e={}){return{...ds(),...e,compareKeys:ys(e.compareKeys),cont...
function ye (line 48) | function ye(e){return 1===e.length&&0===e[0].length}
function Ss (line 48) | function Ss(e){let t=0,n=0;return e.forEach((r=>{switch(r[0]){case z:t+=...
function Es (line 48) | function Es({aAnnotation:e,aColor:t,aIndicator:n,bAnnotation:r,bColor:o,...
function Rt (line 48) | function Rt(e,t,n){return Es(n,Ss(e))+(n.expand?gs(e,n):ps(e,n))+(t?n.tr...
function We (line 48) | function We(e,t,n){let r=ge(n),[o,s]=Qn(ye(e)?[]:e,ye(t)?[]:t,r);return ...
function _s (line 48) | function _s(e,t,n,r,o){if(ye(e)&&ye(n)&&(e=[],n=[]),ye(t)&&ye(r)&&(t=[],...
function Qn (line 48) | function Qn(e,t,n){let r=n?.truncateThreshold??!1,o=Math.max(Math.floor(...
function Dn (line 48) | function Dn(e){if(void 0===e)return"undefined";if(null===e)return"null";...
function Fn (line 48) | function Fn(e){return e.includes("\r\n")?"\r\n":"\n"}
function Ts (line 48) | function Ts(e,t,n){let r=n?.truncateThreshold??!1,o=Math.max(Math.floor(...
function Cs (line 48) | function Cs(e,t,n){return t.reduce(((r,o)=>r+(0===o[0]?o[1]:o[0]===e&&0!...
method constructor (line 48) | constructor(t,n){this.op=t,this.line=[],this.lines=[],this.changeColor=n}
method pushSubstring (line 48) | pushSubstring(t){this.pushDiff(new P(this.op,t))}
method pushLine (line 48) | pushLine(){this.lines.push(1!==this.line.length?new P(this.op,Cs(this.op...
method isLineEmpty (line 48) | isLineEmpty(){return 0===this.line.length}
method pushDiff (line 48) | pushDiff(t){this.line.push(t)}
method align (line 48) | align(t){let n=t[1];if(n.includes("\n")){let r=n.split("\n"),o=r.length-...
method moveLinesTo (line 48) | moveLinesTo(t){this.isLineEmpty()||this.pushLine(),t.push(...this.lines)...
method constructor (line 48) | constructor(t,n){this.deleteBuffer=t,this.insertBuffer=n,this.lines=[]}
method pushDiffCommonLine (line 48) | pushDiffCommonLine(t){this.lines.push(t)}
method pushDiffChangeLines (line 48) | pushDiffChangeLines(t){let n=0===t[1].length;(!n||this.deleteBuffer.isLi...
method flushChangeLines (line 48) | flushChangeLines(){this.deleteBuffer.moveLinesTo(this.lines),this.insert...
method align (line 48) | align(t){let n=t[0],r=t[1];if(r.includes("\n")){let o=r.split("\n"),s=o....
method getLines (line 48) | getLines(){return this.flushChangeLines(),this.lines}
function Os (line 48) | function Os(e,t){let n=new Ue(z,t),r=new Ue(1,t),o=new Tt(n,r);return e....
function $s (line 48) | function $s(e,t){if(t){let n=e.length-1;return e.some(((r,o)=>0===r[0]&&...
function ws (line 48) | function ws(e,t,n){if(e!==t&&0!==e.length&&0!==t.length){let r=e.include...
function vn (line 48) | function vn(e,t,n,r){let[o,s]=Ts(e,t,r);return n&&ss(o),[o,s]}
function Ct (line 48) | function Ct(e,t){let{commonColor:n}=ge(t);return n(e)}
function Ls (line 48) | function Ls(e,t,n){if(Object.is(e,t))return"";let r=Dn(e),o=r,s=!1;if("o...
function xs (line 48) | function xs(e,t,n){let r=X(e,Ot),o=X(t,Ot);return r===o?"":We(r.split("\...
function jn (line 48) | function jn(e){return new Map(Array.from(e.entries()).sort())}
function kn (line 48) | function kn(e){return new Set(Array.from(e.values()).sort())}
function _t (line 48) | function _t(e,t,n){let r,o=!1;try{r=Bn(e,t,$t(Ot,n),n)}catch{o=!0}let s=...
function $t (line 48) | function $t(e,t){let{compareKeys:n,printBasicPrototype:r,maxDepth:o}=ge(...
function Bn (line 48) | function Bn(e,t,n,r){let o={...n,indent:0},s=X(e,o),c=X(t,o);if(s===c)re...
function Yn (line 48) | function Yn(e){return"Object"===Be(e)&&"function"==typeof e.asymmetricMa...
function Un (line 48) | function Un(e,t){let n=Be(e);return n===Be(t)&&("Object"===n||"Array"===n)}
function nr (line 48) | function nr(e,t,n){let{aAnnotation:r,bAnnotation:o}=ge(n);if("string"==t...
function rr (line 48) | function rr(e,t,n=new WeakSet,r=new WeakSet){return e instanceof Error&&...
function Ds (line 48) | function Ds(...e){let t=e.reduce(((n,r)=>r.length>n?r.length:n),0);retur...
function or (line 48) | function or(e){return e.replace(/\s+$/gm,(t=>Fs.repeat(t.length)))}
function js (line 48) | function js(e){return v.red(or(pe(e)))}
function ks (line 48) | function ks(e){return v.green(or(pe(e)))}
function Wn (line 48) | function Wn(e,t,n){return e.reduce(((r,o)=>r+(0===o[0]?o[1]:o[0]===t?n?v...
function Ys (line 48) | function Ys(e){return e&&(e["@@__IMMUTABLE_ITERABLE__@@"]||e["@@__IMMUTA...
function sr (line 48) | function sr(e){return e instanceof Error?`<unserializable>: ${e.message}...
function le (line 48) | function le(e,t=new WeakMap){if(!e||"string"==typeof e)return e;if(e ins...
function Ve (line 48) | function Ve(e){try{return e()}catch{}}
function Ws (line 48) | function Ws(e){return e.replace(/__(vite_ssr_import|vi_import)_\d+__\./g...
function It (line 48) | function It(e,t,n=new WeakSet){if(!e||"object"!=typeof e)return{message:...
method constructor (line 48) | constructor(){this.detached=!1,this.initialized=!1,this.state={},this.lo...
method getState (line 48) | getState(t){return this.state[t]||Mt()}
method setState (line 48) | setState(t,n){if(t){let r=this.getState(t),o="function"==typeof n?n(r):n...
method cleanup (line 48) | cleanup(){this.state=Object.entries(this.state).reduce(((r,[o,s])=>{let ...
method getLog (line 48) | getLog(t){let{calls:n,shadowCalls:r}=this.getState(t),o=[...r];n.forEach...
method instrument (line 48) | instrument(t,n,r=0){if(!Xs(t))return t;let{mutate:o=!1,path:s=[]}=n,c=n....
method track (line 48) | track(t,n,r,o,s){let c=o?.[0]?.__storyId__||external_STORYBOOK_MODULE_GL...
method intercept (line 48) | intercept(t,n,r,o){let{chainedCallIds:s,isDebugging:c,playUntil:a}=this....
method invoke (line 48) | invoke(t,n,r,o){let{callRefsByResult:s,renderPhase:c}=this.getState(r.st...
method update (line 48) | update(t){this.channel?.emit(ne_CALL,t),this.setState(t.storyId,(({calls...
method sync (line 48) | sync(t){let n=i((()=>{let{isLocked:r,isPlaying:o}=this.getState(t),s=thi...
function Qs (line 48) | function Qs(e,t={}){try{let n=!1,r=!1;return external_STORYBOOK_MODULE_G...
function vs (line 48) | function vs(e,t){let n=e;for(;null!=n;){let r=Object.getOwnPropertyDescr...
function ei (line 48) | function ei(e){if("function"!=typeof e)return!1;let t=Object.getOwnPrope...
function csf_bt (line 48) | function csf_bt(e){return e.replace(/_/g," ").replace(/-/g," ").replace(...
function csf_At (line 48) | function csf_At(){let e={setHandler:n((()=>{}),"setHandler"),send:n((()=...
method constructor (line 48) | constructor(){this.getChannel=n((()=>{if(!this.channel){let t=csf_At();r...
function csf_Jr (line 48) | function csf_Jr(){return external_STORYBOOK_MODULE_GLOBAL_.global[csf_ke...
method constructor (line 48) | constructor(){this.hookListsMap=void 0,this.mountedDecorators=void 0,thi...
method init (line 48) | init(){this.hookListsMap=new WeakMap,this.mountedDecorators=new Set,this...
method clean (line 48) | clean(){this.prevEffects.forEach((t=>{t.destroy&&t.destroy()})),this.ini...
method getNextHook (line 48) | getNextHook(){let t=this.currentHooks[this.nextHookIndex];return this.ne...
method triggerEffects (line 48) | triggerEffects(){this.prevEffects.forEach((t=>{!this.currentEffects.incl...
method addRenderListeners (line 48) | addRenderListeners(){this.removeRenderListeners(),Oe.getChannel().on(ext...
method removeRenderListeners (line 48) | removeRenderListeners(){Oe.getChannel().removeListener(external_STORYBOO...
function csf_wt (line 48) | function csf_wt(e){let t=n(((...r)=>{let{hooks:o}="function"==typeof r[0...
function csf_ee (line 48) | function csf_ee(e){if(!e||"object"!=typeof e)return!1;let t=Object.getPr...
function U (line 48) | function U(e,t){let r={},o=Object.keys(e);for(let i=0;i<o.length;i++){le...
function csf_Le (line 48) | function csf_Le(e,t){let r={},o=Object.keys(e);for(let i=0;i<o.length;i+...
function W (line 48) | function W(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r...
function csf_Ct (line 48) | function csf_Ct({args:e,argTypes:t}){let r={};return Object.entries(e).f...
function csf_e (line 53) | function csf_e(e,t,r){let o=t,i="function"==typeof t?t:null,{story:s}=o;...
function csf_kt (line 53) | function csf_kt(e,t=e.title,r){let{id:o,argTypes:i}=e;return{id:csf_jn(o...
function csf_Ot (line 53) | function csf_Ot(e){return null!=e&&csf_lo(e).includes("mount")}
function csf_lo (line 53) | function csf_lo(e){let t=e.toString().match(/[^(]*\(([^)]*)/);if(!t)retu...
function csf_Pt (line 53) | function csf_Pt(e){let t=[],r=[],o=0;for(let s=0;s<e.length;s++)if("{"==...
function csf_Mt (line 53) | function csf_Mt(e,t,r){let o=r(e);return i=>t(o,i)}
function csf_$t (line 53) | function csf_$t({componentId:e,title:t,kind:r,id:o,name:i,story:s,parame...
function csf_He (line 53) | function csf_He(e,t){let r={},o=n((s=>a=>{if(!r.value)throw new Error("D...
function csf_Ne (line 53) | function csf_Ne(e,t,r){let{moduleExport:o,id:i,name:s}=e||{},a=csf_go(e,...
function csf_go (line 53) | function csf_go(e,t,r){let i=!0===external_STORYBOOK_MODULE_GLOBAL_.glob...
function csf_Ft (line 53) | function csf_Ft(e){let{args:t}=e,r={...e,allArgs:void 0,argsByTarget:voi...
function csf_te (line 59) | function csf_te({argTypes:e,globalTypes:t,argTypesEnhancers:r,decorators...
function csf_Ue (line 59) | function csf_Ue(e){return async(t,r,o)=>{await e.reduceRight(((s,a)=>asy...
function oe (line 59) | function oe(e,t){return e.map((r=>r.default?.[t]??r[t])).filter(Boolean)}
function Y (line 59) | function Y(e,t,r={}){return oe(e,t).reduce(((o,i)=>{let s=b(i);return r....
function ue (line 59) | function ue(e,t){return Object.assign({},...oe(e,t))}
function re (line 59) | function re(e,t){return oe(e,t).pop()}
function csf_ne (line 59) | function csf_ne(e){let t=Y(e,"argTypesEnhancers"),r=oe(e,"runStep"),o=Y(...
function Dt (line 59) | function Dt(){try{return!!globalThis.__vitest_browser__||!!globalThis.wi...
function csf_t (line 59) | function csf_t(e=!0){if(!("document"in globalThis)||!("createElement"in ...
function csf_Ht (line 59) | async function csf_Ht(e){if(!("document"in globalThis&&"getAnimations"in...
function csf_Nt (line 59) | function csf_Nt(e){return[e,...e.querySelectorAll("*")].reduce(((t,r)=>(...
function csf_So (line 59) | function csf_So(e){if(e instanceof CSSAnimation&&e.effect instanceof Key...
method constructor (line 59) | constructor(){this.reports=[]}
method addReport (line 59) | async addReport(t){this.reports.push(t)}
function csf_We (line 59) | function csf_We(e,t,r,o,i){if(void 0===e)throw new Error("Expected a sto...
function csf_Eo (line 59) | async function csf_Eo(e,t){for(let s of[...V].reverse())await s();if(V.l...
function csf_ye (line 59) | function csf_ye(e,t){if(!e){false;var r="function"==typeof t?t():t,o=r?"...
function csf_ie (line 59) | function csf_ie(e,t={}){let r={...csf_Bt,...t},o=n((function(...s){if(t....
function csf_yr (line 59) | function csf_yr(){let e=external_STORYBOOK_MODULE_GLOBAL_.global.documen...
function csf_Jo (line 59) | function csf_Jo(){let e=external_STORYBOOK_MODULE_GLOBAL_.global.documen...
function csf_at (line 59) | function csf_at(e,t,{width:r,height:o}){e.style.width=`${r}px`,e.style.h...
function csf_gr (line 59) | function csf_gr(){$.canvas||($=csf_Jo())}
function csf_hr (line 59) | function csf_hr(){$.context&&$.context.clearRect(0,0,$.width??0,$.height...
function csf_xr (line 59) | function csf_xr(e){csf_hr(),e($.context)}
function csf_br (line 59) | function csf_br(){csf_ye($.canvas,"Canvas should exist in the state."),c...
function csf_Tr (line 59) | function csf_Tr(){$.canvas&&(csf_hr(),$.canvas.parentNode?.removeChild($...
function csf_Sr (line 59) | function csf_Sr(e,{x:t,y:r,w:o,h:i,r:s}){t-=o/2,r-=i/2,o<2*s&&(s=o/2),i<...
function csf_Qo (line 59) | function csf_Qo(e,{padding:t,border:r,width:o,height:i,top:s,left:a}){le...
function csf_en (line 59) | function csf_en(e,t,{margin:r,border:o,padding:i},s,a){let p=n((h=>0),"s...
function csf_tn (line 59) | function csf_tn(e,t){return Math.abs(e.x-t.x)<Math.abs(e.w+t.w)/2&&Math....
function csf_rn (line 59) | function csf_rn(e,t,r){return"top"===e?t.y=r.y-r.h-6:"right"===e?t.x=r.x...
function csf_Ar (line 59) | function csf_Ar(e,t,{x:r,y:o,w:i,h:s},a){return csf_Sr(e,{x:r,y:o,w:i,h:...
function csf_Rr (line 59) | function csf_Rr(e,t){e.font="600 12px monospace",e.textBaseline="middle"...
function csf_on (line 59) | function csf_on(e,t,{type:r,position:o="center",text:i},s,a=!1){let{x:p,...
function csf_nn (line 59) | function csf_nn(e,{w:t,h:r}){let o=.5*t+6,i=.5*r+6;return{offsetX:("left...
function csf_sn (line 59) | function csf_sn(e,t,{type:r,text:o}){let{floatingAlignment:i,extremities...
function csf_pe (line 59) | function csf_pe(e,t,r,o){let i=[];r.forEach(((s,a)=>{let p=o&&"center"==...
function csf_wr (line 59) | function csf_wr(e,t,r,o){let i=r.reduce(((s,a)=>(Object.prototype.hasOwn...
function _ (line 59) | function _(e){return parseInt(e.replace("px",""),10)}
function Q (line 59) | function Q(e){return Number.isInteger(e)?e:e.toFixed(2)}
function csf_pt (line 59) | function csf_pt(e){return e.filter((t=>0!==t.text&&"0"!==t.text))}
function csf_an (line 59) | function csf_an(e){let t_top=external_STORYBOOK_MODULE_GLOBAL_.global.wi...
function csf_pn (line 59) | function csf_pn(e){let t=external_STORYBOOK_MODULE_GLOBAL_.global.getCom...
function csf_ln (line 59) | function csf_ln(e,{margin:t,width:r,height:o,top:i,left:s,bottom:a,right...
function csf_cn (line 59) | function csf_cn(e,{padding:t,border:r,width:o,height:i,top:s,left:a,bott...
function csf_dn (line 59) | function csf_dn(e,{border:t,width:r,height:o,top:i,left:s,bottom:a,right...
function csf_mn (line 59) | function csf_mn(e,{padding:t,border:r,width:o,height:i,top:s,left:a}){le...
function csf_un (line 59) | function csf_un(e){return t=>{if(e&&t){let r=csf_pn(e),o=csf_ln(t,r),i=c...
function csf_Cr (line 59) | function csf_Cr(e){csf_xr(csf_un(e))}
function csf_Or (line 59) | function csf_Or(e,t){csf_Cr(csf_vr(e,t))}
function csf_dt (line 59) | function csf_dt(e){return W`
function csf_r (line 454) | function csf_r(){return[(csf_lt.default??csf_lt)(),(csf_Je.default??csf_...
function rc (line 454) | function rc(e){return e}
function oc (line 454) | function oc(e){return null!=e&&"object"==typeof e&&"_tag"in e&&"Preview"...
function csf_Nn (line 454) | function csf_Nn(e,t){return{_tag:"Meta",input:e,preview:t,get composed()...
function csf_Hr (line 454) | function csf_Hr(e,t){let r,o=n((()=>(r||(r=csf_We(e,t.input,void 0,t.pre...
method composed (line 454) | get composed(){if(t)return t;let{addons:o,...i}=e;return t=csf_te(csf_ne...
method meta (line 454) | meta(o){return csf_Nn(o,this)}
function csf_jr (line 454) | function csf_jr(e,t){return Array.isArray(t)?t.includes(e):e.match(t)}
function s (line 454) | function s(e){return void 0!==e.text&&""!==e.text?`'${e.type}' with valu...
method constructor (line 454) | constructor(t){super(`No parslet found for token: ${s(t)}`),this.token=t...
method getToken (line 454) | getToken(){return this.token}
method constructor (line 454) | constructor(t){super(`The parsing ended early. The next token was: ${s(t...
method getToken (line 454) | getToken(){return this.token}
method constructor (line 454) | constructor(t,o){let i=`Unexpected type: '${t.type}'.`;void 0!==o&&(i+=`...
function u (line 454) | function u(e){return t=>t.startsWith(e)?{type:e,text:e}:null}
function m (line 454) | function m(e){let o,t=0,i=e[0],l=!1;if("'"!==i&&'"'!==i)return null;for(...
function P (line 454) | function P(e){let t=e[0];if(!T.test(t))return null;let o=1;do{if(t=e[o],...
function de (line 454) | function de(e){var t,o;return null!==(o=null===(t=b.exec(e))||void 0===t...
function S (line 454) | function S(e){return t=>{if(!t.startsWith(e))return null;let o=t[e.lengt...
method create (line 454) | static create(t){let o=this.read(t);t=o.text;let i=this.read(t);return t...
method constructor (line 454) | constructor(t,o,i,l){this.text="",this.text=t,this.previous=o,this.curre...
method read (line 454) | static read(t,o=!1){o=o||jt.test(t),t=t.trim();for(let i of Rt){let l=i(...
method advance (line 454) | advance(){let t=U.read(this.text);return new U(t.text,this.current,this....
function J (line 454) | function J(e){if(void 0===e)throw new Error("Unexpected undefined");if("...
function he (line 454) | function he(e){return"JsdocTypeKeyValue"===e.type?H(e):J(e)}
function Ft (line 454) | function Ft(e){return"JsdocTypeName"===e.type?e:H(e)}
function H (line 454) | function H(e){if("JsdocTypeKeyValue"!==e.type)throw new c(e);return e}
function _t (line 454) | function _t(e){var t;if("JsdocTypeVariadic"===e.type){if("JsdocTypeName"...
function Je (line 454) | function Je(e){return"JsdocTypeIndexSignature"===e.type||"JsdocTypeMappe...
method constructor (line 454) | constructor(t,o,i){this.grammar=t,this._lexer="string"==typeof o?xe.crea...
method lexer (line 454) | get lexer(){return this._lexer}
method parse (line 454) | parse(){let t=this.parseType(y.ALL);if("EOF"!==this.lexer.current.type)t...
method parseType (line 454) | parseType(t){return J(this.parseIntermediateType(t))}
method parseIntermediateType (line 454) | parseIntermediateType(t){let o=this.tryParslets(null,t);if(null===o)thro...
method parseInfixIntermediateType (line 454) | parseInfixIntermediateType(t,o){let i=this.tryParslets(t,o);for(;null!==...
method tryParslets (line 454) | tryParslets(t,o){for(let i of this.grammar){let l=i(this,o,t);if(null!==...
method consume (line 454) | consume(t){return Array.isArray(t)||(t=[t]),!!t.includes(this.lexer.curr...
method acceptLexerState (line 454) | acceptLexerState(t){this._lexer=t.lexer}
function Ye (line 454) | function Ye(e){return"EOF"===e||"|"===e||","===e||")"===e||">"===e}
function x (line 454) | function x(e){let t=r(((o,i,l)=>{let f=o.lexer.current.type,d=o.lexer.ne...
function Bt (line 454) | function Bt({allowTrailingComma:e}){return x({name:"parameterListParslet...
function ee (line 454) | function ee({allowSquareBracketsOnAnyType:e,allowJsdocNamePaths:t,pathGr...
function R (line 454) | function R({allowedAdditionalTokens:e}){return x({name:"nameParslet",acc...
function te (line 454) | function te({pathGrammar:e,allowedTypes:t}){return x({name:"specialNameP...
function be (line 454) | function be(e){let t;if("JsdocTypeParameterList"===e.type)t=e.elements;e...
function Kt (line 454) | function Kt(e){let t=be(e);if(t.some((o=>"JsdocTypeKeyValue"===o.type)))...
function Se (line 454) | function Se({allowNamedParameters:e,allowNoReturnType:t,allowWithoutPare...
function Ee (line 454) | function Ee({allowPostfix:e,allowEnclosingBrackets:t}){return x({name:"v...
function Ne (line 454) | function Ne({objectFieldGrammar:e,allowKeyTypes:t}){return x({name:"obje...
function De (line 454) | function De({allowSquaredProperties:e,allowKeyTypes:t,allowReadonly:o,al...
function Oe (line 454) | function Oe({allowOptional:e,allowVariadic:t}){return x({name:"keyValueP...
function Gt (line 454) | function Gt({allowQuestionMark:e}){return x({name:"tupleParslet",accept:...
function Qe (line 454) | function Qe(e,t){switch(t){case"closure":return new I(Yt,e).parse();case...
function or (line 454) | function or(e,t=["typescript","closure","jsdoc"]){let o;for(let i of t)t...
function W (line 454) | function W(e,t){let o=e[t.type];if(void 0===o)throw new Error(`In this s...
function N (line 454) | function N(e){throw new Error("This transform is not available. Are you ...
function Ze (line 454) | function Ze(e){let t={params:[]};for(let o of e.parameters)"JsdocTypeKey...
function re (line 454) | function re(e,t,o){return"prefix"===e?o+t:t+o}
function j (line 454) | function j(e,t){switch(t){case"double":return`"${e}"`;case"single":retur...
function et (line 454) | function et(){return{JsdocTypeParenthesis:r(((e,t)=>`(${void 0!==e.eleme...
function ar (line 454) | function ar(e){return W(sr,e)}
function F (line 454) | function F(e){let t={type:"NameExpression",name:e};return ir.includes(e)...
function cr (line 454) | function cr(e){return W(pr,e)}
function V (line 454) | function V(e){switch(e){case void 0:return"none";case"single":return"sin...
function lr (line 454) | function lr(e){switch(e){case"inner":return"INNER_MEMBER";case"instance"...
function ve (line 454) | function ve(e,t){return 2===t.length?{type:e,left:t[0],right:t[1]}:{type...
function mr (line 454) | function mr(e){return W(ur,e)}
function fr (line 454) | function fr(){return{JsdocTypeIntersection:r(((e,t)=>({type:"JsdocTypeIn...
function ke (line 454) | function ke(e,t,o,i,l){i?.(e,t,o);let f=tt[e.type];for(let d of f){let h...
function yr (line 454) | function yr(e,t,o){ke(e,void 0,void 0,t,o)}
function X (line 454) | function X(n){if(!n||"object"!=typeof n)return!1;let s=Object.getPrototy...
function Re (line 454) | function Re(n,s){let a={},p=Object.keys(n);for(let c=0;c<p.length;c++){l...
function K (line 454) | function K(n){return Rr.some((s=>s===n))}
function at (line 454) | function at(n){return!!n.__docgenInfo}
function it (line 454) | function it(n){return null!=n&&Object.keys(n).length>0}
function pt (line 454) | function pt(n,s){return at(n)?n.__docgenInfo[s]:null}
function ct (line 454) | function ct(n){return at(n)?st(n.__docgenInfo.description):""}
function je (line 454) | function je(n){return/^\s+$/.test(n)}
function lt (line 454) | function lt(n){let s=n.match(/\r+$/);return null==s?["",n]:[n.slice(-s[0...
function A (line 454) | function A(n){let s=n.match(/^\s+/);return null==s?["",n]:[n.slice(0,s[0...
function ut (line 454) | function ut(n){return n.split(/\n/)}
function mt (line 454) | function mt(n={}){return Object.assign({tag:"",name:"",type:"",optional:...
function Fe (line 454) | function Fe(n={}){return Object.assign({start:"",delimiter:"",postDelimi...
function _e (line 454) | function _e({fence:n="```"}={}){let s=Fr(n),a=r(((p,c)=>s(p)?!c:c),"togg...
function Fr (line 454) | function Fr(n){return"string"==typeof n?s=>s.split(n).length%2==0:n}
function Ve (line 454) | function Ve({startLine:n=0,markers:s=v}={}){let a=null,p=n;return r((fun...
function Le (line 454) | function Le({tokenizers:n}){return r((function(a){var p;let c=mt({source...
function ce (line 454) | function ce(){return n=>{let{tokens:s}=n.source[0],a=s.description.match...
function le (line 454) | function le(n="compact"){let s=Vr(n);return a=>{let p=0,c=[];for(let[T,{...
function Vr (line 454) | function Vr(n){return"compact"===n?s=>s.map(_r).join(""):"preserve"===n?...
function ue (line 454) | function ue(){let n=r(((s,{tokens:a},p)=>""===a.type?s:p),"typeEnd");ret...
function me (line 454) | function me(n="compact",s=v){let a=Ue(n);return p=>(p.description=a(p.so...
function Ue (line 454) | function Ue(n){return"compact"===n?Ur:"preserve"===n?Mr:n}
function Ur (line 454) | function Ur(n,s=v){return n.map((({tokens:{description:a}})=>a.trim()))....
function Mr (line 454) | function Mr(n,s=v){if(0===n.length)return"";""===n[0].tokens.description...
function Be (line 454) | function Be({startLine:n=0,fence:s="```",spacing:a="compact",markers:p=v...
function Kr (line 454) | function Kr(n){return n.start+n.delimiter+n.postDelimiter+n.tag+n.postTa...
function Ce (line 454) | function Ce(){return n=>n.source.map((({tokens:s})=>Kr(s))).join("\n")}
function ft (line 454) | function ft(n,s={}){return Be(s)(n)}
function qr (line 454) | function qr(n){return null!=n&&n.includes("@")}
function Yr (line 454) | function Yr(n){let c=ft("/**\n"+(n??"").split("\n").map((u=>` * ${u}`))....
function Gr (line 454) | function Gr(n,s){let a={params:null,deprecated:null,returns:null,ignore:...
function Xr (line 454) | function Xr(n){return n.replace(/[\.-]$/,"")}
function zr (line 454) | function zr(n){if(!n.name||"-"===n.name)return null;let s=ht(n.type);ret...
function Hr (line 454) | function Hr(n){return n.name?gt(n.name,n.description):null}
function gt (line 454) | function gt(n,s){return xt(""===n?s:`${n} ${s}`)}
function xt (line 454) | function xt(n){let s=n.replace(/^- /g,"").trim();return""===s?null:s}
function Qr (line 454) | function Qr(n){let s=ht(n.type);return s?{type:s,description:gt(n.name,n...
function ht (line 454) | function ht(n){try{return(0,$.parse)(n,"typescript")}catch{return null}}
function Jt (line 454) | function Jt(n){return(0,$.transform)(_,n)}
function Ke (line 454) | function Ke(n){return n.length>90}
function wt (line 454) | function wt(n){return n.length>50}
function w (line 454) | function w(n,s){return n===s?{summary:n}:{summary:n,detail:s}}
function Pt (line 454) | function Pt(n,s){if(null!=n){let{value:a}=n;if(!K(a))return wt(a)?w(s?.n...
function bt (line 454) | function bt({name:n,value:s,elements:a,raw:p}){return s??(null!=a?a.map(...
function en (line 454) | function en({name:n,raw:s,elements:a}){return w(null!=a?a.map(bt).join("...
function tn (line 454) | function tn({type:n,raw:s}){return w(null!=s?s:n)}
function rn (line 454) | function rn({type:n,raw:s}){return null!=s?Ke(s)?w(n,s):w(s):w(n)}
function nn (line 454) | function nn(n){let{type:s}=n;return"object"===s?rn(n):tn(n)}
function on (line 454) | function on({name:n,raw:s}){return null!=s?Ke(s)?w(n,s):w(s):w(n)}
function St (line 454) | function St(n){if(null==n)return null;switch(n.name){case"union":return ...
function Nt (line 454) | function Nt({defaultValue:n}){if(null!=n){let{value:s}=n;if(!K(s))return...
function Dt (line 454) | function Dt({tsType:n,required:s}){if(null==n)return null;let a=n.name;r...
function sn (line 454) | function sn(n){return null!=n?w(n.name):null}
function an (line 454) | function an(n){let{computed:s,func:a}=n;return typeof s>"u"&&typeof a>"u"}
function pn (line 454) | function pn(n){return!!n&&("string"===n.name||"enum"===n.name&&(Array.is...
function cn (line 454) | function cn(n,s){if(null!=n){let{value:a}=n;if(!K(a))return an(n)&&pn(s)...
function vt (line 454) | function vt(n,s,a){let{description:p,required:c,defaultValue:u}=a;return...
function ye (line 454) | function ye(n,s){if(s?.includesJsDoc){let{description:a,extractedTags:p}...
function At (line 454) | function At(n,s,a,p){let c=Tt(s.description);return c.includesJsDoc&&c.i...
function ia (line 454) | function ia(n){return null!=n?ct(n):""}
function A (line 454) | function A(g){return"string"==typeof g||"function"==typeof g||g===n||g==...
function S (line 454) | function S(g){if("object"==typeof g&&null!==g){var ar=g.$$typeof;switch(...
function fn (line 454) | function fn(g){return Lr||(Lr=!0,console.warn("The ReactIs.isAsyncMode()...
function zr (line 454) | function zr(g){return S(g)===p}
function cn (line 454) | function cn(g){return S(g)===u}
function ln (line 454) | function ln(g){return S(g)===s}
function pn (line 454) | function pn(g){return"object"==typeof g&&null!==g&&g.$$typeof===r}
function dn (line 454) | function dn(g){return S(g)===c}
function mn (line 454) | function mn(g){return S(g)===n}
function hn (line 454) | function hn(g){return S(g)===b}
function gn (line 454) | function gn(g){return S(g)===x}
function bn (line 454) | function bn(g){return S(g)===t}
function vn (line 454) | function vn(g){return S(g)===i}
function yn (line 454) | function yn(g){return S(g)===a}
function xn (line 454) | function xn(g){return S(g)===l}
function it (line 454) | function it(e){return pr.isMemo(e)?ft:dr[e.$$typeof]||Bn}
function ct (line 454) | function ct(e,r,t){if("string"!=typeof r){if(ut){var n=Un(r);n&&n!==ut&&...
function u (line 454) | function u(c,l){if(!i[c]){if(!a[c]){var m="function"==typeof Oe&&Oe;if(!...
function s (line 454) | function s(){return this.list=[],this.lastItem=void 0,this.size=0,this}
function u (line 454) | function u(c,l){var b,d,v,m=c.length,x=l.length;for(d=0;d<m;d++){for(b=!...
function f (line 454) | function f(c){var x,b,l=c.length,m=c[l-1];for(m.cacheItem.delete(m.arg),...
function p (line 454) | function p(c,l){return c===l||c!=c&&l!=l}
function I (line 454) | function I(){return I=Object.assign?Object.assign.bind():function(e){for...
function An (line 454) | function An(e){if(e.sheet)return e.sheet;for(var r=0;r<document.styleShe...
function Fn (line 454) | function Fn(e){var r=document.createElement("style");return r.setAttribu...
function e (line 454) | function e(t){var n=this;this._insertTag=function(a){var i;i=0===n.tags....
function jr (line 454) | function jr(e,r){return 45^_(e,0)?(((r<<2^_(e,0))<<2^_(e,1))<<2^_(e,2))<...
function He (line 454) | function He(e){return e.trim()}
function sr (line 454) | function sr(e,r){return(e=r.exec(e))?e[0]:e}
function E (line 454) | function E(e,r,t){return e.replace(r,t)}
function Ae (line 454) | function Ae(e,r){return e.indexOf(r)}
function _ (line 454) | function _(e,r){return 0|e.charCodeAt(r)}
function q (line 454) | function q(e,r,t){return e.slice(r,t)}
function M (line 454) | function M(e){return e.length}
function pe (line 454) | function pe(e){return e.length}
function de (line 454) | function de(e,r){return r.push(e),e}
function ur (line 454) | function ur(e,r){return e.map(r).join("")}
function Fe (line 454) | function Fe(e,r,t,n,a,i,s){return{value:e,root:r,parent:t,type:n,props:a...
function be (line 454) | function be(e,r){return $r(Fe("",null,null,"",null,null,0),e,{length:-e....
function Wr (line 454) | function Wr(){return P}
function Ur (line 454) | function Ur(){return P=k>0?_(ge,--k):0,me--,10===P&&(me=1,We--),P}
function N (line 454) | function N(){return P=k<Hr?_(ge,k++):0,me++,10===P&&(me=1,We++),P}
function $ (line 454) | function $(){return _(ge,k)}
function _e (line 454) | function _e(){return k}
function ve (line 454) | function ve(e,r){return q(ge,e,r)}
function he (line 454) | function he(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;...
function Ue (line 454) | function Ue(e){return We=me=1,Hr=M(ge=e),k=0,[]}
function Ve (line 454) | function Ve(e){return ge="",e}
function ye (line 454) | function ye(e){return He(ve(k-1,fr(91===e?e+2:40===e?e+1:e)))}
function Vr (line 454) | function Vr(e){for(;(P=$())&&P<33;)N();return he(e)>2||he(P)>3?"":" "}
function Gr (line 454) | function Gr(e,r){for(;--r&&N()&&!(P<48||P>102||P>57&&P<65||P>70&&P<97);)...
function fr (line 454) | function fr(e){for(;N();)switch(P){case e:return k;case 34:case 39:34!==...
function Yr (line 454) | function Yr(e,r){for(;N()&&e+P!==57&&(e+P!==84||47!==$()););return"/*"+v...
function qr (line 454) | function qr(e){for(;!he($());)N();return ve(e,k)}
function Xr (line 454) | function Xr(e){return Ve(Ge("",null,null,null,[""],e=Ue(e),0,[0],e))}
function Ge (line 454) | function Ge(e,r,t,n,a,i,s,u,f){for(var p=0,c=0,l=s,m=0,x=0,b=0,d=1,v=1,y...
function Jr (line 454) | function Jr(e,r,t,n,a,i,s,u,f,p,c){for(var l=a-1,m=0===a?i:[""],x=pe(m),...
function _n (line 454) | function _n(e,r,t){return Fe(e,r,t,"comm",ee(Wr()),q(e,2,-2),0)}
function Kr (line 454) | function Kr(e,r,t,n){return Fe(e,r,t,le,q(e,0,n),q(e,n+1,-1),n)}
function re (line 454) | function re(e,r){for(var t="",n=pe(e),a=0;a<n;a++)t+=r(e[a],a,e,r)||"";r...
function Zr (line 454) | function Zr(e,r,t,n){switch(e.type){case"@layer":if(e.children.length)br...
function Qr (line 454) | function Qr(e){var r=pe(e);return function(t,n,a,i){for(var s="",u=0;u<r...
function et (line 454) | function et(e){return function(r){r.root||(r=r.return)&&e(r)}}
function Ye (line 454) | function Ye(e){var r=Object.create(null);return function(t){return void ...
function tt (line 454) | function tt(e,r){switch(jr(e,r)){case 5103:return C+"print-"+e+e;case 57...
function xe (line 454) | function xe(e,r,t){var n="";return t.split(" ").forEach((function(a){voi...
function mt (line 454) | function mt(e){for(var t,r=0,n=0,a=e.length;a>=4;++n,a-=4)t=1540483477*(...
function Ie (line 454) | function Ie(e,r,t){if(null==t)return"";var n=t;if(void 0!==n.__emotion_s...
function Kn (line 454) | function Kn(e,r,t){var n="";if(Array.isArray(t))for(var a=0;a<t.length;a...
function J (line 454) | function J(e,r,t){if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&v...
function Le (line 454) | function Le(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]...
function Ee (line 454) | function Ee(){var e=Le.apply(void 0,arguments),r="animation-"+e.name;ret...
function ia (line 454) | function ia(e,r,t){var n=[],a=xe(e,n,t);return n.length<2?t:a+r(n)}
function It (line 454) | function It(e){if(void 0===e)throw new ReferenceError("this hasn't been ...
function X (line 454) | function X(e,r){return(X=Object.setPrototypeOf?Object.setPrototypeOf.bin...
function Pt (line 454) | function Pt(e,r){e.prototype=Object.create(r.prototype),e.prototype.cons...
function Ke (line 454) | function Ke(e){return Ke=Object.setPrototypeOf?Object.getPrototypeOf.bin...
function Lt (line 454) | function Lt(e){try{return-1!==Function.toString.call(e).indexOf("[native...
function wr (line 454) | function wr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construc...
function zt (line 454) | function zt(e,r,t){if(wr())return Reflect.construct.apply(null,arguments...
function Xe (line 454) | function Xe(e){var r="function"==typeof Map?new Map:void 0;return Xe=o((...
function ga (line 454) | function ga(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]...
function r (line 454) | function r(t){for(var a=arguments.length,i=new Array(a>1?a-1:0),s=1;s<a;...
function Mt (line 454) | function Mt(e,r){return e.substr(-r.length)===r}
function kt (line 454) | function kt(e){return"string"!=typeof e?e:e.match(ba)?parseFloat(e):e}
function Er (line 454) | function Er(e){return Math.round(255*e)}
function ya (line 454) | function ya(e,r,t){return Er(e)+","+Er(r)+","+Er(t)}
function ze (line 454) | function ze(e,r,t,n){if(void 0===n&&(n=ya),0===r)return n(t,t,t);var a=(...
function xa (line 454) | function xa(e){if("string"!=typeof e)return e;var r=e.toLowerCase();retu...
function Se (line 454) | function Se(e){if("string"!=typeof e)throw new B(3);var r=xa(e);if(r.mat...
function Aa (line 454) | function Aa(e){var r=e.red/255,t=e.green/255,n=e.blue/255,a=Math.max(r,t...
function Z (line 454) | function Z(e){return Aa(Se(e))}
function oe (line 454) | function oe(e){var r=e.toString(16);return 1===r.length?"0"+r:r}
function Tr (line 454) | function Tr(e){return oe(Math.round(255*e))}
function _a (line 454) | function _a(e,r,t){return Cr("#"+Tr(e)+Tr(r)+Tr(t))}
function Ze (line 454) | function Ze(e,r,t){return ze(e,r,t,_a)}
function Ia (line 454) | function Ia(e,r,t){if("number"==typeof e&&"number"==typeof r&&"number"==...
function Pa (line 454) | function Pa(e,r,t,n){if("number"==typeof e&&"number"==typeof r&&"number"...
function Or (line 454) | function Or(e,r,t){if("number"==typeof e&&"number"==typeof r&&"number"==...
function ie (line 454) | function ie(e,r,t,n){if("string"==typeof e&&"number"==typeof r){var a=Se...
function Q (line 454) | function Q(e){if("object"!=typeof e)throw new B(8);if(za(e))return ie(e)...
function Dt (line 454) | function Dt(e,r,t){return o((function(){var a=t.concat(Array.prototype.s...
function D (line 454) | function D(e){return Dt(e,e.length,[])}
function Na (line 454) | function Na(e,r){if("transparent"===r)return r;var t=Z(r);return Q(I({},...
function Te (line 454) | function Te(e,r,t){return Math.max(e,Math.min(r,t))}
function Ba (line 454) | function Ba(e,r){if("transparent"===r)return r;var t=Z(r);return Q(I({},...
function $a (line 454) | function $a(e,r){if("transparent"===r)return r;var t=Z(r);return Q(I({},...
function ja (line 454) | function ja(e,r){if("transparent"===r)return r;var t=Z(r);return Q(I({},...
function Wa (line 454) | function Wa(e,r,t){if("transparent"===r)return t;if("transparent"===t)re...
function Va (line 454) | function Va(e,r){if("transparent"===r)return r;var t=Se(r);return ie(I({...
function Ya (line 454) | function Ya(e,r){if("transparent"===r)return r;var t=Z(r);return Q(I({},...
function qa (line 454) | function qa(e,r){return"transparent"===r?r:Q(I({},Z(r),{hue:parseFloat(e...
function Ja (line 454) | function Ja(e,r){return"transparent"===r?r:Q(I({},Z(r),{lightness:parseF...
function Ka (line 454) | function Ka(e,r){return"transparent"===r?r:Q(I({},Z(r),{saturation:parse...
function Xa (line 454) | function Xa(e,r){return"transparent"===r?r:Ht(parseFloat(e),"rgb(0, 0, 0...
function Za (line 454) | function Za(e,r){return"transparent"===r?r:Ht(parseFloat(e),"rgb(255, 25...
function Qa (line 454) | function Qa(e,r){if("transparent"===r)return r;var t=Se(r);return ie(I({...
function an (line 488) | function an(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[...
function getIndexByIdentifier (line 492) | function getIndexByIdentifier(identifier){for(var result=-1,i=0;i<styles...
function modulesToDom (line 492) | function modulesToDom(list,options){for(var idCountMap={},identifiers=[]...
function addElementStyle (line 492) | function addElementStyle(obj,options){var api=options.domAPI(options);ap...
FILE: docs/animatedTree-stories.fcd27f04.iframe.bundle.js
function _extends (line 1) | function _extends(){return _extends=Object.assign?Object.assign.bind():f...
function Animated (line 1) | function Animated(props){const initialX=props.nodes[0].x,initialY=props....
function animatedTree_extends (line 1) | function animatedTree_extends(){return animatedTree_extends=Object.assig...
function AnimatedTree (line 1) | function AnimatedTree(props){const propsWithDefaults={direction:"ltr",du...
function animatedTree_stories_extends (line 1) | function animatedTree_stories_extends(){return animatedTree_stories_exte...
FILE: docs/intro-mdx.158e5140.iframe.bundle.js
function _createMdxContent (line 1) | function _createMdxContent(props){const _components={a:"a",code:"code",h...
function MDXContent (line 1) | function MDXContent(props={}){const{wrapper:MDXLayout}={...(0,C_Git_reac...
function useMDXComponents (line 1) | function useMDXComponents(components){const contextComponents=react__WEB...
function MDXProvider (line 1) | function MDXProvider(properties){let allComponents;return allComponents=...
FILE: docs/labels-stories.c283c343.iframe.bundle.js
function _extends (line 1) | function _extends(){return _extends=Object.assign?Object.assign.bind():f...
function Tree (line 1) | function Tree(props){const propsWithDefaults={direction:"ltr",getChildre...
FILE: docs/main.539c4757.iframe.bundle.js
function webpackAsyncContext (line 1) | function webpackAsyncContext(req){if(!__webpack_require__.o(map,req))ret...
function webpackEmptyContext (line 1) | function webpackEmptyContext(req){var e=new Error("Cannot find module '"...
function webpackEmptyContext (line 1) | function webpackEmptyContext(req){var e=new Error("Cannot find module '"...
function webpackEmptyContext (line 1) | function webpackEmptyContext(req){var e=new Error("Cannot find module '"...
FILE: docs/mocker-runtime-injected.js
method constructor (line 2) | constructor(){__publicField(this,"registryByUrl",new Map),__publicField(...
method clear (line 2) | clear(){this.registryByUrl.clear(),this.registryById.clear()}
method keys (line 2) | keys(){return this.registryByUrl.keys()}
method add (line 2) | add(mock){this.registryByUrl.set(mock.url,mock),this.registryById.set(mo...
method register (line 2) | register(typeOrEvent,raw,id,url,factoryOrRedirect){const type="object"==...
method delete (line 2) | delete(id){this.registryByUrl.delete(id)}
method get (line 2) | get(id){return this.registryByUrl.get(id)}
method getById (line 2) | getById(id){return this.registryById.get(id)}
method has (line 2) | has(id){return this.registryByUrl.has(id)}
method constructor (line 2) | constructor(raw,id,url){__publicField(this,"type","automock"),this.raw=r...
method fromJSON (line 2) | static fromJSON(data){return new AutospiedModule(data.raw,data.id,data.u...
method toJSON (line 2) | toJSON(){return{type:this.type,url:this.url,raw:this.raw,id:this.id}}
method constructor (line 2) | constructor(raw,id,url){__publicField(this,"type","autospy"),this.raw=ra...
method fromJSON (line 2) | static fromJSON(data){return new _AutospiedModule(data.raw,data.id,data....
method toJSON (line 2) | toJSON(){return{type:this.type,url:this.url,id:this.id,raw:this.raw}}
method constructor (line 2) | constructor(raw,id,url,redirect){__publicField(this,"type","redirect"),t...
method fromJSON (line 2) | static fromJSON(data){return new _RedirectedModule(data.raw,data.id,data...
method toJSON (line 2) | toJSON(){return{type:this.type,url:this.url,raw:this.raw,id:this.id,redi...
method constructor (line 2) | constructor(raw,id,url,factory){__publicField(this,"cache"),__publicFiel...
method resolve (line 2) | async resolve(){if(this.cache)return this.cache;let exports;try{exports=...
method fromJSON (line 2) | static fromJSON(data,factory){return new _ManualMockedModule(data.raw,da...
method toJSON (line 2) | toJSON(){return{type:this.type,url:this.url,id:this.id,raw:this.raw}}
function mockObject (line 2) | function mockObject(options,object,mockExports={}){const finalizers=new ...
method constructor (line 2) | constructor(){__publicField(this,"idMap",new Map),__publicField(this,"mo...
method getId (line 2) | getId(value){return this.idMap.get(value)}
method getMockedValue (line 2) | getMockedValue(id){return this.mockedValueMap.get(id)}
method track (line 2) | track(originalValue,mockedValue){const newId=this.idMap.size;return this...
function getType (line 2) | function getType(value){return Object.prototype.toString.apply(value).sl...
function isSpecialProp (line 2) | function isSpecialProp(prop,parentType){return parentType.includes("Func...
function getAllMockableProperties (line 2) | function getAllMockableProperties(obj,isModule,constructors){const{Map:M...
function collectOwnProperties (line 2) | function collectOwnProperties(obj,collector){const collect="function"==t...
function normalizeWindowsPath (line 2) | function normalizeWindowsPath(input=""){return input?input.replace(/\\/g...
function normalizeString (line 2) | function normalizeString(path,allowAboveRoot){let res="",lastSegmentLeng...
function a (line 2) | function a(n){return String(n)}
function C (line 2) | function C(n=!1){let e="undefined"!=typeof process?process:void 0,i=(nul...
function p (line 2) | function p(n=!1){let e=C(n),g=(r,t,c=r)=>{let o=l=>{let s=String(l),b=s....
function _mergeNamespaces (line 2) | function _mergeNamespaces(n,m){return m.forEach((function(e){e&&"string"...
function getDefaultExportFromCjs (line 2) | function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.proto...
function requireReactIs_development$1 (line 2) | function requireReactIs_development$1(){return hasRequiredReactIs_develo...
function requireReactIs$1 (line 2) | function requireReactIs$1(){return hasRequiredReactIs$1||(hasRequiredRea...
function requireReactIs_development (line 2) | function requireReactIs_development(){return hasRequiredReactIs_developm...
function requireReactIs (line 2) | function requireReactIs(){return hasRequiredReactIs||(hasRequiredReactIs...
function createSimpleStackTrace (line 2) | function createSimpleStackTrace(options){const{message="$$stack trace er...
function requireJsTokens (line 2) | function requireJsTokens(){return hasRequiredJsTokens?jsTokens_1:(hasReq...
function normalizeWindowsPath2 (line 2) | function normalizeWindowsPath2(input=""){return input?input.replace(/\\/...
function cwd (line 2) | function cwd(){return"undefined"!=typeof process&&"function"==typeof pro...
function normalizeString2 (line 2) | function normalizeString2(path,allowAboveRoot){let res="",lastSegmentLen...
function extractLocation (line 2) | function extractLocation(urlLike){if(!urlLike.includes(":"))return[urlLi...
function parseSingleFFOrSafariStack (line 2) | function parseSingleFFOrSafariStack(raw){let line=raw.trim();if(SAFARI_N...
function parseSingleStack (line 2) | function parseSingleStack(raw){const line=raw.trim();return CHROME_IE_ST...
function parseSingleV8Stack (line 2) | function parseSingleV8Stack(raw){let line=raw.trim();if(!CHROME_IE_STACK...
function createCompilerHints (line 2) | function createCompilerHints(options){const globalThisAccessor=(null==op...
function getImporter (line 2) | function getImporter(name){const stackArray=createSimpleStackTrace({stac...
function warn (line 2) | function warn(){console.warn("Vitest mocker cannot work if Vite didn't e...
method constructor (line 2) | constructor(interceptor,rpc2,spyOn,config){__publicField(this,"registry"...
method prepare (line 2) | async prepare(){this.queue.size&&await Promise.all([...this.queue.values...
method resolveFactoryModule (line 2) | async resolveFactoryModule(id){const mock=this.registry.get(id);if(!mock...
method getFactoryModule (line 2) | getFactoryModule(id){const mock=this.registry.get(id);if(!mock||"manual"...
method invalidate (line 2) | async invalidate(){const ids=Array.from(this.mockedIds);ids.length&&(awa...
method importActual (line 2) | async importActual(id,importer){const resolved=await this.rpc.resolveId(...
method importMock (line 2) | async importMock(rawId,importer){await this.prepare();const{resolvedId,r...
method mockObject (line 2) | mockObject(object,moduleType="automock"){return mockObject({globalConstr...
method queueMock (line 2) | queueMock(rawId,importer,factoryOrOptions){const promise=this.rpc.resolv...
method queueUnmock (line 2) | queueUnmock(id,importer){const promise=this.rpc.resolveId(id,importer).t...
method wrapDynamicImport (line 2) | wrapDynamicImport(moduleFactory){if("function"==typeof moduleFactory){re...
method resolveMockPath (line 2) | resolveMockPath(path){const config=this.config,fsRoot=join("/@fs/",confi...
function cleanVersion (line 2) | function cleanVersion(url){return url.replace(versionRegexp,"")}
method constructor (line 2) | constructor(){__publicField(this,"mocks",new MockerRegistry)}
method register (line 2) | async register(module){this.mocks.add(module)}
method delete (line 2) | async delete(url){this.mocks.delete(url)}
method invalidate (line 2) | async invalidate(){this.mocks.clear()}
method queueMock (line 2) | queueMock(){}
function registerModuleMocker (line 2) | function registerModuleMocker(interceptor){const mocker=new BuildModuleM...
FILE: docs/nodes-stories.e7851c9e.iframe.bundle.js
function _extends (line 1) | function _extends(){return _extends=Object.assign?Object.assign.bind():f...
function Tree (line 1) | function Tree(props){const propsWithDefaults={direction:"ltr",getChildre...
FILE: docs/runtime~main.d380d272.iframe.bundle.js
function __webpack_require__ (line 1) | function __webpack_require__(moduleId){var cachedModule=__webpack_module...
FILE: docs/sb-addons/docs-1/manager-bundle.js
function d (line 2) | function d(){return d=Object.assign?Object.assign.bind():function(e){for...
function de (line 2) | function de(e){if(e===void 0)throw new ReferenceError("this hasn't been ...
function C (line 2) | function C(e,t){return C=Object.setPrototypeOf?Object.setPrototypeOf.bin...
function fe (line 2) | function fe(e,t){e.prototype=Object.create(t.prototype),e.prototype.cons...
function L (line 2) | function L(e){return L=Object.setPrototypeOf?Object.getPrototypeOf.bind(...
function ce (line 2) | function ce(e){try{return Function.toString.call(e).indexOf("[native cod...
function oe (line 2) | function oe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construc...
function me (line 2) | function me(e,t,r){if(oe())return Reflect.construct.apply(null,arguments...
function D (line 2) | function D(e){var t=typeof Map=="function"?new Map:void 0;return D=funct...
function be (line 150) | function be(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]...
function t (line 150) | function t(r){for(var a,n=arguments.length,o=new Array(n>1?n-1:0),s=1;s<...
function M (line 150) | function M(e){return Math.round(e*255)}
function ge (line 150) | function ge(e,t,r){return M(e)+","+M(t)+","+M(r)}
function E (line 150) | function E(e,t,r,a){if(a===void 0&&(a=ge),t===0)return a(r,r,r);var n=(e...
function ye (line 150) | function ye(e){if(typeof e!="string")return e;var t=e.toLowerCase();retu...
function S (line 150) | function S(e){if(typeof e!="string")throw new b(3);var t=ye(e);if(t.matc...
function ke (line 150) | function ke(e){var t=e.red/255,r=e.green/255,a=e.blue/255,n=Math.max(t,r...
function g (line 150) | function g(e){return ke(S(e))}
function v (line 150) | function v(e){var t=e.toString(16);return t.length===1?"0"+t:t}
function N (line 150) | function N(e){return v(Math.round(e*255))}
function Ee (line 150) | function Ee(e,t,r){return $("#"+N(e)+N(t)+N(r))}
function O (line 150) | function O(e,t,r){return E(e,t,r,Ee)}
function Re (line 150) | function Re(e,t,r){if(typeof e=="number"&&typeof t=="number"&&typeof r==...
function Ie (line 150) | function Ie(e,t,r,a){if(typeof e=="number"&&typeof t=="number"&&typeof r...
function q (line 150) | function q(e,t,r){if(typeof e=="number"&&typeof t=="number"&&typeof r=="...
function F (line 150) | function F(e,t,r,a){if(typeof e=="string"&&typeof t=="number"){var n=S(e...
function y (line 150) | function y(e){if(typeof e!="object")throw new b(8);if(Fe(e))return F(e);...
function se (line 150) | function se(e,t,r){return function(){var a=r.concat(Array.prototype.slic...
function c (line 150) | function c(e){return se(e,e.length,[])}
function ze (line 150) | function ze(e,t){if(t==="transparent")return t;var r=g(t);return y(d({},...
function T (line 150) | function T(e,t,r){return Math.max(e,Math.min(t,r))}
function Ae (line 150) | function Ae(e,t){if(t==="transparent")return t;var r=g(t);return y(d({},...
function Me (line 150) | function Me(e,t){if(t==="transparent")return t;var r=g(t);return y(d({},...
function Be (line 150) | function Be(e,t){if(t==="transparent")return t;var r=g(t);return y(d({},...
function Ne (line 150) | function Ne(e,t,r){if(t==="transparent")return r;if(r==="transparent")re...
function De (line 150) | function De(e,t){if(t==="transparent")return t;var r=S(t),a=typeof r.alp...
function $e (line 150) | function $e(e,t){if(t==="transparent")return t;var r=g(t);return y(d({},...
function qe (line 150) | function qe(e,t){return t==="transparent"?t:y(d({},g(t),{hue:parseFloat(...
function We (line 150) | function We(e,t){return t==="transparent"?t:y(d({},g(t),{lightness:parse...
function Ye (line 150) | function Ye(e,t){return t==="transparent"?t:y(d({},g(t),{saturation:pars...
function Ge (line 150) | function Ge(e,t){return t==="transparent"?t:ie(parseFloat(e),"rgb(0, 0, ...
function Ke (line 150) | function Ke(e,t){return t==="transparent"?t:ie(parseFloat(e),"rgb(255, 2...
function Ue (line 150) | function Ue(e,t){if(t==="transparent")return t;var r=S(t),a=typeof r.alp...
FILE: docs/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js
function ke (line 2) | function ke(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[...
function Li (line 7) | function Li({code:e,category:t}){let r=String(e).padStart(4,"0");return`...
function ji (line 7) | function ji(e){if(/^(?!.*storybook\.js\.org)|[?&]ref=error\b/.test(e))re...
method constructor (line 7) | constructor(t){super(Ad.getFullMessage(t)),this.data={},this.fromStorybo...
method fullErrorCode (line 7) | get fullErrorCode(){return Li({code:this.code,category:this.category})}
method name (line 7) | get name(){let t=this.constructor.name;return`${this.fullErrorCode} (${t...
method getFullMessage (line 7) | static getFullMessage({documentation:t,code:r,category:n,message:o}){let...
method constructor (line 12) | constructor(t){super({category:"PREVIEW_API",code:1,message:ke`
method constructor (line 18) | constructor(t){super({category:"PREVIEW_API",code:2,documentation:"https...
method constructor (line 28) | constructor(){super({category:"PREVIEW_API",code:3,message:ke`
method constructor (line 31) | constructor(){super({category:"PREVIEW_API",code:4,message:ke`
method constructor (line 34) | constructor(t){super({category:"PREVIEW_API",code:5,message:ke`
method constructor (line 41) | constructor(t){super({category:"PREVIEW_API",code:6,message:ke`
method constructor (line 50) | constructor(t){super({category:"PREVIEW_API",code:7,message:ke`
method constructor (line 55) | constructor(){super({category:"PREVIEW_API",code:8,message:ke`
method constructor (line 59) | constructor(t){super({category:"PREVIEW_API",code:9,message:ke`
method constructor (line 64) | constructor(t){super({category:"PREVIEW_API",code:10,message:ke`
method constructor (line 72) | constructor(){super({category:"PREVIEW_API",code:11,message:ke`
method constructor (line 76) | constructor(t){super({category:"PREVIEW_API",code:12,message:ke`
method constructor (line 93) | constructor(t){super({category:"PREVIEW_API",code:14,message:ke`
method constructor (line 95) | constructor(){super({category:"PREVIEW_API",code:15,message:ke`
method constructor (line 110) | constructor(t){super({category:"PREVIEW_API",code:16,message:`Status has...
method constructor (line 110) | constructor(){super({category:"FRAMEWORK_NEXTJS",code:1,documentation:"h...
method constructor (line 114) | constructor(t){super({category:"FRAMEWORK_NEXTJS",code:2,message:ke`
method constructor (line 116) | constructor(t){super({category:"DOCS-TOOLS",code:1,documentation:"https:...
method constructor (line 124) | constructor(t){super({category:"ADDON_VITEST",code:1,message:ke`
method constructor (line 131) | constructor(){super({category:"ADDON_A11Y",code:1,documentation:"https:/...
function u (line 131) | function u(p,f){if(!s[p]){if(!i[p]){var g=typeof jo=="function"&&jo;if(!...
function l (line 131) | function l(){return this.list=[],this.lastItem=void 0,this.size=0,this}
function u (line 131) | function u(p,f){var g=p.length,y=f.length,E,b,x;for(b=0;b<g;b++){for(E=!...
function d (line 131) | function d(p){var f=p.length,g=p[f-1],y,E;for(g.cacheItem.delete(g.arg),...
function m (line 131) | function m(p,f){return p===f||p!==p&&f!==f}
function n (line 131) | function n(o){let a=o.length;if(a===0)return"";let i="",s=0,l=0;e:for(;l...
function n (line 131) | function n(m){return m==="__proto__"||m==="constructor"||m==="prototype"}
function o (line 131) | function o(m,p,f,g,y){if(n(p))return m;let E=m[p];return typeof E=="obje...
function d (line 131) | function d(m,p,f=0,g,y){let{nestingSyntax:E=t.defaultOptions.nestingSynt...
function a (line 131) | function a(l){var u=l.indexOf("%");if(u===-1)return l;for(var d=l.length...
function s (line 131) | function s(l,u){var d=i[l];return d===void 0?255:d<<u}
function u (line 131) | function u(m,p,f,g,y){let E=m.substring(p,f);return g&&(E=E.replace(s," ...
function d (line 131) | function d(m,p){let{valueDeserializer:f=n.defaultOptions.valueDeserializ...
function r (line 131) | function r(n,o){if(n===null||typeof n!="object")return"";let a=o??{};ret...
function o (line 132) | function o(a){return a>=55296&&a<=57343||a>1114111?"\uFFFD":(a in r.defa...
function s (line 132) | function s(d){var m=u(d);return function(p){return String(p).replace(i,m)}}
function E (line 132) | function E(b){return b.substr(-1)!==";"&&(b+=";"),y(b)}
function u (line 132) | function u(d){return w(function(m){if(m.charAt(1)==="#"){var p=m.charAt(...
function l (line 132) | function l(x){return Object.keys(x).sort().reduce(function(S,T){return S...
function u (line 132) | function u(x){for(var S=[],T=[],_=0,O=Object.keys(x);_<O.length;_++){var...
function p (line 132) | function p(x){return"&#x"+(x.length>1?m(x):x.charCodeAt(0)).toString(16)...
function f (line 132) | function f(x,S){return function(T){return T.replace(S,function(_){return...
function y (line 132) | function y(x){return x.replace(g,p)}
function E (line 132) | function E(x){return x.replace(o,p)}
function b (line 132) | function b(x){return function(S){return S.replace(g,function(T){return x...
function n (line 132) | function n(l,u){return(!u||u<=0?t.decodeXML:t.decodeHTML)(l)}
function o (line 132) | function o(l,u){return(!u||u<=0?t.decodeXML:t.decodeHTMLStrict)(l)}
function a (line 132) | function a(l,u){return(!u||u<=0?r.encodeXML:r.encodeHTML)(l)}
function r (line 132) | function r(v,A){if(!(v instanceof A))throw new TypeError("Cannot call a ...
function n (line 132) | function n(v,A){for(var D=0;D<A.length;D++){var N=A[D];N.enumerable=N.en...
function o (line 132) | function o(v,A,D){return A&&n(v.prototype,A),D&&n(v,D),v}
function a (line 132) | function a(v,A){var D=typeof Symbol<"u"&&v[Symbol.iterator]||v["@@iterat...
function i (line 133) | function i(v,A){if(v){if(typeof v=="string")return s(v,A);var D=Object.p...
function s (line 133) | function s(v,A){(A==null||A>v.length)&&(A=v.length);for(var D=0,N=new Ar...
function d (line 133) | function d(){var v={0:"#000",1:"#A00",2:"#0A0",3:"#A50",4:"#00A",5:"#A0A...
function m (line 133) | function m(v,A,D,N){var F=16+v*36+A*6+D,M=v>0?v*40+55:0,q=A>0?A*40+55:0,...
function p (line 133) | function p(v){for(var A=v.toString(16);A.length<2;)A="0"+A;return A}
function f (line 133) | function f(v){var A=[],D=a(v),N;try{for(D.s();!(N=D.n()).done;){var F=N....
function g (line 133) | function g(v,A,D,N){var F;return A==="text"?F=_(D,N):A==="display"?F=E(v...
function y (line 133) | function y(v,A){A=A.substring(2).slice(0,-1);var D=+A.substr(0,2),N=A.su...
function E (line 133) | function E(v,A,D){A=parseInt(A,10);var N={"-1":w(function(){return"<br/>...
function b (line 133) | function b(v){var A=v.slice(0);return v.length=0,A.reverse().map(functio...
function x (line 133) | function x(v,A){for(var D=[],N=v;N<=A;N++)D.push(N);return D}
function S (line 133) | function S(v){return function(A){return(v===null||A.category!==v)&&v!=="...
function T (line 133) | function T(v){v=parseInt(v,10);var A=null;return v===0?A="all":v===1?A="...
function _ (line 133) | function _(v,A){return A.escapeXML?l.encodeXML(v):v}
function O (line 133) | function O(v,A,D){return D||(D=""),v.push(A),"<".concat(A).concat(D?' st...
function k (line 133) | function k(v,A){return O(v,"span",A)}
function B (line 133) | function B(v,A){return O(v,"span","color:"+A)}
function P (line 133) | function P(v,A){return O(v,"span","background-color:"+A)}
function L (line 133) | function L(v,A){var D;if(v.slice(-1)[0]===A&&(D=v.pop()),D)return"</"+A+...
function j (line 133) | function j(v,A,D){var N=!1,F=3;function M(){return""}w(M,"remove");funct...
function U (line 133) | function U(v,A,D){return A!=="text"&&(v=v.filter(S(T(D))),v.push({token:...
function v (line 133) | function v(A){r(this,v),A=A||{},A.colors&&(A.colors=Object.assign({},u.c...
function pp (line 133) | function pp(){let e={setHandler:w(()=>{},"setHandler"),send:w(()=>{},"se...
method constructor (line 133) | constructor(){this.getChannel=w(()=>{if(!this.channel){let t=pp();return...
function hp (line 133) | function hp(){return H[Mi]||(H[Mi]=new KE),H[Mi]}
method constructor (line 133) | constructor(){this.hookListsMap=void 0,this.mountedDecorators=void 0,thi...
method init (line 133) | init(){this.hookListsMap=new WeakMap,this.mountedDecorators=new Set,this...
method clean (line 133) | clean(){this.prevEffects.forEach(t=>{t.destroy&&t.destroy()}),this.init(...
method getNextHook (line 133) | getNextHook(){let t=this.currentHooks[this.nextHookIndex];return this.ne...
method triggerEffects (line 133) | triggerEffects(){this.prevEffects.forEach(t=>{!this.currentEffects.inclu...
method addRenderListeners (line 133) | addRenderListeners(){this.removeRenderListeners(),ut.getChannel().on(rr,...
method removeRenderListeners (line 133) | removeRenderListeners(){ut.getChannel().removeListener(rr,this.renderLis...
function Gi (line 133) | function Gi(e){let t=w((...r)=>{let{hooks:n}=typeof r[0]=="function"?r[1...
function us (line 133) | function us(){return H.STORYBOOK_HOOKS_CONTEXT||null}
function Wo (line 133) | function Wo(){let e=us();if(e==null)throw ls();return e}
function yp (line 133) | function yp(e,t,r){let n=Wo();if(n.currentPhase==="MOUNT"){r!=null&&!Arr...
function Pn (line 135) | function Pn(e,t,r){let{memoizedState:n}=yp(e,o=>{o.memoizedState=t()},r)...
function cs (line 135) | function cs(e,t){return Pn("useMemo",e,t)}
function Fn (line 135) | function Fn(e,t){return Pn("useCallback",()=>e,t)}
function ds (line 135) | function ds(e,t){return Pn(e,()=>({current:t}),[])}
function QE (line 135) | function QE(e){return ds("useRef",e)}
function bp (line 135) | function bp(){let e=us();if(e!=null&&e.currentPhase!=="NONE")e.hasUpdate...
function ps (line 135) | function ps(e,t){let r=ds(e,typeof t=="function"?t():t),n=w(o=>{r.curren...
function ev (line 135) | function ev(e){return ps("useState",e)}
function tv (line 135) | function tv(e,t,r){let n=r!=null?()=>r(t):t,[o,a]=ps("useReducer",n);ret...
function Bt (line 135) | function Bt(e,t){let r=Wo(),n=Pn("useEffect",()=>({create:e}),t);r.curre...
function rv (line 135) | function rv(e,t=[]){let r=ut.getChannel();return Bt(()=>(Object.entries(...
function Yo (line 135) | function Yo(){let{currentContext:e}=Wo();if(e==null)throw ls();return e}
function nv (line 135) | function nv(e,t){let{parameters:r}=Yo();if(e)return r[e]??t}
function ov (line 135) | function ov(){let e=ut.getChannel(),{id:t,args:r}=Yo(),n=Fn(a=>e.emit(Po...
function av (line 135) | function av(){let e=ut.getChannel(),{globals:t}=Yo(),r=Fn(n=>e.emit(Fo,{...
function Ep (line 136) | function Ep(){}
function Wi (line 136) | function Wi(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.p...
function Yi (line 136) | function Yi(e){return e==null?e===void 0?"[object Undefined]":"[object N...
function xt (line 136) | function xt(e){if(!e||typeof e!="object")return!1;let t=Object.getProtot...
function Gr (line 136) | function Gr(e,t){let r={},n=Object.keys(e);for(let o=0;o<n.length;o++){l...
function vp (line 136) | function vp(e,t){let r={},n=Object.keys(e);for(let o=0;o<n.length;o++){l...
function Ap (line 136) | function Ap(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}
function xp (line 136) | function xp(e,t,r){return Vr(e,t,void 0,void 0,void 0,void 0,r)}
function Vr (line 136) | function Vr(e,t,r,n,o,a,i){let s=i(e,t,r,n,o,a);if(s!==void 0)return s;i...
function zr (line 136) | function zr(e,t,r,n){if(Object.is(e,t))return!0;let o=Yi(e),a=Yi(t);if(o...
function wp (line 136) | function wp(e,t){return xp(e,t,Ep)}
function wt (line 136) | function wt(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[...
function a (line 141) | function a(){return n in e&&(r[n]=e[n]),r}
function Cp (line 149) | function Cp({args:e,argTypes:t}){let r={};return Object.entries(e).forEa...
function Dp (line 149) | function Dp(e){return Object.keys(e).forEach(t=>e[t]===void 0&&delete e[...
method constructor (line 149) | constructor(){this.initialArgsByStoryId={},this.argsByStoryId={}}
method get (line 149) | get(t){if(!(t in this.argsByStoryId))throw new Error(`No args known for ...
method setInitial (line 149) | setInitial(t){if(!this.initialArgsByStoryId[t.id])this.initialArgsByStor...
method updateFromDelta (line 149) | updateFromDelta(t,r){let n=Rv(r,t.argTypes);this.argsByStoryId[t.id]=Xi(...
method updateFromPersisted (line 149) | updateFromPersisted(t,r){let n=Iv(r,t.argTypes);return this.updateFromDe...
method update (line 149) | update(t,r){if(!(t in this.argsByStoryId))throw new Error(`No args known...
method constructor (line 149) | constructor({globals:t={},globalTypes:r={}}){this.set({globals:t,globalT...
method set (line 149) | set({globals:t={},globalTypes:r={}}){let n=this.initialGlobals&&Uo(this....
method filterAllowedGlobals (line 149) | filterAllowedGlobals(t){return Object.entries(t).reduce((r,[n,o])=>(this...
method updateFromPersisted (line 149) | updateFromPersisted(t){let r=this.filterAllowedGlobals(t);this.globals={...
method get (line 149) | get(){return this.globals}
method update (line 149) | update(t){this.globals={...this.globals,...this.filterAllowedGlobals(t)}...
method constructor (line 149) | constructor({entries:t}={v:5,entries:{}}){this.entries=t}
method entryFromSpecifier (line 149) | entryFromSpecifier(t){let r=Object.values(this.entries);if(t==="*")retur...
method storyIdToEntry (line 149) | storyIdToEntry(t){let r=this.entries[t];if(!r)throw new wd({storyId:t});...
method importPathToEntry (line 149) | importPathToEntry(t){return Pv(this.entries)[t]}
function Vo (line 154) | function Vo(e,t,r){let n=t,o=typeof t=="function"?t:null,{story:a}=n;a&&...
function zo (line 154) | function zo(e,t=e.title,r){let{id:n,argTypes:o}=e;return{id:Nn(n||t),......
function Rp (line 154) | function Rp(e,t,r){let{default:n,__namedExportsOrder:o,...a}=e,i=Object....
function Bp (line 154) | function Bp(e){return e!=null&&_p(e).includes("mount")}
function _p (line 154) | function _p(e){let t=e.toString().match(/[^(]*\(([^)]*)/);if(!t)return[]...
function Ji (line 154) | function Ji(e){let t=[],r=[],n=0;for(let a=0;a<e.length;a++)if(e[a]==="{...
function Fp (line 154) | function Fp(e,t,r){let n=r(e);return o=>t(n,o)}
function Pp (line 154) | function Pp({componentId:e,title:t,kind:r,id:n,name:o,story:a,parameters...
function Np (line 154) | function Np(e,t){let r={},n=w(a=>i=>{if(!r.value)throw new Error("Decora...
function ms (line 154) | function ms(e,t,r){let{moduleExport:n,id:o,name:a}=e||{},i=hs(e,t,r),s=w...
function Lp (line 154) | function Lp(e,t,r){return{...hs(void 0,e,t),moduleExport:r}}
function hs (line 154) | function hs(e,t,r){let n=["dev","test"],o=H.DOCS_OPTIONS?.autodocs===!0?...
function fs (line 154) | function fs(e){let{args:t}=e,r={...e,allArgs:void 0,argsByTarget:void 0}...
function Go (line 160) | function Go({argTypes:e,globalTypes:t,argTypesEnhancers:r,decorators:n,l...
function $p (line 160) | function $p(e){return async(t,r,n)=>{await e.reduceRight((o,a)=>async()=...
function Yr (line 160) | function Yr(e,t){return e.map(r=>r.default?.[t]??r[t]).filter(Boolean)}
function jt (line 160) | function jt(e,t,r={}){return Yr(e,t).reduce((n,o)=>{let a=be(o);return r...
function Rn (line 160) | function Rn(e,t){return Object.assign({},...Yr(e,t))}
function Hr (line 160) | function Hr(e,t){return Yr(e,t).pop()}
function Kr (line 160) | function Kr(e){let t=jt(e,"argTypesEnhancers"),r=Yr(e,"runStep"),n=jt(e,...
function gs (line 160) | function gs(){try{return!!globalThis.__vitest_browser__||!!globalThis.wi...
function ys (line 160) | function ys(e=!0){if(!("document"in globalThis&&"createElement"in global...
function bs (line 167) | async function bs(e){if(!("document"in globalThis&&"getAnimations"in glo...
function Es (line 167) | function Es(e){return[e,...e.querySelectorAll("*")].reduce((t,r)=>("shad...
function qp (line 167) | function qp(e){if(e instanceof CSSAnimation&&e.effect instanceof Keyfram...
method constructor (line 167) | constructor(){this.reports=[]}
method addReport (line 167) | async addReport(t){this.reports.push(t)}
function Vp (line 167) | function Vp(e,t,r){return Ar(e)?{story:e.input,meta:e.meta.input,preview...
function Gv (line 167) | function Gv(e){globalThis.defaultProjectAnnotations=e}
function zp (line 167) | function zp(e){return e?Kr([e]):{}}
function Kv (line 167) | function Kv(e){let t=Array.isArray(e)?e:[e];return globalThis.globalProj...
function Gp (line 167) | function Gp(e,t,r,n,o){if(e===void 0)throw new Error("Expected a story b...
function Jv (line 168) | function Jv(e,t,r=Xv){let{default:n,__esModule:o,__namedExportsOrder:a,....
function Zv (line 168) | function Zv(e){return e.extend({mount:w(async({mount:t,page:r},n)=>{awai...
function Wp (line 179) | async function Wp(e,t){for(let a of[...nr].reverse())await a();if(nr.len...
method constructor (line 179) | constructor(t,r,n){this.importFn=r,this.storyIndex=new Nv(t),this.projec...
method setProjectAnnotations (line 179) | setProjectAnnotations(t){this.projectAnnotations=Go(t);let{initialGlobal...
method onStoriesChanged (line 179) | async onStoriesChanged({importFn:t,storyIndex:r}){t&&(this.importFn=t),r...
method storyIdToEntry (line 179) | async storyIdToEntry(t){return this.storyIndex.storyIdToEntry(t)}
method loadCSFFileByStoryId (line 179) | async loadCSFFileByStoryId(t){le
Condensed preview — 95 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (6,471K chars).
[
{
"path": ".babelrc",
"chars": 53,
"preview": "{\n\t\"presets\": [\n\t\t\"@babel/env\",\n\t\t\"@babel/react\"\n\t]\n}"
},
{
"path": ".browserslistrc",
"chars": 111,
"preview": "last 2 Chrome version\nlast 2 Edge version\nlast 2 Firefox version\nlast 2 Safari version\nmaintained node versions"
},
{
"path": ".editorconfig",
"chars": 193,
"preview": "root = true\n\n[*]\nindent_style = tab\ninsert_final_newline = false\ntrim_trailing_whitespace = true\n\n[{package.json,package"
},
{
"path": ".eslintrc.json",
"chars": 4080,
"preview": "{\n \"env\": {\n \"browser\": true\n },\n \"extends\": [\n \"eslint:recommended\",\n \"plugin:react/recommended\"\n ],\n \"parser\": \"@ba"
},
{
"path": ".github/workflows/build.yml",
"chars": 527,
"preview": "name: Build\non:\n push:\n branches: [ 'master' ]\n pull_request:\n branches: [ 'master' ]\npermissions:\n contents: r"
},
{
"path": ".github/workflows/coverage.yml",
"chars": 492,
"preview": "name: Coverage\non:\n push:\n branches: [ 'master' ]\n pull_request:\n branches: [ 'master' ]\npermissions:\n contents"
},
{
"path": ".github/workflows/storybook.yml",
"chars": 431,
"preview": "name: Storybook\non:\n push:\n branches: [ 'master' ]\n pull_request:\n branches: [ 'master' ]\npermissions:\n content"
},
{
"path": ".github/workflows/test.yml",
"chars": 521,
"preview": "name: Test\non:\n push:\n branches: [ 'master' ]\n pull_request:\n branches: [ 'master' ]\npermissions:\n contents: re"
},
{
"path": ".gitignore",
"chars": 30,
"preview": ".idea\n/coverage\n/node_modules/"
},
{
"path": ".npmignore",
"chars": 147,
"preview": ".babelrc\n.browserslistrc\n.editorconfig\n.eslintrc.json\n.github\n.gitignore\n.npmignore\n.storybook\ndocs\nrollup.config.mjs\nsr"
},
{
"path": ".storybook/.eslintrc.json",
"chars": 128,
"preview": "{\n\t\"extends\": [\n\t\t\"plugin:storybook/recommended\",\n\t\t\"../.eslintrc.json\"\n\t],\n\t\"rules\": {\n\t\t\"react/react-in-jsx-scope\": \"o"
},
{
"path": ".storybook/main.js",
"chars": 407,
"preview": "export default {\n\taddons: ['@storybook/addon-docs', '@storybook/addon-webpack5-compiler-babel'],\n\tframework: {\n\t\tname: '"
},
{
"path": ".storybook/manager-head.html",
"chars": 750,
"preview": "<meta name=\"description\" content=\"Working examples with source code for the react-tree-graph JavaScript library\"/>\n<scri"
},
{
"path": ".storybook/manager.js",
"chars": 186,
"preview": "import { addons } from 'storybook/manager-api';\nimport { create } from 'storybook/theming';\n\naddons.setConfig({\n\ttheme: "
},
{
"path": ".storybook/preview.js",
"chars": 560,
"preview": "import { Title, Subtitle, Description, Primary, Controls, Stories } from '@storybook/addon-docs/blocks';\nimport React fr"
},
{
"path": ".storybook/stories/animatedTree.stories.js",
"chars": 1538,
"preview": "import React, { useEffect, useState } from 'react';\nimport { AnimatedTree } from '../../src';\nimport { AnimatedTreeArgTy"
},
{
"path": ".storybook/stories/argTypes.js",
"chars": 5952,
"preview": "import {\n\teaseBack,\n\teaseBackIn,\n\teaseBackOut,\n\teaseBounce,\n\teaseBounceIn,\n\teaseBounceInOut,\n\teaseCircle,\n\teaseCircleIn,"
},
{
"path": ".storybook/stories/intro.mdx",
"chars": 1977,
"preview": "import { Meta } from '@storybook/addon-docs/blocks';\n\n<Meta title=\"Introduction\" />\n\n# react-tree-graph [\n\n* Fixing defaultProps error in react 19\n\n## 8.0.2 (30 Apr 2024)\n\n* Support for reac"
},
{
"path": "LICENSE",
"chars": 1081,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2016 James Brierley\n\nPermission is hereby granted, free of charge, to any person ob"
},
{
"path": "README.md",
"chars": 6470,
"preview": "react-tree-graph [](https://github.com"
},
{
"path": "__tests__/.eslintrc.json",
"chars": 80,
"preview": "{\n\t\"env\": {\n\t\t\"jest\": true,\n\t\t\"node\": true\n\t},\n\t\"extends\": \"../.eslintrc.json\"\n}"
},
{
"path": "__tests__/Components/__snapshots__/animatedTests.js.snap",
"chars": 1979,
"preview": "// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing\n\nexports[`<Animated> does not animate when props other than"
},
{
"path": "__tests__/Components/__snapshots__/animatedTreeTests.js.snap",
"chars": 4110,
"preview": "// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing\n\nexports[`<AnimatedTree> renders correctly 1`] = `\n<Animate"
},
{
"path": "__tests__/Components/__snapshots__/containerTests.js.snap",
"chars": 2311,
"preview": "// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing\n\nexports[`<Container> html tree props added 1`] = `\n<svg\n "
},
{
"path": "__tests__/Components/__snapshots__/linkTests.js.snap",
"chars": 264,
"preview": "// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing\n\nexports[`<Link> renders correctly 1`] = `\n<path\n classNam"
},
{
"path": "__tests__/Components/__snapshots__/nodeTests.js.snap",
"chars": 2360,
"preview": "// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing\n\nexports[`<Node> htmlProps applied to all elements 1`] = `\n"
},
{
"path": "__tests__/Components/__snapshots__/treeTests.js.snap",
"chars": 4051,
"preview": "// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing\n\nexports[`<Tree> renders correctly 1`] = `\n<Container\n dir"
},
{
"path": "__tests__/Components/animatedTests.js",
"chars": 7744,
"preview": "import React, { act } from 'react';\nimport { mount, shallow } from 'enzyme';\n\nimport { easeQuadOut } from 'd3-ease';\nimp"
},
{
"path": "__tests__/Components/animatedTreeTests.js",
"chars": 424,
"preview": "import React from 'react';\nimport { shallow } from 'enzyme';\n\nimport AnimatedTree from '../../src/components/animatedTre"
},
{
"path": "__tests__/Components/containerTests.js",
"chars": 2594,
"preview": "import React from 'react';\nimport { shallow } from 'enzyme';\n\nimport Container from '../../src/components/container';\nim"
},
{
"path": "__tests__/Components/linkTests.js",
"chars": 1710,
"preview": "import React from 'react';\nimport { shallow } from 'enzyme';\n\nimport Link from '../../src/components/link';\n\nconst defau"
},
{
"path": "__tests__/Components/nodeTests.js",
"chars": 3157,
"preview": "import React from 'react';\nimport { shallow } from 'enzyme';\n\nimport Node from '../../src/components/node';\n\nconst defau"
},
{
"path": "__tests__/Components/treeTests.js",
"chars": 392,
"preview": "import React from 'react';\nimport { shallow } from 'enzyme';\n\nimport Tree from '../../src/components/tree';\n\ndescribe('<"
},
{
"path": "__tests__/d3Tests.js",
"chars": 1055,
"preview": "import getTreeData from '../src/d3';\n\nconst defaultProps = {\n\tgetChildren: n => n.children,\n\tdirection: 'ltr',\n\theight: "
},
{
"path": "__tests__/startup.js",
"chars": 244,
"preview": "import Enzyme from 'enzyme';\nimport Adapter from '@cfaester/enzyme-adapter-react-18';\n\n// JSDom does not have structured"
},
{
"path": "__tests__/wrapHandlersTests.js",
"chars": 491,
"preview": "import wrapHandlers from '../src/wrapHandlers';\n\ndescribe('wrapHandlers', () => {\n\ttest('does nothing if no events', () "
},
{
"path": "dist/index.js",
"chars": 14958,
"preview": "(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined'\n\t\t? factory(\n\t\t\t\texports,\n\t\t"
},
{
"path": "dist/module/components/animated.js",
"chars": 5753,
"preview": "import _extends from '@babel/runtime/helpers/extends';\nimport React, { useState, useEffect } from 'react';\nimport Contai"
},
{
"path": "dist/module/components/animatedTree.js",
"chars": 1466,
"preview": "import _extends from '@babel/runtime/helpers/extends';\nimport { easeQuadOut } from 'd3-ease';\nimport React from 'react';"
},
{
"path": "dist/module/components/container.js",
"chars": 1387,
"preview": "import _extends from '@babel/runtime/helpers/extends';\nimport React from 'react';\nimport Link from './link.js';\nimport N"
},
{
"path": "dist/module/components/link.js",
"chars": 631,
"preview": "import _extends from '@babel/runtime/helpers/extends';\nimport React from 'react';\nimport wrapHandlers from '../wrapHandl"
},
{
"path": "dist/module/components/node.js",
"chars": 1768,
"preview": "import _extends from '@babel/runtime/helpers/extends';\nimport React from 'react';\nimport wrapHandlers from '../wrapHandl"
},
{
"path": "dist/module/components/tree.js",
"chars": 1239,
"preview": "import _extends from '@babel/runtime/helpers/extends';\nimport React from 'react';\nimport getTreeData from '../d3.js';\nim"
},
{
"path": "dist/module/d3.js",
"chars": 1224,
"preview": "import { hierarchy, tree } from 'd3-hierarchy';\n\nfunction getTreeData(props) {\n const margins = props.margins || {\n "
},
{
"path": "dist/module/index.js",
"chars": 128,
"preview": "export { default as AnimatedTree } from './components/animatedTree.js';\nexport { default as Tree } from './components/tr"
},
{
"path": "dist/module/wrapHandlers.js",
"chars": 586,
"preview": "const regex = /on[A-Z]/;\nfunction wrapper(func, args) {\n return event => func(event, ...args);\n}\n\n// Wraps any event ha"
},
{
"path": "dist/style.css",
"chars": 102,
"preview": ".node circle, .node rect {\n\tfill: white;\n\tstroke: black;\n}\n\npath.link {\n\tfill: none;\n\tstroke: black;\n}"
},
{
"path": "docs/161.a4718455.iframe.bundle.js",
"chars": 3924,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[161,735],{\"./node_modules/"
},
{
"path": "docs/294.bd1debad.iframe.bundle.js",
"chars": 1627,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[294],{\"./node_modules/@mdx"
},
{
"path": "docs/357.c654aade.iframe.bundle.js",
"chars": 39544,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[357],{\"./node_modules/@sto"
},
{
"path": "docs/434.8aa01134.iframe.bundle.js",
"chars": 19500,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[434],{\"./.storybook/storie"
},
{
"path": "docs/688.1553505b.iframe.bundle.js",
"chars": 1329581,
"preview": "/*! For license information please see 688.1553505b.iframe.bundle.js.LICENSE.txt */\n\"use strict\";(self.webpackChunkreact"
},
{
"path": "docs/688.1553505b.iframe.bundle.js.LICENSE.txt",
"chars": 971,
"preview": "/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This s"
},
{
"path": "docs/735.697195c4.iframe.bundle.js",
"chars": 1807,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[735],{\"./node_modules/@sto"
},
{
"path": "docs/animatedTree-stories.fcd27f04.iframe.bundle.js",
"chars": 8063,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[372],{\"./.storybook/storie"
},
{
"path": "docs/iframe.html",
"chars": 15997,
"preview": "<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><title>Webpack App</title><meta name=\"viewport\" content=\"widt"
},
{
"path": "docs/index.html",
"chars": 4066,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n\n <title>storybook - Storybook</title>\n <me"
},
{
"path": "docs/index.json",
"chars": 4169,
"preview": "{\"v\":5,\"entries\":{\"introduction--docs\":{\"id\":\"introduction--docs\",\"title\":\"Introduction\",\"name\":\"Docs\",\"importPath\":\"./."
},
{
"path": "docs/intro-mdx.158e5140.iframe.bundle.js",
"chars": 7630,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[709],{\"./.storybook/storie"
},
{
"path": "docs/labels-stories.c283c343.iframe.bundle.js",
"chars": 4855,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[230],{\"./.storybook/storie"
},
{
"path": "docs/main.539c4757.iframe.bundle.js",
"chars": 9831,
"preview": "(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[792],{\"./.storybook/preview.js\":(__unus"
},
{
"path": "docs/mocker-runtime-injected.js",
"chars": 46031,
"preview": "/*! For license information please see mocker-runtime-injected.js.LICENSE.txt */\nvar __defProp=Object.defineProperty,__d"
},
{
"path": "docs/mocker-runtime-injected.js.LICENSE.txt",
"chars": 1182,
"preview": "/*! Bundled license information:\n\n@vitest/mocker/dist/chunk-mocker.js:\n (**\n * @license React\n * react-is.production."
},
{
"path": "docs/nodes-stories.e7851c9e.iframe.bundle.js",
"chars": 12357,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[342],{\"./.storybook/storie"
},
{
"path": "docs/project.json",
"chars": 970,
"preview": "{\"generatedAt\":1758541340987,\"userSince\":1758539165039,\"hasCustomBabel\":false,\"hasCustomWebpack\":true,\"hasStaticDirs\":tr"
},
{
"path": "docs/runtime~main.d380d272.iframe.bundle.js",
"chars": 6486,
"preview": "(()=>{\"use strict\";var deferred,leafPrototypes,getProto,inProgress,__webpack_modules__={},__webpack_module_cache__={};fu"
},
{
"path": "docs/sb-addons/docs-1/manager-bundle.js",
"chars": 24710,
"preview": "try{\n(()=>{var l=__REACT__,{Children:lt,Component:dt,Fragment:ft,Profiler:ct,PureComponent:mt,StrictMode:ht,Suspense:bt,"
},
{
"path": "docs/sb-addons/storybook-2/manager-bundle.js",
"chars": 1475,
"preview": "try{\n(()=>{var _=__STORYBOOK_API__,{ActiveTabs:c,Consumer:m,ManagerContext:p,Provider:d,RequestResponseError:h,addons:o,"
},
{
"path": "docs/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js",
"chars": 588695,
"preview": "try{\n(()=>{var N1=Object.defineProperty;var Ke=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(t,r)=>("
},
{
"path": "docs/sb-manager/globals-module-info.js",
"chars": 17751,
"preview": "import ESM_COMPAT_Module from \"node:module\";\nimport { fileURLToPath as ESM_COMPAT_fileURLToPath } from 'node:url';\nimpor"
},
{
"path": "docs/sb-manager/globals-runtime.js",
"chars": 2126840,
"preview": "var Jme = Object.create;\nvar nf = Object.defineProperty;\nvar Qme = Object.getOwnPropertyDescriptor;\nvar Zme = Object.get"
},
{
"path": "docs/sb-manager/globals.js",
"chars": 1564,
"preview": "import ESM_COMPAT_Module from \"node:module\";\nimport { fileURLToPath as ESM_COMPAT_fileURLToPath } from 'node:url';\nimpor"
},
{
"path": "docs/sb-manager/runtime.js",
"chars": 443128,
"preview": "var mf = Object.create;\nvar Go = Object.defineProperty;\nvar hf = Object.getOwnPropertyDescriptor;\nvar gf = Object.getOwn"
},
{
"path": "docs/sb-preview/globals.js",
"chars": 1179,
"preview": "import ESM_COMPAT_Module from \"node:module\";\nimport { fileURLToPath as ESM_COMPAT_fileURLToPath } from 'node:url';\nimpor"
},
{
"path": "docs/sb-preview/runtime.js",
"chars": 1296568,
"preview": "var z5 = Object.create;\nvar xi = Object.defineProperty;\nvar G5 = Object.getOwnPropertyDescriptor;\nvar W5 = Object.getOwn"
},
{
"path": "docs/tree-stories.4e3a1159.iframe.bundle.js",
"chars": 11933,
"preview": "\"use strict\";(self.webpackChunkreact_tree_graph=self.webpackChunkreact_tree_graph||[]).push([[627],{\"./.storybook/storie"
},
{
"path": "package.json",
"chars": 2509,
"preview": "{\n \"name\": \"react-tree-graph\",\n \"version\": \"8.0.3\",\n \"description\": \"A react library for generating a graphical tree "
},
{
"path": "rollup.config.mjs",
"chars": 1672,
"preview": "import { babel } from '@rollup/plugin-babel';\nimport terser from '@rollup/plugin-terser';\nimport clear from 'rollup-plug"
},
{
"path": "src/components/animated.js",
"chars": 5259,
"preview": "import React, { useEffect, useState } from 'react';\nimport Container from './container';\n\nexport default function Animat"
},
{
"path": "src/components/animatedTree.js",
"chars": 1290,
"preview": "import { easeQuadOut } from 'd3-ease';\nimport React from 'react';\nimport getTreeData from '../d3';\nimport Animated from "
},
{
"path": "src/components/container.js",
"chars": 1163,
"preview": "import React from 'react';\nimport Link from './link';\nimport Node from './node';\n\nexport default function Container(prop"
},
{
"path": "src/components/link.js",
"chars": 523,
"preview": "import React from 'react';\nimport wrapHandlers from '../wrapHandlers';\n\nfunction diagonal(x1, y1, x2, y2) {\n\treturn `M${"
},
{
"path": "src/components/node.js",
"chars": 1446,
"preview": "import React from 'react';\nimport wrapHandlers from '../wrapHandlers';\n\nexport default function Node(props) {\n\tfunction "
},
{
"path": "src/components/tree.js",
"chars": 1081,
"preview": "import React from 'react';\nimport getTreeData from '../d3';\nimport Container from './container';\n\nexport default functio"
},
{
"path": "src/d3.js",
"chars": 1153,
"preview": "import { hierarchy, tree } from 'd3-hierarchy';\n\nexport default function getTreeData(props) {\n\tconst margins = props.mar"
},
{
"path": "src/index.js",
"chars": 152,
"preview": "import '../styles/style.css';\n\nexport { default as AnimatedTree } from './components/animatedTree';\nexport { default as "
},
{
"path": "src/wrapHandlers.js",
"chars": 545,
"preview": "const regex = /on[A-Z]/;\n\nfunction wrapper(func, args) {\n\treturn event => func(event, ...args);\n}\n\n// Wraps any event ha"
},
{
"path": "styles/style.css",
"chars": 102,
"preview": ".node circle, .node rect {\n\tfill: white;\n\tstroke: black;\n}\n\npath.link {\n\tfill: none;\n\tstroke: black;\n}"
}
]
About this extraction
This page contains the full source code of the jpb12/react-tree-graph GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 95 files (5.9 MB), approximately 1.5M tokens, and a symbol index with 6948 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.