react components

This commit is contained in:
codecalm 2024-01-04 23:57:54 +01:00
parent b5144b1fde
commit b4cc0d8dff
20 changed files with 412 additions and 353 deletions

View File

@ -1,6 +1,6 @@
import fs from 'fs-extra'
import path from 'path'
import { PACKAGES_DIR, readSvgs } from './helpers.mjs'
import { PACKAGES_DIR, readSvgs, readAliases, toPascalCase } from './helpers.mjs'
import { stringify } from 'svgson'
import prettier from 'prettier'
@ -9,6 +9,9 @@ import { visualizer } from 'rollup-plugin-visualizer'
import license from 'rollup-plugin-license'
import esbuild from 'rollup-plugin-esbuild'
const svgFiles = readSvgs(),
aliases = readAliases()
/**
* Build icons
*
@ -26,6 +29,7 @@ export const buildIcons = ({
indexItemTemplate,
typeDefinitionsTemplate,
indexTypeTemplate,
aliasTemplate,
extension = 'js',
pretty = true,
key = true,
@ -33,8 +37,7 @@ export const buildIcons = ({
pascalName = true,
indexFile = 'icons.js'
}) => {
const DIST_DIR = path.resolve(PACKAGES_DIR, name),
svgFiles = readSvgs()
const DIST_DIR = path.resolve(PACKAGES_DIR, name);
let index = []
let typings = []
@ -61,8 +64,6 @@ export const buildIcons = ({
return !attributes.d || attributes.d !== 'M0 0h24v24H0z'
})
// process.stdout.write(`Building ${i}/${svgFiles.length}: ${svgFile.name.padEnd(42)}\r`)
let component = componentTemplate({
name: svgFile.name,
namePascal: svgFile.namePascal,
@ -71,12 +72,14 @@ export const buildIcons = ({
svg: svgFile
})
// Format component
const output = pretty ? prettier.format(component, {
singleQuote: true,
trailingComma: 'all',
parser: 'babel'
}) : component
let filePath = path.resolve(DIST_DIR, 'src/icons', `${pascalName ? svgFile.namePascal : svgFile.name}.${extension}`)
fs.writeFileSync(filePath, output, 'utf-8')
@ -93,8 +96,27 @@ export const buildIcons = ({
}
})
// Write aliases
if (aliases && aliasTemplate) {
let aliasesStr = '';
Object.entries(aliases).forEach(([from, to]) => {
aliasesStr += aliasTemplate({
from, to,
fromPascal: toPascalCase(from),
toPascal: toPascalCase(to)
})
})
fs.writeFileSync(path.resolve(DIST_DIR, `./src/aliases.ts`), aliasesStr, 'utf-8')
} else {
fs.writeFileSync(path.resolve(DIST_DIR, `./src/aliases.ts`), `export {};`, 'utf-8')
}
// Write index file
fs.writeFileSync(path.resolve(DIST_DIR, `./src/${indexFile}`), index.join('\n'), 'utf-8')
// Write type definitions
if (typeDefinitionsTemplate) {
fs.ensureDirSync(path.resolve(DIST_DIR, `./dist/`))
fs.writeFileSync(path.resolve(DIST_DIR, `./dist/tabler-${name}.d.ts`), typeDefinitionsTemplate() + '\n' + typings.join('\n'), 'utf-8')

View File

@ -66,6 +66,21 @@ export const readSvgs = () => {
});
}
export const readAliases = () => {
const allAliases = JSON.parse(fs.readFileSync(resolve(HOME_DIR, 'aliases.json'), 'utf-8')),
svgFilesList = readSvgDirectory(ICONS_DIR).map(name => name.replace('.svg', ''));
let aliases = [];
for (const [key, value] of Object.entries(allAliases)) {
if (svgFilesList.includes(value)) {
aliases[key] = value;
}
}
return aliases
}
/**
* Read SVG
*

11
.editorconfig Normal file
View File

@ -0,0 +1,11 @@
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
quote_type = single
max_line_length = 100

3
.gitignore vendored
View File

@ -34,5 +34,4 @@ packages/icons*/stats/*
packages/icons*/icons/*
.turbo
.sass-cache
aliases.json
.sass-cache

5
aliases.json Normal file
View File

@ -0,0 +1,5 @@
{
"aaa": "circle",
"bbb": "square",
"ccc": "square"
}

View File

@ -75,7 +75,8 @@
"parse-svg-path": "^0.1.2",
"prettier": "^2.8.1",
"release-it": "15.9.3",
"rollup": "2.78.1",
"rollup": "^4.9.2",
"rollup-plugin-dts": "^6.1.0",
"rollup-plugin-esbuild": "^4.10.2",
"rollup-plugin-filesize": "9.1.2",
"rollup-plugin-license": "^3.0.1",

View File

@ -13,35 +13,16 @@ export default createReactComponent('${name}', '${namePascal}', ${JSON.stringify
const indexItemTemplate = ({
name,
namePascal
}) => `export { default as ${namePascal} } from './icons/${namePascal}';`
const typeDefinitionsTemplate = () => `/// <reference types="react" />
import { SVGAttributes } from 'react'
declare module '@tabler/icons-react'
// Create interface extending SVGProps
export interface TablerIconsProps extends Partial<Omit<React.SVGProps<SVGSVGElement>, 'stroke'>> {
size?: string | number,
stroke?: string | number
}
export declare const createReactComponent: (iconName: string, iconNamePascal: string, iconNode: any[]) => (props: TablerIconsProps) => JSX.Element;
export type Icon = React.FC<TablerIconsProps>;
// Generated icons`
const indexTypeTemplate = ({
namePascal
}) => `export declare const ${namePascal}: (props: TablerIconsProps) => JSX.Element;`
}) => `export { default as ${namePascal} } from './${namePascal}';`
const aliasTemplate = ({ fromPascal, toPascal }) => `export { default as Icon${fromPascal} } from './icons/Icon${toPascal}';\n`
buildIcons({
name: 'icons-react',
componentTemplate,
indexItemTemplate,
typeDefinitionsTemplate,
indexTypeTemplate,
pascalCase: true
aliasTemplate,
indexFile: 'icons/index.ts',
pascalCase: true,
extension: 'ts'
})

View File

@ -27,18 +27,19 @@
"dist"
],
"scripts": {
"build": "pnpm run clean && pnpm run copy:license && pnpm run build:icons && pnpm run build:bundles",
"build": "pnpm run clean && pnpm run copy:license && pnpm run build:icons && pnpm typecheck && pnpm run build:bundles",
"build:icons": "node build.mjs",
"build:bundles": "rollup -c ./rollup.config.mjs",
"copy:license": "cp ../../LICENSE ./LICENSE",
"clean": "rm -rf dist && rm -rf ./src/icons/*.js",
"test": "pnpm run clean && pnpm run build:icons && jest --env=jsdom"
"clean": "rm -rf dist && rm -rf ./src/icons/*.js && rm -rf ./src/icons/*.ts",
"test": "pnpm run clean && pnpm run build:icons && jest --env=jsdom",
"typecheck": "tsc"
},
"dependencies": {
"@tabler/icons": "2.45.0",
"prop-types": "^15.7.2"
"@tabler/icons": "2.45.0"
},
"devDependencies": {
"@types/react": "18.2.0",
"@babel/preset-env": "7.11.5",
"@babel/preset-react": "7.10.4",
"@testing-library/react": "^11.2.6",
@ -46,9 +47,10 @@
"jest": "^29.4.1",
"jest-environment-jsdom": "^29.4.1",
"prop-types": "^15.8.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-test-renderer": "^17.0.2"
"react": "18.2.0",
"react-dom": "18.2.0",
"react-test-renderer": "18.2.0",
"typescript": "^4.9.5"
},
"peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0"

View File

@ -1,12 +1,13 @@
import fs from 'fs'
import { getRollupPlugins } from '../../.build/build-icons.mjs'
import dts from "rollup-plugin-dts";
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8'))
const packageName = '@tabler/icons-react';
const outputFileName = 'tabler-icons-react';
const outputDir = 'dist';
const inputs = ['./src/tabler-icons-react.js'];
const inputs = ['./src/tabler-icons-react.ts'];
const bundles = [
{
format: 'umd',
@ -24,11 +25,6 @@ const bundles = [
inputs,
outputDir,
},
{
format: 'es',
inputs,
outputDir,
},
{
format: 'esm',
inputs,
@ -38,30 +34,38 @@ const bundles = [
];
const configs = bundles
.map(({ inputs, outputDir, format, minify, preserveModules }) =>
inputs.map(input => ({
input,
plugins: getRollupPlugins(pkg, minify),
external: ['react', 'prop-types'],
output: {
name: packageName,
...(preserveModules
? {
dir: `${outputDir}/${format}`,
}
: {
file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
}),
format,
sourcemap: true,
preserveModules,
globals: {
react: 'react',
'prop-types': 'PropTypes'
},
},
})),
)
.flat();
.map(({ inputs, outputDir, format, minify, preserveModules }) =>
inputs.map(input => ({
input,
plugins: getRollupPlugins(pkg, minify),
external: ['react', 'prop-types'],
output: {
name: packageName,
...(preserveModules
? {
dir: `${outputDir}/${format}`,
}
: {
file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
}),
format,
sourcemap: true,
preserveModules,
globals: {
react: 'react',
'prop-types': 'PropTypes'
},
},
})),
)
.flat();
export default configs;
export default [
{
input: inputs[0],
output: [{
file: `dist/${outputFileName}.d.ts`, format: "es"
}],
plugins: [dts()],
},
...configs];

View File

@ -0,0 +1,3 @@
export { default as IconAaa } from './icons/IconCircle';
export { default as IconBbb } from './icons/IconSquare';
export { default as IconCcc } from './icons/IconSquare';

View File

@ -1,33 +0,0 @@
import { forwardRef, createElement } from 'react';
import PropTypes from 'prop-types';
import defaultAttributes from './defaultAttributes';
export default (iconName, iconNamePascal, iconNode) => {
const Component = forwardRef(
({ color = 'currentColor', size = 24, stroke = 2, children, ...rest }, ref) =>
createElement(
'svg',
{
ref,
...defaultAttributes,
width: size,
height: size,
stroke: color,
strokeWidth: stroke,
className: `tabler-icon tabler-icon-${iconName}`,
...rest,
},
[...iconNode.map(([tag, attrs]) => createElement(tag, attrs)), ...(children || [])],
),
);
Component.propTypes = {
color: PropTypes.string,
size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
stroke: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
};
Component.displayName = `${iconNamePascal}`;
return Component;
};

View File

@ -0,0 +1,35 @@
import {
forwardRef,
createElement,
} from 'react';
import defaultAttributes from './defaultAttributes';
import { IconNode, IconProps } from './types';
const createReactComponent = (iconName: string, iconNamePascal: string, iconNode: IconNode) => {
const Component = forwardRef<SVGSVGElement, IconProps>(
({ color = 'currentColor', size = 24, stroke = 2, className = '', children, ...rest }, ref) =>
createElement(
'svg',
{
ref,
...defaultAttributes,
width: size,
height: size,
stroke: color,
strokeWidth: stroke,
className: [`tabler-icon`, `tabler-icon-${iconName}`, className].join(' '),
...rest,
},
[
...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),
...(Array.isArray(children) ? children : [children]),
]
)
);
Component.displayName = `${iconNamePascal}`;
return Component;
};
export default createReactComponent;

View File

@ -1,2 +0,0 @@
export * from './icons';
export { default as createReactComponent } from './createReactComponent';

View File

@ -0,0 +1,8 @@
export * from './icons/index';
export * as icons from './icons/index';
export * from './aliases';
export { default as createReactComponent } from './createReactComponent';
export type { IconNode, IconProps, Icon } from './types';

View File

@ -0,0 +1,13 @@
import { ForwardRefExoticComponent, ReactSVG, SVGProps } from 'react';
export type IconNode = [elementName: keyof ReactSVG, attrs: Record<string, string>][];
export type SVGAttributes = Partial<SVGProps<SVGSVGElement>>;
export interface IconProps extends Partial<Omit<React.SVGProps<SVGSVGElement>, 'stroke'>> {
size?: string | number;
stroke?: string | number;
}
export type Icon = ForwardRefExoticComponent<IconProps>;

View File

@ -0,0 +1,23 @@
{
"compilerOptions": {
"strict": true,
"declaration": false,
"noEmitOnError": true,
"noEmit": true,
"noFallthroughCasesInSwitch": true,
"moduleResolution": "node",
"module": "ESNext",
"target": "ESNext",
"esModuleInterop": true,
"isolatedModules": true,
"lib": ["esnext", "dom"],
"skipLibCheck": true,
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"downlevelIteration": true,
"sourceMap": true,
"outDir": "./dist",
"jsx": "react-jsx"
},
"exclude": ["**/node_modules"]
}

View File

@ -22,6 +22,8 @@ const iconNode: IconNode = ${JSON.stringify(children)};
`;
};
const aliasTemplate = ({ fromPascal, to }) => `export { default as Icon${fromPascal} } from './icons/${to}.svelte';\n`
const indexItemTemplate = ({
name,
namePascal
@ -31,6 +33,7 @@ buildIcons({
name: 'icons-svelte',
componentTemplate,
indexItemTemplate,
aliasTemplate,
extension: 'svelte',
pretty: false,
key: false,

View File

@ -1,101 +1,3 @@
export { default as Icon12Hours } from "./icons/12-hours.svelte";
export { default as Icon123 } from "./icons/123.svelte";
export { default as Icon24Hours } from "./icons/24-hours.svelte";
export { default as Icon2fa } from "./icons/2fa.svelte";
export { default as Icon360View } from "./icons/360-view.svelte";
export { default as Icon360 } from "./icons/360.svelte";
export { default as Icon3dCubeSphereOff } from "./icons/3d-cube-sphere-off.svelte";
export { default as Icon3dCubeSphere } from "./icons/3d-cube-sphere.svelte";
export { default as Icon3dRotate } from "./icons/3d-rotate.svelte";
export { default as IconAB2 } from "./icons/a-b-2.svelte";
export { default as IconABOff } from "./icons/a-b-off.svelte";
export { default as IconAB } from "./icons/a-b.svelte";
export { default as IconAbacusOff } from "./icons/abacus-off.svelte";
export { default as IconAbacus } from "./icons/abacus.svelte";
export { default as IconAbc } from "./icons/abc.svelte";
export { default as IconAccessPointOff } from "./icons/access-point-off.svelte";
export { default as IconAccessPoint } from "./icons/access-point.svelte";
export { default as IconAccessibleOffFilled } from "./icons/accessible-off-filled.svelte";
export { default as IconAccessibleOff } from "./icons/accessible-off.svelte";
export { default as IconAccessible } from "./icons/accessible.svelte";
export { default as IconActivityHeartbeat } from "./icons/activity-heartbeat.svelte";
export { default as IconActivity } from "./icons/activity.svelte";
export { default as IconAd2 } from "./icons/ad-2.svelte";
export { default as IconAdCircleFilled } from "./icons/ad-circle-filled.svelte";
export { default as IconAdCircleOff } from "./icons/ad-circle-off.svelte";
export { default as IconAdCircle } from "./icons/ad-circle.svelte";
export { default as IconAdFilled } from "./icons/ad-filled.svelte";
export { default as IconAdOff } from "./icons/ad-off.svelte";
export { default as IconAd } from "./icons/ad.svelte";
export { default as IconAddressBookOff } from "./icons/address-book-off.svelte";
export { default as IconAddressBook } from "./icons/address-book.svelte";
export { default as IconAdjustmentsAlt } from "./icons/adjustments-alt.svelte";
export { default as IconAdjustmentsBolt } from "./icons/adjustments-bolt.svelte";
export { default as IconAdjustmentsCancel } from "./icons/adjustments-cancel.svelte";
export { default as IconAdjustmentsCheck } from "./icons/adjustments-check.svelte";
export { default as IconAdjustmentsCode } from "./icons/adjustments-code.svelte";
export { default as IconAdjustmentsCog } from "./icons/adjustments-cog.svelte";
export { default as IconAdjustmentsDollar } from "./icons/adjustments-dollar.svelte";
export { default as IconAdjustmentsDown } from "./icons/adjustments-down.svelte";
export { default as IconAdjustmentsExclamation } from "./icons/adjustments-exclamation.svelte";
export { default as IconAdjustmentsFilled } from "./icons/adjustments-filled.svelte";
export { default as IconAdjustmentsHeart } from "./icons/adjustments-heart.svelte";
export { default as IconAdjustmentsHorizontal } from "./icons/adjustments-horizontal.svelte";
export { default as IconAdjustmentsMinus } from "./icons/adjustments-minus.svelte";
export { default as IconAdjustmentsOff } from "./icons/adjustments-off.svelte";
export { default as IconAdjustmentsPause } from "./icons/adjustments-pause.svelte";
export { default as IconAdjustmentsPin } from "./icons/adjustments-pin.svelte";
export { default as IconAdjustmentsPlus } from "./icons/adjustments-plus.svelte";
export { default as IconAdjustmentsQuestion } from "./icons/adjustments-question.svelte";
export { default as IconAdjustmentsSearch } from "./icons/adjustments-search.svelte";
export { default as IconAdjustmentsShare } from "./icons/adjustments-share.svelte";
export { default as IconAdjustmentsStar } from "./icons/adjustments-star.svelte";
export { default as IconAdjustmentsUp } from "./icons/adjustments-up.svelte";
export { default as IconAdjustmentsX } from "./icons/adjustments-x.svelte";
export { default as IconAdjustments } from "./icons/adjustments.svelte";
export { default as IconAerialLift } from "./icons/aerial-lift.svelte";
export { default as IconAffiliateFilled } from "./icons/affiliate-filled.svelte";
export { default as IconAffiliate } from "./icons/affiliate.svelte";
export { default as IconAirBalloon } from "./icons/air-balloon.svelte";
export { default as IconAirConditioningDisabled } from "./icons/air-conditioning-disabled.svelte";
export { default as IconAirConditioning } from "./icons/air-conditioning.svelte";
export { default as IconAirTrafficControl } from "./icons/air-traffic-control.svelte";
export { default as IconAlarmAverage } from "./icons/alarm-average.svelte";
export { default as IconAlarmFilled } from "./icons/alarm-filled.svelte";
export { default as IconAlarmMinusFilled } from "./icons/alarm-minus-filled.svelte";
export { default as IconAlarmMinus } from "./icons/alarm-minus.svelte";
export { default as IconAlarmOff } from "./icons/alarm-off.svelte";
export { default as IconAlarmPlusFilled } from "./icons/alarm-plus-filled.svelte";
export { default as IconAlarmPlus } from "./icons/alarm-plus.svelte";
export { default as IconAlarmSnoozeFilled } from "./icons/alarm-snooze-filled.svelte";
export { default as IconAlarmSnooze } from "./icons/alarm-snooze.svelte";
export { default as IconAlarm } from "./icons/alarm.svelte";
export { default as IconAlbumOff } from "./icons/album-off.svelte";
export { default as IconAlbum } from "./icons/album.svelte";
export { default as IconAlertCircleFilled } from "./icons/alert-circle-filled.svelte";
export { default as IconAlertCircleOff } from "./icons/alert-circle-off.svelte";
export { default as IconAlertCircle } from "./icons/alert-circle.svelte";
export { default as IconAlertHexagonFilled } from "./icons/alert-hexagon-filled.svelte";
export { default as IconAlertHexagonOff } from "./icons/alert-hexagon-off.svelte";
export { default as IconAlertHexagon } from "./icons/alert-hexagon.svelte";
export { default as IconAlertOctagonFilled } from "./icons/alert-octagon-filled.svelte";
export { default as IconAlertOctagon } from "./icons/alert-octagon.svelte";
export { default as IconAlertSmallOff } from "./icons/alert-small-off.svelte";
export { default as IconAlertSmall } from "./icons/alert-small.svelte";
export { default as IconAlertSquareFilled } from "./icons/alert-square-filled.svelte";
export { default as IconAlertSquareRoundedFilled } from "./icons/alert-square-rounded-filled.svelte";
export { default as IconAlertSquareRoundedOff } from "./icons/alert-square-rounded-off.svelte";
export { default as IconAlertSquareRounded } from "./icons/alert-square-rounded.svelte";
export { default as IconAlertSquare } from "./icons/alert-square.svelte";
export { default as IconAlertTriangleFilled } from "./icons/alert-triangle-filled.svelte";
export { default as IconAlertTriangleOff } from "./icons/alert-triangle-off.svelte";
export { default as IconAlertTriangle } from "./icons/alert-triangle.svelte";
export { default as IconAlienFilled } from "./icons/alien-filled.svelte";
export { default as IconAlien } from "./icons/alien.svelte";
export { default as IconAlignBoxBottomCenterFilled } from "./icons/align-box-bottom-center-filled.svelte";
export { default as IconAlignBoxBottomCenter } from "./icons/align-box-bottom-center.svelte";
export { default as IconAlignBoxBottomLeftFilled } from "./icons/align-box-bottom-left-filled.svelte";
export { default as IconAlignBoxBottomLeft } from "./icons/align-box-bottom-left.svelte";
export { default as IconAlignBoxBottomRightFilled } from "./icons/align-box-bottom-right-filled.svelte";
export { default as IconAlignBoxBottomRight } from "./icons/align-box-bottom-right.svelte";
export { default as IconAlignBoxCenterBottom } from "./icons/align-box-center-bottom.svelte";
export { default as IconAaa } from './icons/circle.svelte';
export { default as IconBbb } from './icons/square.svelte';
export { default as IconCcc } from './icons/square.svelte';

View File

@ -10,7 +10,7 @@ importers:
devDependencies:
'@atomico/rollup-plugin-sizes':
specifier: ^1.1.4
version: 1.1.4(rollup@2.78.1)
version: 1.1.4(rollup@4.9.2)
'@babel/cli':
specifier: ^7.20.7
version: 7.20.7(@babel/core@7.11.6)
@ -34,13 +34,13 @@ importers:
version: 3.2.0(release-it@15.9.3)
'@rollup/plugin-babel':
specifier: 5.2.1
version: 5.2.1(@babel/core@7.11.6)(rollup@2.78.1)
version: 5.2.1(@babel/core@7.11.6)(rollup@4.9.2)
'@rollup/plugin-commonjs':
specifier: 15.1.0
version: 15.1.0(rollup@2.78.1)
version: 15.1.0(rollup@4.9.2)
'@rollup/plugin-node-resolve':
specifier: 9.0.0
version: 9.0.0(rollup@2.78.1)
version: 9.0.0(rollup@4.9.2)
'@svgr/babel-plugin-replace-jsx-attribute-value':
specifier: 5.0.1
version: 5.0.1
@ -90,29 +90,32 @@ importers:
specifier: 15.9.3
version: 15.9.3
rollup:
specifier: 2.78.1
version: 2.78.1
specifier: ^4.9.2
version: 4.9.2
rollup-plugin-dts:
specifier: ^6.1.0
version: 6.1.0(rollup@4.9.2)(typescript@5.3.3)
rollup-plugin-esbuild:
specifier: ^4.10.2
version: 4.10.3(esbuild@0.17.5)(rollup@2.78.1)
version: 4.10.3(esbuild@0.17.5)(rollup@4.9.2)
rollup-plugin-filesize:
specifier: 9.1.2
version: 9.1.2
rollup-plugin-license:
specifier: ^3.0.1
version: 3.0.1(rollup@2.78.1)
version: 3.0.1(rollup@4.9.2)
rollup-plugin-peer-deps-external:
specifier: 2.2.4
version: 2.2.4(rollup@2.78.1)
version: 2.2.4(rollup@4.9.2)
rollup-plugin-rename:
specifier: ^1.0.1
version: 1.0.1(rollup@2.78.1)
version: 1.0.1(rollup@4.9.2)
rollup-plugin-terser:
specifier: 7.0.2
version: 7.0.2(rollup@2.78.1)
version: 7.0.2(rollup@4.9.2)
rollup-plugin-visualizer:
specifier: ^5.8.3
version: 5.9.0(rollup@2.78.1)
version: 5.9.0(rollup@4.9.2)
svg-outline-stroke:
specifier: 1.3.1
version: 1.3.1
@ -195,9 +198,6 @@ importers:
'@tabler/icons':
specifier: 2.45.0
version: link:../icons
prop-types:
specifier: ^15.7.2
version: 15.8.1
devDependencies:
'@babel/preset-env':
specifier: 7.11.5
@ -207,7 +207,10 @@ importers:
version: 7.10.4(@babel/core@7.11.6)
'@testing-library/react':
specifier: ^11.2.6
version: 11.2.7(react-dom@17.0.2)(react@17.0.2)
version: 11.2.7(react-dom@18.2.0)(react@18.2.0)
'@types/react':
specifier: 18.2.0
version: 18.2.0
babel-jest:
specifier: ^29.4.1
version: 29.4.2(@babel/core@7.11.6)
@ -217,15 +220,21 @@ importers:
jest-environment-jsdom:
specifier: ^29.4.1
version: 29.4.2
prop-types:
specifier: ^15.8.1
version: 15.8.1
react:
specifier: ^17.0.2
version: 17.0.2
specifier: 18.2.0
version: 18.2.0
react-dom:
specifier: ^17.0.2
version: 17.0.2(react@17.0.2)
specifier: 18.2.0
version: 18.2.0(react@18.2.0)
react-test-renderer:
specifier: ^17.0.2
version: 17.0.2(react@17.0.2)
specifier: 18.2.0
version: 18.2.0(react@18.2.0)
typescript:
specifier: ^4.9.5
version: 4.9.5
packages/icons-solidjs:
dependencies:
@ -327,7 +336,7 @@ importers:
version: 3.2.45
vue-jest:
specifier: ^5.0.0-alpha.10
version: 5.0.0-alpha.10(@babel/core@7.11.6)(babel-jest@29.4.2)(jest@29.4.2)(vue@3.2.45)
version: 5.0.0-alpha.10(@babel/core@7.11.6)(babel-jest@29.4.2)(jest@29.4.2)(typescript@5.3.3)(vue@3.2.45)
packages/icons-webfont:
dependencies:
@ -402,10 +411,7 @@ importers:
dependencies:
'@tabler/icons-svelte':
specifier: 2.45.0
version: 2.45.0(svelte@4.2.8)
lucide-svelte:
specifier: ^0.304.0
version: 0.304.0(svelte@4.2.8)
version: link:../../packages/icons-svelte
devDependencies:
'@sveltejs/vite-plugin-svelte':
specifier: ^3.0.1
@ -418,7 +424,7 @@ importers:
version: 4.2.8
svelte-check:
specifier: ^3.6.2
version: 3.6.2(svelte@4.2.8)
version: 3.6.2(@babel/core@7.11.6)(svelte@4.2.8)
tslib:
specifier: ^2.6.2
version: 2.6.2
@ -467,15 +473,16 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.2
'@jridgewell/trace-mapping': 0.3.20
dev: true
/@atomico/rollup-plugin-sizes@1.1.4(rollup@2.78.1):
/@atomico/rollup-plugin-sizes@1.1.4(rollup@4.9.2):
resolution: {integrity: sha512-ilxLw9hT+kWXIx8mYoAFLA2eIVfLrsnabPCaGo5Mkrj8qxhEkZvFddcnH2HTp/hDKFEIJRpZVpXecsPp3FOdRw==}
peerDependencies:
rollup: 1.x || 2.x
dependencies:
brotli-size: 4.0.0
gzip-size: 5.1.1
rollup: 2.78.1
rollup: 4.9.2
simple-string-table: 1.0.0
dev: true
@ -506,6 +513,16 @@ packages:
'@babel/highlight': 7.18.6
dev: true
/@babel/code-frame@7.23.5:
resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
engines: {node: '>=6.9.0'}
requiresBuild: true
dependencies:
'@babel/highlight': 7.23.4
chalk: 2.4.2
dev: true
optional: true
/@babel/compat-data@7.20.10:
resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==}
engines: {node: '>=6.9.0'}
@ -833,6 +850,13 @@ packages:
resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
engines: {node: '>=6.9.0'}
/@babel/helper-validator-identifier@7.22.20:
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
requiresBuild: true
dev: true
optional: true
/@babel/helper-validator-option@7.18.6:
resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
engines: {node: '>=6.9.0'}
@ -870,6 +894,17 @@ packages:
js-tokens: 4.0.0
dev: true
/@babel/highlight@7.23.4:
resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
engines: {node: '>=6.9.0'}
requiresBuild: true
dependencies:
'@babel/helper-validator-identifier': 7.22.20
chalk: 2.4.2
js-tokens: 4.0.0
dev: true
optional: true
/@babel/parser@7.11.5:
resolution: {integrity: sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==}
engines: {node: '>=6.0.0'}
@ -3865,14 +3900,17 @@ packages:
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.20
dev: true
/@jridgewell/resolve-uri@3.1.0:
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
engines: {node: '>=6.0.0'}
dev: true
/@jridgewell/set-array@1.1.2:
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
engines: {node: '>=6.0.0'}
dev: true
/@jridgewell/source-map@0.3.2:
resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==}
@ -3887,6 +3925,7 @@ packages:
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
dev: true
/@jridgewell/trace-mapping@0.3.17:
resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
@ -3900,6 +3939,7 @@ packages:
dependencies:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
/@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3:
resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==}
@ -4215,7 +4255,7 @@ packages:
yaml: 2.2.1
dev: true
/@rollup/plugin-babel@5.2.1(@babel/core@7.11.6)(rollup@2.78.1):
/@rollup/plugin-babel@5.2.1(@babel/core@7.11.6)(rollup@4.9.2):
resolution: {integrity: sha512-Jd7oqFR2dzZJ3NWANDyBjwTtX/lYbZpVcmkHrfQcpvawHs9E4c0nYk5U2mfZ6I/DZcIvy506KZJi54XK/jxH7A==}
engines: {node: '>= 10.0.0'}
peerDependencies:
@ -4228,42 +4268,42 @@ packages:
dependencies:
'@babel/core': 7.11.6
'@babel/helper-module-imports': 7.18.6
'@rollup/pluginutils': 3.1.0(rollup@2.78.1)
rollup: 2.78.1
'@rollup/pluginutils': 3.1.0(rollup@4.9.2)
rollup: 4.9.2
dev: true
/@rollup/plugin-commonjs@15.1.0(rollup@2.78.1):
/@rollup/plugin-commonjs@15.1.0(rollup@4.9.2):
resolution: {integrity: sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==}
engines: {node: '>= 8.0.0'}
peerDependencies:
rollup: ^2.22.0
dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.78.1)
'@rollup/pluginutils': 3.1.0(rollup@4.9.2)
commondir: 1.0.1
estree-walker: 2.0.2
glob: 7.2.3
is-reference: 1.2.1
magic-string: 0.25.9
resolve: 1.22.1
rollup: 2.78.1
rollup: 4.9.2
dev: true
/@rollup/plugin-node-resolve@9.0.0(rollup@2.78.1):
/@rollup/plugin-node-resolve@9.0.0(rollup@4.9.2):
resolution: {integrity: sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==}
engines: {node: '>= 10.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0
dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.78.1)
'@rollup/pluginutils': 3.1.0(rollup@4.9.2)
'@types/resolve': 1.17.1
builtin-modules: 3.3.0
deepmerge: 4.2.2
is-module: 1.0.0
resolve: 1.22.1
rollup: 2.78.1
rollup: 4.9.2
dev: true
/@rollup/pluginutils@3.1.0(rollup@2.78.1):
/@rollup/pluginutils@3.1.0(rollup@4.9.2):
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
@ -4272,7 +4312,7 @@ packages:
'@types/estree': 0.0.39
estree-walker: 1.0.1
picomatch: 2.3.1
rollup: 2.78.1
rollup: 4.9.2
dev: true
/@rollup/pluginutils@4.2.1:
@ -4598,19 +4638,6 @@ packages:
defer-to-connect: 2.0.1
dev: true
/@tabler/icons-svelte@2.45.0(svelte@4.2.8):
resolution: {integrity: sha512-NfPuOWyBhqDQr4wweg89nM8KEvwQIBjJwENoaQOjals1GpH3C9rshkNEFFk5mrnYlUZERuwg2qm29B7aNnbQ9A==}
peerDependencies:
svelte: '>=3 <5'
dependencies:
'@tabler/icons': 2.45.0
svelte: 4.2.8
dev: false
/@tabler/icons@2.45.0:
resolution: {integrity: sha512-J10UDghOni9wlrj5CpKAzychDCABCKYq897mGg0wGFsd+tYLaUdz0dt/HZeGnV8gZJo0hIiTPLGwBp5EW42Qsg==}
dev: false
/@testing-library/dom@7.31.2:
resolution: {integrity: sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==}
engines: {node: '>=10'}
@ -4707,7 +4734,7 @@ packages:
preact: 10.11.3
dev: true
/@testing-library/react@11.2.7(react-dom@17.0.2)(react@17.0.2):
/@testing-library/react@11.2.7(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-tzRNp7pzd5QmbtXNG/mhdcl7Awfu/Iz1RaVHY75zTdOkmHCuzMhRL83gWHSgOAcjS3CCbyfwUHMZgRJb4kAfpA==}
engines: {node: '>=10'}
peerDependencies:
@ -4716,8 +4743,8 @@ packages:
dependencies:
'@babel/runtime': 7.20.7
'@testing-library/dom': 7.31.2
react: 17.0.2
react-dom: 17.0.2(react@17.0.2)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: true
/@testing-library/svelte@4.0.2(svelte@4.0.1):
@ -4814,6 +4841,7 @@ packages:
/@types/estree@1.0.5:
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
dev: true
/@types/graceful-fs@4.1.5:
resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==}
@ -4895,7 +4923,7 @@ packages:
/@types/react-dom@18.0.10:
resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==}
dependencies:
'@types/react': 18.0.26
'@types/react': 18.2.0
dev: true
/@types/react@18.0.26:
@ -4906,6 +4934,14 @@ packages:
csstype: 3.1.1
dev: true
/@types/react@18.2.0:
resolution: {integrity: sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==}
dependencies:
'@types/prop-types': 15.7.5
'@types/scheduler': 0.16.2
csstype: 3.1.1
dev: true
/@types/resolve@1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
@ -5155,6 +5191,7 @@ packages:
resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
/adm-zip@0.5.10:
resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==}
@ -5320,6 +5357,7 @@ packages:
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
dependencies:
dequal: 2.0.3
dev: true
/array-find-index@1.0.2:
resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==}
@ -5406,6 +5444,7 @@ packages:
resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
dependencies:
dequal: 2.0.3
dev: true
/babel-jest@29.4.2(@babel/core@7.11.6):
resolution: {integrity: sha512-vcghSqhtowXPG84posYkkkzcZsdayFkubUgbE3/1tuGbX7AQtwCkkNA/wIbB0BMjuCPoqTkiDyKN7Ty7d3uwNQ==}
@ -6088,6 +6127,7 @@ packages:
acorn: 8.11.3
estree-walker: 3.0.3
periscopic: 3.1.0
dev: true
/collect-v8-coverage@1.0.1:
resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
@ -6108,6 +6148,7 @@ packages:
/color-name@1.1.3:
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
requiresBuild: true
dev: true
/color-name@1.1.4:
@ -6323,6 +6364,7 @@ packages:
dependencies:
mdn-data: 2.0.30
source-map-js: 1.0.2
dev: true
/css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
@ -6599,6 +6641,7 @@ packages:
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
dev: true
/detect-indent@6.1.0:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
@ -7022,6 +7065,7 @@ packages:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
'@types/estree': 1.0.5
dev: true
/esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
@ -7288,14 +7332,6 @@ packages:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
/fsevents@2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
dev: true
optional: true
/fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@ -8184,6 +8220,7 @@ packages:
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
dependencies:
'@types/estree': 1.0.5
dev: true
/is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
@ -8590,7 +8627,7 @@ packages:
micromatch: 4.0.5
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.2
fsevents: 2.3.3
dev: true
/jest-leak-detector@29.4.2:
@ -9121,6 +9158,7 @@ packages:
/locate-character@3.0.0:
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
dev: true
/locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
@ -9208,14 +9246,6 @@ packages:
engines: {node: '>=12'}
dev: true
/lucide-svelte@0.304.0(svelte@4.2.8):
resolution: {integrity: sha512-DknYGA5R8QCcEWxgxYial9YKuHtLi4Hj7QSlwliJCt0qF9Lbq+6EMnVYcq3sI9xsTZrbYtso2WG34RPAsI2RVA==}
peerDependencies:
svelte: '>=3 <5'
dependencies:
svelte: 4.2.8
dev: false
/lz-string@1.4.4:
resolution: {integrity: sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==}
hasBin: true
@ -9250,6 +9280,7 @@ packages:
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
/make-dir@2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
@ -9346,6 +9377,7 @@ packages:
/mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
dev: true
/meow@9.0.0:
resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==}
@ -9942,6 +9974,7 @@ packages:
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
dev: true
/object-inspect@1.12.2:
resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==}
@ -10315,6 +10348,7 @@ packages:
'@types/estree': 1.0.5
estree-walker: 3.0.3
is-reference: 3.0.2
dev: true
/phin@2.9.3:
resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==}
@ -10503,7 +10537,7 @@ packages:
loose-envify: 1.4.0
object-assign: 4.1.1
react-is: 16.13.1
dev: false
dev: true
/proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
@ -10609,17 +10643,6 @@ packages:
strip-json-comments: 2.0.1
dev: true
/react-dom@17.0.2(react@17.0.2):
resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==}
peerDependencies:
react: 17.0.2
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
react: 17.0.2
scheduler: 0.20.2
dev: true
/react-dom@18.2.0(react@18.2.0):
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
peerDependencies:
@ -10628,11 +10651,10 @@ packages:
loose-envify: 1.4.0
react: 18.2.0
scheduler: 0.23.0
dev: false
/react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
dev: false
dev: true
/react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
@ -10647,34 +10669,25 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/react-shallow-renderer@16.15.0(react@17.0.2):
/react-shallow-renderer@16.15.0(react@18.2.0):
resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0
dependencies:
object-assign: 4.1.1
react: 17.0.2
react: 18.2.0
react-is: 18.2.0
dev: true
/react-test-renderer@17.0.2(react@17.0.2):
resolution: {integrity: sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==}
/react-test-renderer@18.2.0(react@18.2.0):
resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==}
peerDependencies:
react: 17.0.2
react: ^18.2.0
dependencies:
object-assign: 4.1.1
react: 17.0.2
react-is: 17.0.2
react-shallow-renderer: 16.15.0(react@17.0.2)
scheduler: 0.20.2
dev: true
/react@17.0.2:
resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==}
engines: {node: '>=0.10.0'}
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
react: 18.2.0
react-is: 18.2.0
react-shallow-renderer: 16.15.0(react@18.2.0)
scheduler: 0.23.0
dev: true
/react@18.2.0:
@ -10682,7 +10695,6 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
loose-envify: 1.4.0
dev: false
/read-package-json-fast@2.0.3:
resolution: {integrity: sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==}
@ -11009,7 +11021,21 @@ packages:
glob: 7.2.3
dev: true
/rollup-plugin-esbuild@4.10.3(esbuild@0.17.5)(rollup@2.78.1):
/rollup-plugin-dts@6.1.0(rollup@4.9.2)(typescript@5.3.3):
resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==}
engines: {node: '>=16'}
peerDependencies:
rollup: ^3.29.4 || ^4
typescript: ^4.5 || ^5.0
dependencies:
magic-string: 0.30.5
rollup: 4.9.2
typescript: 5.3.3
optionalDependencies:
'@babel/code-frame': 7.23.5
dev: true
/rollup-plugin-esbuild@4.10.3(esbuild@0.17.5)(rollup@4.9.2):
resolution: {integrity: sha512-RILwUCgnCL5vo8vyZ/ZpwcqRuE5KmLizEv6BujBQfgXFZ6ggcS0FiYvQN+gsTJfWCMaU37l0Fosh4eEufyO97Q==}
engines: {node: '>=12'}
peerDependencies:
@ -11022,7 +11048,7 @@ packages:
esbuild: 0.17.5
joycon: 3.1.1
jsonc-parser: 3.2.0
rollup: 2.78.1
rollup: 4.9.2
transitivePeerDependencies:
- supports-color
dev: true
@ -11044,7 +11070,7 @@ packages:
- supports-color
dev: true
/rollup-plugin-license@3.0.1(rollup@2.78.1):
/rollup-plugin-license@3.0.1(rollup@4.9.2):
resolution: {integrity: sha512-/lec6Y94Y3wMfTDeYTO/jSXII0GQ/XkDZCiqkMKxyU5D5nGPaxr/2JNYvAgYsoCYuOLGOanKDPjCCQiTT96p7A==}
engines: {node: '>=14.0.0'}
peerDependencies:
@ -11057,42 +11083,42 @@ packages:
mkdirp: 1.0.4
moment: 2.29.4
package-name-regex: 2.0.6
rollup: 2.78.1
rollup: 4.9.2
spdx-expression-validate: 2.0.0
spdx-satisfies: 5.0.1
dev: true
/rollup-plugin-peer-deps-external@2.2.4(rollup@2.78.1):
/rollup-plugin-peer-deps-external@2.2.4(rollup@4.9.2):
resolution: {integrity: sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==}
peerDependencies:
rollup: '*'
dependencies:
rollup: 2.78.1
rollup: 4.9.2
dev: true
/rollup-plugin-rename@1.0.1(rollup@2.78.1):
/rollup-plugin-rename@1.0.1(rollup@4.9.2):
resolution: {integrity: sha512-gISyKmUmIMNcHASejxuxFWOSjnAM5ehqiMo0o0xnmCnguwojYXRZ6maM9xhlYKZ8PPCAo1oTSyC79wiI0LKX5g==}
dependencies:
'@rollup/pluginutils': 3.1.0(rollup@2.78.1)
'@rollup/pluginutils': 3.1.0(rollup@4.9.2)
estree-walker: 2.0.2
magic-string: 0.25.9
transitivePeerDependencies:
- rollup
dev: true
/rollup-plugin-terser@7.0.2(rollup@2.78.1):
/rollup-plugin-terser@7.0.2(rollup@4.9.2):
resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
peerDependencies:
rollup: ^2.0.0
dependencies:
'@babel/code-frame': 7.18.6
jest-worker: 26.6.2
rollup: 2.78.1
rollup: 4.9.2
serialize-javascript: 4.0.0
terser: 5.16.1
dev: true
/rollup-plugin-visualizer@5.9.0(rollup@2.78.1):
/rollup-plugin-visualizer@5.9.0(rollup@4.9.2):
resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==}
engines: {node: '>=14'}
hasBin: true
@ -11104,25 +11130,17 @@ packages:
dependencies:
open: 8.4.0
picomatch: 2.3.1
rollup: 2.78.1
rollup: 4.9.2
source-map: 0.7.4
yargs: 17.6.2
dev: true
/rollup@2.78.1:
resolution: {integrity: sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==}
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
dev: true
/rollup@3.9.1:
resolution: {integrity: sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
fsevents: 2.3.3
dev: true
/rollup@4.9.2:
@ -11238,18 +11256,10 @@ packages:
xmlchars: 2.2.0
dev: true
/scheduler@0.20.2:
resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==}
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
dev: true
/scheduler@0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
dependencies:
loose-envify: 1.4.0
dev: false
/scss-tokenizer@0.4.3:
resolution: {integrity: sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==}
@ -11799,8 +11809,8 @@ packages:
picocolors: 1.0.0
sade: 1.8.1
svelte: 4.0.1
svelte-preprocess: 5.0.4(@babel/core@7.11.6)(svelte@4.0.1)(typescript@5.1.6)
typescript: 5.1.6
svelte-preprocess: 5.0.4(@babel/core@7.11.6)(svelte@4.0.1)(typescript@5.3.3)
typescript: 5.3.3
transitivePeerDependencies:
- '@babel/core'
- coffeescript
@ -11813,7 +11823,7 @@ packages:
- sugarss
dev: true
/svelte-check@3.6.2(svelte@4.2.8):
/svelte-check@3.6.2(@babel/core@7.11.6)(svelte@4.2.8):
resolution: {integrity: sha512-E6iFh4aUCGJLRz6QZXH3gcN/VFfkzwtruWSRmlKrLWQTiO6VzLsivR6q02WYLGNAGecV3EocqZuCDrC2uttZ0g==}
hasBin: true
peerDependencies:
@ -11826,7 +11836,7 @@ packages:
picocolors: 1.0.0
sade: 1.8.1
svelte: 4.2.8
svelte-preprocess: 5.1.3(svelte@4.2.8)(typescript@5.3.3)
svelte-preprocess: 5.1.3(@babel/core@7.11.6)(svelte@4.2.8)(typescript@5.3.3)
typescript: 5.3.3
transitivePeerDependencies:
- '@babel/core'
@ -11906,7 +11916,55 @@ packages:
typescript: 5.1.6
dev: true
/svelte-preprocess@5.1.3(svelte@4.2.8)(typescript@5.3.3):
/svelte-preprocess@5.0.4(@babel/core@7.11.6)(svelte@4.0.1)(typescript@5.3.3):
resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
engines: {node: '>= 14.10.0'}
requiresBuild: true
peerDependencies:
'@babel/core': ^7.10.2
coffeescript: ^2.5.1
less: ^3.11.3 || ^4.0.0
postcss: ^7 || ^8
postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
pug: ^3.0.0
sass: ^1.26.8
stylus: ^0.55.0
sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0
typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
peerDependenciesMeta:
'@babel/core':
optional: true
coffeescript:
optional: true
less:
optional: true
postcss:
optional: true
postcss-load-config:
optional: true
pug:
optional: true
sass:
optional: true
stylus:
optional: true
sugarss:
optional: true
typescript:
optional: true
dependencies:
'@babel/core': 7.11.6
'@types/pug': 2.0.6
detect-indent: 6.1.0
magic-string: 0.27.0
sorcery: 0.11.0
strip-indent: 3.0.0
svelte: 4.0.1
typescript: 5.3.3
dev: true
/svelte-preprocess@5.1.3(@babel/core@7.11.6)(svelte@4.2.8)(typescript@5.3.3):
resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
requiresBuild: true
@ -11944,6 +12002,7 @@ packages:
typescript:
optional: true
dependencies:
'@babel/core': 7.11.6
'@types/pug': 2.0.6
detect-indent: 6.1.0
magic-string: 0.30.5
@ -12001,6 +12060,7 @@ packages:
locate-character: 3.0.0
magic-string: 0.30.5
periscopic: 3.1.0
dev: true
/svg-outline-stroke@1.3.1:
resolution: {integrity: sha512-nfSJw3wFJCB8lVupuhD4SZjExZS72W2CF4QDr9tHRxXlbmTUqWKU3uDMMf3EIgryC6Pl458G+Ct9jesM5NUBXQ==}
@ -12317,6 +12377,12 @@ packages:
hasBin: true
dev: true
/typescript@4.9.5:
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
engines: {node: '>=4.2.0'}
hasBin: true
dev: true
/typescript@5.1.6:
resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==}
engines: {node: '>=14.17'}
@ -12591,7 +12657,7 @@ packages:
resolve: 1.22.1
rollup: 3.9.1
optionalDependencies:
fsevents: 2.3.2
fsevents: 2.3.3
dev: true
/vite@5.0.10:
@ -12660,7 +12726,7 @@ packages:
acorn-walk: 8.2.0
dev: true
/vue-jest@5.0.0-alpha.10(@babel/core@7.11.6)(babel-jest@29.4.2)(jest@29.4.2)(vue@3.2.45):
/vue-jest@5.0.0-alpha.10(@babel/core@7.11.6)(babel-jest@29.4.2)(jest@29.4.2)(typescript@5.3.3)(vue@3.2.45):
resolution: {integrity: sha512-iN62cTi4AL0UsgxEyVeJtHG6qXEv+8Ci2wX1vP3b/dAZvyBRmqy5aJHQrP6VCEuio+HgHQ1LAZ+ccM2pouBmlg==}
peerDependencies:
'@babel/core': 7.x
@ -12684,6 +12750,7 @@ packages:
jest: 29.4.2
source-map: 0.5.6
tsconfig: 7.0.0
typescript: 5.3.3
vue: 3.2.45
transitivePeerDependencies:
- supports-color