((set, get) => ({
+ allCoords: [
+ { brickId: '1', coords: { x: 50, y: 50 } },
+ { brickId: '2', coords: { x: 68, y: 92 } },
+ { brickId: '3', coords: { x: 68, y: 134 } },
+ { brickId: '4', coords: { x: 68, y: 176 } },
+ { brickId: '5', coords: { x: 86, y: 218 } },
+ { brickId: '6', coords: { x: 68, y: 302 } },
+ ],
+ setCoords: (brickId: string, coords: { x: number; y: number }) =>
+ set(
+ (state: {
+ allCoords: {
+ brickId: string;
+ coords: {
+ x: number;
+ y: number;
+ };
+ }[];
+ }) => ({
+ allCoords: state.allCoords.map((item) =>
+ item.brickId === brickId ? { brickId, coords } : item,
+ ),
+ }),
+ ),
+ getCoords: (brickId: string) =>
+ get().allCoords.find((item) => item.brickId === brickId)?.coords,
+}));
+
+export const useBricksCoords = () => {
+ const allCoords = useBricksCoordsStore((state) => state.allCoords);
+ const setCoords = useBricksCoordsStore((state) => state.setCoords);
+ const getCoords = useBricksCoordsStore((state) => state.getCoords);
+
+ return { allCoords, setCoords, getCoords };
+};
diff --git a/modules/code-builder/playground/pages/WorkSpace/data.ts b/modules/code-builder/playground/pages/WorkSpace/data.ts
new file mode 100644
index 00000000..b29701c4
--- /dev/null
+++ b/modules/code-builder/playground/pages/WorkSpace/data.ts
@@ -0,0 +1,230 @@
+import { ModelBrickBlock, ModelBrickStatement } from '@/brick';
+import type {
+ TBrickType,
+ TBrickCoords,
+ TBrickArgDataType,
+ IBrickData,
+ IBrickExpression,
+ IBrickStatement,
+ IBrickBlock,
+} from '@/@types/brick';
+
+type InstanceMap = {
+ data: IBrickData;
+ expression: IBrickExpression;
+ statement: IBrickStatement;
+ block: IBrickBlock;
+};
+
+export type Brick = {
+ id: string;
+ type: TBrickType;
+ instance: InstanceMap[TBrickType];
+ surroundingBricks: { above: string; below: string };
+ childBricks: string[];
+ coords: TBrickCoords;
+ children?: Brick[];
+};
+
+export const WORKSPACES_DATA: { id: string; data: Brick[] }[] = [
+ {
+ id: 'workspace1',
+ data: [
+ {
+ id: '1',
+ type: 'block',
+ instance: new ModelBrickBlock({
+ label: 'Block',
+ args: Object.fromEntries(
+ [].map<
+ [string, { label: string; dataType: TBrickArgDataType; meta: unknown }]
+ >((name) => [name, { label: name, dataType: 'any', meta: undefined }]),
+ ),
+ colorBg: 'yellow',
+ colorFg: 'black',
+ outline: 'red',
+ scale: 2,
+ glyph: '',
+ connectAbove: true,
+ connectBelow: true,
+ name: '',
+ nestLengthY: 125,
+ }),
+ surroundingBricks: { above: '', below: '' },
+ childBricks: ['2', '3', '4', '5', '6'],
+ coords: { x: 50, y: 50 },
+ children: [
+ {
+ id: '2',
+ type: 'statement',
+ instance: new ModelBrickStatement({
+ label: 'Statement',
+ args: Object.fromEntries(
+ [].map<
+ [
+ string,
+ {
+ label: string;
+ dataType: TBrickArgDataType;
+ meta: unknown;
+ },
+ ]
+ >((name) => [
+ name,
+ { label: name, dataType: 'any', meta: undefined },
+ ]),
+ ),
+ colorBg: 'lightblue',
+ colorFg: 'black',
+ outline: 'blue',
+ scale: 2,
+ glyph: '',
+ connectAbove: true,
+ connectBelow: true,
+ name: '',
+ }),
+ surroundingBricks: { above: '1', below: '3' },
+ childBricks: [],
+ coords: { x: 68, y: 92 },
+ },
+ {
+ id: '3',
+ type: 'statement',
+ instance: new ModelBrickStatement({
+ label: 'Statement',
+ args: Object.fromEntries(
+ [].map<
+ [
+ string,
+ {
+ label: string;
+ dataType: TBrickArgDataType;
+ meta: unknown;
+ },
+ ]
+ >((name) => [
+ name,
+ { label: name, dataType: 'any', meta: undefined },
+ ]),
+ ),
+ colorBg: 'lightgreen',
+ colorFg: 'black',
+ outline: 'green',
+ scale: 2,
+ glyph: '',
+ connectAbove: true,
+ connectBelow: true,
+ name: '',
+ }),
+ surroundingBricks: { above: '2', below: '4' },
+ childBricks: [],
+ coords: { x: 68, y: 134 },
+ },
+ {
+ id: '4',
+ type: 'block',
+ instance: new ModelBrickBlock({
+ label: 'Block',
+ args: Object.fromEntries(
+ [].map<
+ [
+ string,
+ {
+ label: string;
+ dataType: TBrickArgDataType;
+ meta: unknown;
+ },
+ ]
+ >((name) => [
+ name,
+ { label: name, dataType: 'any', meta: undefined },
+ ]),
+ ),
+ colorBg: 'orange',
+ colorFg: 'black',
+ outline: 'grey',
+ scale: 2,
+ glyph: '',
+ connectAbove: true,
+ connectBelow: true,
+ name: '',
+ nestLengthY: 17,
+ }),
+ surroundingBricks: { above: '3', below: '6' },
+ childBricks: ['5'],
+ coords: { x: 68, y: 176 },
+ children: [
+ {
+ id: '5',
+ type: 'statement',
+ instance: new ModelBrickStatement({
+ label: 'Statement',
+ args: Object.fromEntries(
+ [].map<
+ [
+ string,
+ {
+ label: string;
+ dataType: TBrickArgDataType;
+ meta: unknown;
+ },
+ ]
+ >((name) => [
+ name,
+ { label: name, dataType: 'any', meta: undefined },
+ ]),
+ ),
+ colorBg: 'lightpink',
+ colorFg: 'black',
+ outline: 'deeppink',
+
+ scale: 2,
+ glyph: '',
+ connectAbove: true,
+ connectBelow: true,
+ name: '',
+ }),
+ surroundingBricks: { above: '', below: '' },
+ childBricks: [],
+ coords: { x: 86, y: 218 },
+ },
+ ],
+ },
+ {
+ id: '6',
+ type: 'statement',
+ instance: new ModelBrickStatement({
+ label: 'Statement',
+ args: Object.fromEntries(
+ [].map<
+ [
+ string,
+ {
+ label: string;
+ dataType: TBrickArgDataType;
+ meta: unknown;
+ },
+ ]
+ >((name) => [
+ name,
+ { label: name, dataType: 'any', meta: undefined },
+ ]),
+ ),
+ colorBg: 'lightgreen',
+ colorFg: 'black',
+ outline: 'green',
+ scale: 2,
+ glyph: '',
+ connectAbove: true,
+ connectBelow: true,
+ name: '',
+ }),
+ surroundingBricks: { above: '4', below: '' },
+ childBricks: [],
+ coords: { x: 68, y: 302 },
+ },
+ ],
+ },
+ ],
+ },
+];
diff --git a/modules/code-builder/playground/pages/WorkSpace/index.tsx b/modules/code-builder/playground/pages/WorkSpace/index.tsx
new file mode 100644
index 00000000..5958e93e
--- /dev/null
+++ b/modules/code-builder/playground/pages/WorkSpace/index.tsx
@@ -0,0 +1,37 @@
+import BrickFactory from './BrickFactory';
+import { WORKSPACES_DATA } from './data';
+import type { Brick } from './data';
+
+function RenderBricks({ brickData }: { brickData: Brick }) {
+ return (
+ <>
+
+ {brickData.children &&
+ brickData.children?.length > 0 &&
+ brickData.children.map((child) => )}
+ >
+ );
+}
+
+function WorkSpace() {
+ return (
+
+ {WORKSPACES_DATA.map((workspace) => (
+
+ ))}
+
+ );
+}
+
+export default WorkSpace;
diff --git a/modules/code-builder/playground/pages/WorkSpace/utils.ts b/modules/code-builder/playground/pages/WorkSpace/utils.ts
new file mode 100644
index 00000000..8adb28d5
--- /dev/null
+++ b/modules/code-builder/playground/pages/WorkSpace/utils.ts
@@ -0,0 +1,23 @@
+import type { Brick } from './data';
+
+export function getBelowBricksIds(arr: Brick[], item: string): string[] {
+ let result: string[] = [];
+
+ function recursiveSearch(arr: Brick[], item: string) {
+ arr.forEach((element, index) => {
+ if (element.id === item) {
+ arr.slice(index + 1, arr.length).map((el) => {
+ result = result.concat(el.childBricks);
+ result = result.concat(el.id);
+ });
+ return;
+ }
+ if (Array.isArray(element.children)) {
+ recursiveSearch(element.children, item);
+ }
+ });
+ }
+
+ recursiveSearch(arr, item);
+ return result;
+}
diff --git a/modules/code-builder/src/@types/brick.d.ts b/modules/code-builder/src/@types/brick.d.ts
index ffff1fe4..7a9e7e5b 100644
--- a/modules/code-builder/src/@types/brick.d.ts
+++ b/modules/code-builder/src/@types/brick.d.ts
@@ -83,10 +83,16 @@ export interface IBrickArgs {
* State properties associated with bricks that can take arguments.
*/
export interface IBrickArgsState {
- /** map of argument ID to corresponding bounding box dimensions */
- get argsExtent(): Record;
- /** map of argument ID to co-ordinates of the argument connections relative to the brick */
- get argsCoords(): Record;
+ /** Map of argument ID to corresponding extent and coords */
+ get bBoxArgs(): Record<
+ string,
+ {
+ /** Bounding box dimensions */
+ extent: TBrickExtent;
+ /** Co-ordinates of the argument connections relative to the brick */
+ coords: TBrickCoords;
+ }
+ >;
}
/**
@@ -110,11 +116,11 @@ export interface IBrick extends IBrickStyle {
// states
/** whether brick is highlighted */
highlighted: boolean;
- /** bounding box dimensions of the brick */
- get extent(): IBrickExtent;
+ /** Bounding box dimensions and coords of the brick */
+ get bBoxBrick(): { extent: TBrickExtent; coords: TBrickCoords };
/** SVG string for the brick based on defining properties and current state */
- get SVGpaths(): string[];
+ get SVGpath(): string;
}
/**
@@ -124,6 +130,14 @@ export interface IBrick extends IBrickStyle {
export interface IBrickArgument extends IBrick {
/** data type returned by an argument brick */
get dataType(): TBrickArgDataType;
+
+ /** Bounding box dimensions and coords of the left notch */
+ get bBoxNotchArg(): {
+ /** Bounding box dimensions of the left notch */
+ extent: TBrickExtent;
+ /** Co-ordinates of the left notch relative to the brick */
+ coords: TBrickCoords;
+ };
}
/**
@@ -136,6 +150,22 @@ export interface IBrickInstruction extends IBrick, IBrickArgs, IBrickArgsState {
get connectAbove(): boolean;
/** is connection allowed below the brick */
get connectBelow(): boolean;
+
+ /** Bounding box dimensions and coords of the top instruction notch */
+ get bBoxNotchInsTop(): {
+ /** Bounding box dimensions of the top instruction notch */
+ extent: TBrickExtent;
+ /** Co-ordinates of the top instruction notch relative to the brick */
+ coords: TBrickCoords;
+ };
+
+ /** Bounding box dimensions and coords of the bottom instruction notch */
+ get bBoxNotchInsBot(): {
+ /** Bounding box dimensions of the bottom instruction notch */
+ extent: TBrickExtent;
+ /** Co-ordinates of the bottom instruction notch relative to the brick */
+ coords: TBrickCoords;
+ };
}
/**
@@ -173,10 +203,18 @@ export interface IBrickStatement extends IBrickInstruction {
* @interface
* Type definition of a block brick.
*/
-export interface IBrickBlock extends IBrickInstruction {
+export interface IBrickBlock extends IBrickInstruction, IBrickNotchInsNestTopState {
// state
/** combined bounding box of the instructions nested within the brick */
- get nestExtent(): IBrickExtent;
+ get nestExtent(): TBrickExtent;
/** whether brick nesting is hidden */
collapsed: boolean;
+
+ /** Bounding box dimensions and coords of the top instruction notch of the nesting */
+ get bBoxNotchInsNestTop(): {
+ /** Bounding box dimensions of the top instruction notch of the nesting */
+ extent: TBrickExtent;
+ /** Co-ordinates of the top instruction notch of the nesting relative to the brick */
+ coords: TBrickCoords;
+ };
}
diff --git a/modules/code-builder/src/brick/design0/BrickBlock.ts b/modules/code-builder/src/brick/design0/BrickBlock.ts
index 393f015d..07d8dcbc 100644
--- a/modules/code-builder/src/brick/design0/BrickBlock.ts
+++ b/modules/code-builder/src/brick/design0/BrickBlock.ts
@@ -10,6 +10,8 @@ import { generatePath } from './utils/path';
* Final class that defines a block brick.
*/
export default class BrickBlock extends BrickModelBlock {
+ readonly _pathResults: ReturnType;
+
constructor(params: {
// intrinsic
name: string;
@@ -30,36 +32,59 @@ export default class BrickBlock extends BrickModelBlock {
scale: number;
connectAbove: boolean;
connectBelow: boolean;
+ nestLengthY?: number;
}) {
super(params);
+ const argsKeys = Object.keys(this._args);
+ this._pathResults = generatePath({
+ hasNest: true,
+ hasNotchArg: false,
+ hasNotchInsTop: this._connectAbove,
+ hasNotchInsBot: this._connectBelow,
+ scale: this._scale,
+ nestLengthY: params.nestLengthY ?? 17,
+ innerLengthX: 100,
+ argHeights: Array.from({ length: argsKeys.length }, () => 17),
+ });
}
- public get extent(): TBrickExtent {
- return { width: 0, height: 0 };
+ public get SVGpath(): string {
+ return this._pathResults.path;
}
- public get argsCoords(): Record {
- return {};
+ public get bBoxBrick(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxBrick;
}
- public get SVGpaths(): string[] {
- const argsLength = Object.keys(this._args).length;
- let result: string[] = [];
+ public get bBoxArgs(): Record {
+ const argsKeys = Object.keys(this._args);
+ const result: Record = {};
- const path = generatePath({
- hasNest: true,
- hasNotchNest: true,
- hasNotchArg: true,
- hasNotchInsTop: this._connectAbove,
- hasNotchInsBot: this._connectBelow,
- scale: this._scale,
- nestLengthY: 30,
- innerLengthX: 100,
- argHeights: Array.from({ length: argsLength }, () => 17),
- }).path;
+ argsKeys.forEach((key, index) => {
+ result[key] = { extent: { width: 0, height: 0 }, coords: { x: 0, y: 0 } };
+ const argX = this._pathResults.bBoxArgs.coords[index].x;
+ const argY = this._pathResults.bBoxArgs.coords[index].y;
- result.push(path);
+ result[key].extent = this._pathResults.bBoxArgs.extent;
+ result[key].coords = { x: argX, y: argY };
+ });
return result;
}
+
+ public get bBoxNotchArg(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchArg!;
+ }
+
+ public get bBoxNotchInsTop(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchInsTop!;
+ }
+
+ public get bBoxNotchInsBot(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchInsBot!;
+ }
+
+ public get bBoxNotchInsNestTop(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchInsNestTop!;
+ }
}
diff --git a/modules/code-builder/src/brick/design0/BrickData.ts b/modules/code-builder/src/brick/design0/BrickData.ts
index 194c6069..3a36002c 100644
--- a/modules/code-builder/src/brick/design0/BrickData.ts
+++ b/modules/code-builder/src/brick/design0/BrickData.ts
@@ -1,4 +1,4 @@
-import type { TBrickArgDataType, TBrickColor, TBrickExtent } from '@/@types/brick';
+import type { TBrickArgDataType, TBrickColor, TBrickCoords, TBrickExtent } from '@/@types/brick';
import { BrickModelData } from '../model';
import { generatePath } from './utils/path';
@@ -10,6 +10,8 @@ import { generatePath } from './utils/path';
* Final class that defines a data brick.
*/
export default class BrickData extends BrickModelData {
+ readonly _pathResults: ReturnType;
+
constructor(params: {
// intrinsic
name: string;
@@ -26,16 +28,7 @@ export default class BrickData extends BrickModelData {
scale: number;
}) {
super(params);
- }
-
- public get extent(): TBrickExtent {
- return { width: 0, height: 0 };
- }
-
- public get SVGpaths(): string[] {
- let result: string[] = [];
-
- const path = generatePath({
+ this._pathResults = generatePath({
hasNest: false,
hasNotchArg: true,
hasNotchInsTop: false,
@@ -43,10 +36,18 @@ export default class BrickData extends BrickModelData {
scale: this._scale,
innerLengthX: 100,
argHeights: [],
- }).path;
+ });
+ }
- result.push(path);
+ public get SVGpath(): string {
+ return this._pathResults.path;
+ }
+
+ public get bBoxBrick(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxBrick;
+ }
- return result;
+ public get bBoxNotchArg(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchArg!;
}
}
diff --git a/modules/code-builder/src/brick/design0/BrickExpression.ts b/modules/code-builder/src/brick/design0/BrickExpression.ts
index a9fcee02..a45247a1 100644
--- a/modules/code-builder/src/brick/design0/BrickExpression.ts
+++ b/modules/code-builder/src/brick/design0/BrickExpression.ts
@@ -10,6 +10,8 @@ import { generatePath } from './utils/path';
* Final class that defines a expression brick.
*/
export default class BrickExpression extends BrickModelExpression {
+ readonly _pathResults: ReturnType;
+
constructor(params: {
// intrinsic
name: string;
@@ -31,32 +33,43 @@ export default class BrickExpression extends BrickModelExpression {
scale: number;
}) {
super(params);
+ const argsKeys = Object.keys(this._args);
+ this._pathResults = generatePath({
+ hasNest: false,
+ hasNotchArg: true,
+ hasNotchInsTop: false,
+ hasNotchInsBot: false,
+ scale: this._scale,
+ innerLengthX: 100,
+ argHeights: Array.from({ length: argsKeys.length }, () => 17),
+ });
}
- public get extent(): TBrickExtent {
- return { width: 0, height: 0 };
+ public get SVGpath(): string {
+ return this._pathResults.path;
}
- public get argsCoords(): Record {
- return {};
+ public get bBoxBrick(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxBrick;
}
- public get SVGpaths(): string[] {
- const argsLength = Object.keys(this._args).length;
- let result: string[] = [];
+ public get bBoxArgs(): Record {
+ const argsKeys = Object.keys(this._args);
+ const result: Record = {};
- const path = generatePath({
- hasNest: false,
- hasNotchArg: true,
- hasNotchInsTop: false,
- hasNotchInsBot: false,
- scale: this._scale,
- innerLengthX: 100,
- argHeights: Array.from({ length: argsLength }, () => 17),
- }).path;
+ argsKeys.forEach((key, index) => {
+ result[key] = { extent: { width: 0, height: 0 }, coords: { x: 0, y: 0 } };
+ const argX = this._pathResults.bBoxArgs.coords[index].x;
+ const argY = this._pathResults.bBoxArgs.coords[index].y;
- result.push(path);
+ result[key].extent = this._pathResults.bBoxArgs.extent;
+ result[key].coords = { x: argX, y: argY };
+ });
return result;
}
+
+ public get bBoxNotchArg(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchArg!;
+ }
}
diff --git a/modules/code-builder/src/brick/design0/BrickStatement.ts b/modules/code-builder/src/brick/design0/BrickStatement.ts
index 100b6f41..43fba3a8 100644
--- a/modules/code-builder/src/brick/design0/BrickStatement.ts
+++ b/modules/code-builder/src/brick/design0/BrickStatement.ts
@@ -10,6 +10,8 @@ import { generatePath } from './utils/path';
* Final class that defines a statement brick.
*/
export default class BrickStatement extends BrickModelStatement {
+ readonly _pathResults: ReturnType;
+
constructor(params: {
// intrinsic
name: string;
@@ -32,32 +34,47 @@ export default class BrickStatement extends BrickModelStatement {
connectBelow: boolean;
}) {
super(params);
+ const argsKeys = Object.keys(this._args);
+ this._pathResults = generatePath({
+ hasNest: false,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: this._scale,
+ innerLengthX: 100,
+ argHeights: Array.from({ length: argsKeys.length }, () => 17),
+ });
}
- public get extent(): TBrickExtent {
- return { width: 0, height: 0 };
+ public get SVGpath(): string {
+ return this._pathResults.path;
}
- public get argsCoords(): Record {
- return {};
+ public get bBoxBrick(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxBrick;
}
- public get SVGpaths(): string[] {
- const argsLength = Object.keys(this._args).length;
- let result: string[] = [];
+ public get bBoxArgs(): Record {
+ const argsKeys = Object.keys(this._args);
+ const result: Record = {};
- const path = generatePath({
- hasNest: false,
- hasNotchArg: false,
- hasNotchInsTop: true,
- hasNotchInsBot: true,
- scale: this._scale,
- innerLengthX: 100,
- argHeights: Array.from({ length: argsLength }, () => 17),
- }).path;
+ argsKeys.forEach((key, index) => {
+ result[key] = { extent: { width: 0, height: 0 }, coords: { x: 0, y: 0 } };
+ const argX = this._pathResults.bBoxArgs.coords[index].x;
+ const argY = this._pathResults.bBoxArgs.coords[index].y;
- result.push(path);
+ result[key].extent = this._pathResults.bBoxArgs.extent;
+ result[key].coords = { x: argX, y: argY };
+ });
return result;
}
+
+ public get bBoxNotchInsTop(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchInsTop!;
+ }
+
+ public get bBoxNotchInsBot(): { extent: TBrickExtent; coords: TBrickCoords } {
+ return this._pathResults.bBoxNotchInsBot!;
+ }
}
diff --git a/modules/code-builder/src/brick/design0/components/BrickBlock.tsx b/modules/code-builder/src/brick/design0/components/BrickBlock.tsx
index 2eb915dd..2a9d15b2 100644
--- a/modules/code-builder/src/brick/design0/components/BrickBlock.tsx
+++ b/modules/code-builder/src/brick/design0/components/BrickBlock.tsx
@@ -1,18 +1,31 @@
-import type { IBrickBlock } from '@/@types/brick';
+import type { DOMAttributes, JSX } from 'react';
+import type { Brick } from 'playground/pages/WorkSpace/data';
// -------------------------------------------------------------------------------------------------
-export default function (props: { instance: IBrickBlock }): JSX.Element {
- const { instance } = props;
-
+export default function ({
+ brickData,
+ moveProps,
+ coords,
+ color,
+}: {
+ brickData: Brick;
+ moveProps: DOMAttributes;
+ coords: { x: number; y: number };
+ color: string;
+}): JSX.Element {
return (
-
+
;
+ coords: { x: number; y: number };
+ color: string;
+}): JSX.Element {
return (
-
+
;
+ coords: { x: number; y: number };
+ color: string;
+}): JSX.Element {
return (
-
+
;
+ coords: { x: number; y: number };
+ color: string;
+}): JSX.Element {
return (
-
+
Math.max(argSectionLengthYMin, sectionLengthY))
+ .reduce((a, b) => a + b, 0);
+
+ let height =
+ strokeWidth +
+ (argsLength !== 0 ? argsLength : 2 * cornerRadius + notchArgLengthY) +
+ strokeWidth;
+
+ if (_hasNest) {
+ height += _nestLengthY + strokeWidth * 4 + 2 * cornerRadius + notchArgLengthY;
+ }
+
return {
extent: {
- width: _innerLengthX,
- height: _argsLengthY.reduce((a, b) => a + b, 0),
+ width: strokeWidth + _innerLengthX + strokeWidth,
+ height: height,
},
coords: {
- x: 0,
+ x: _hasNotchArg ? notchArgLengthX : 0,
y: 0,
},
};
@@ -357,12 +372,12 @@ function _getBBoxNotchArg(): {
} {
return {
extent: {
- width: notchArgLengthX,
- height: notchArgLengthY - 2,
+ width: _hasNotchArg ? notchArgLengthX : 0,
+ height: _hasNotchArg ? strokeWidth + 8 + strokeWidth : 0,
},
coords: {
x: 0,
- y: 0,
+ y: _hasNotchArg ? 6 : 0,
},
};
}
@@ -378,11 +393,16 @@ function _getBBoxNotchInsTop(): {
} {
return {
extent: {
- width: notchInsLengthX,
+ width: notchInsLengthX - 2 * strokeWidth,
height: notchInsLengthY,
},
coords: {
- x: 0,
+ x:
+ strokeWidth +
+ (_hasNotchArg ? notchArgLengthX : 0) +
+ cornerRadius +
+ notchInsOffsetX +
+ strokeWidth,
y: 0,
},
};
@@ -399,12 +419,17 @@ function _getBBoxNotchInsBot(): {
} {
return {
extent: {
- width: notchInsLengthX,
- height: notchInsLengthY,
+ width: notchInsLengthX - 2 * strokeWidth,
+ height: strokeWidth + notchInsLengthY - strokeWidth,
},
coords: {
- x: 0,
- y: 0,
+ x:
+ strokeWidth +
+ (_hasNotchArg ? notchArgLengthX : 0) +
+ cornerRadius +
+ notchInsOffsetX +
+ strokeWidth,
+ y: _getBBoxBrick().extent.height,
},
};
}
@@ -418,14 +443,30 @@ function _getBBoxNotchInsNestTop(): {
extent: { width: number; height: number };
coords: { x: number; y: number };
} {
+ const argSectionLengthYMin = cornerRadius * 2 + notchArgLengthY;
+ const argsLength = _argsLengthY
+ .map((sectionLengthY) => Math.max(argSectionLengthYMin, sectionLengthY))
+ .reduce((a, b) => a + b, 0);
+
+ const offsetY =
+ strokeWidth +
+ (argsLength !== 0 ? argsLength : 2 * cornerRadius + notchArgLengthY) +
+ strokeWidth;
+
return {
extent: {
- width: notchInsLengthX,
+ width: notchInsLengthX - 2 * strokeWidth,
height: notchInsLengthY,
},
coords: {
- x: 0,
- y: 0,
+ x:
+ strokeWidth +
+ (_hasNotchArg ? notchArgLengthX : 0) +
+ cornerRadius +
+ notchInsOffsetX +
+ notchInsLengthX -
+ strokeWidth,
+ y: offsetY,
},
};
}
@@ -439,17 +480,31 @@ function _getBBoxArgs(): {
extent: { width: number; height: number };
coords: { x: number; y: number }[];
} {
+ const offsetX =
+ strokeWidth +
+ (_hasNotchArg ? notchArgLengthX : 0) +
+ _innerLengthX -
+ notchArgLengthX +
+ strokeWidth;
+ const firstOffsetY = strokeWidth + cornerRadius + 1 + strokeWidth;
+ const argSectionLengthYMin = cornerRadius * 2 + notchArgLengthY;
+ const argsLength = _argsLengthY.map((sectionLengthY) =>
+ Math.max(argSectionLengthYMin, sectionLengthY),
+ );
+
return {
extent: {
width: notchArgLengthX,
- height: notchArgLengthY,
+ height: 10 - 2 * strokeWidth,
},
- coords: [
- {
- x: 0,
- y: 0,
- },
- ],
+ coords: _argsLengthY.map((_, index) => {
+ return {
+ x: offsetX,
+ y:
+ firstOffsetY +
+ (index === 0 ? 0 : argsLength.slice(0, index).reduce((a, b) => a + b, 0)),
+ };
+ }),
};
}
diff --git a/modules/code-builder/src/brick/design0/utils/spec/path.spec.ts b/modules/code-builder/src/brick/design0/utils/spec/path.spec.ts
index 09322eaf..044ed24e 100644
--- a/modules/code-builder/src/brick/design0/utils/spec/path.spec.ts
+++ b/modules/code-builder/src/brick/design0/utils/spec/path.spec.ts
@@ -376,20 +376,154 @@ describe('Code Builder: Brick > Design 0 > Utility: Path', () => {
});
describe('Bounding Box Calculation', () => {
- it.todo('evaluates brick bounding box for brick with no argument notch');
+ it('evaluates brick bounding box for brick with no argument notch', () => {
+ const { bBoxBrick } = generatePath({
+ hasNest: false,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: 1,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxBrick.extent.height).toBe(21);
+ expect(bBoxBrick.extent.width).toBe(101);
+ expect(bBoxBrick.coords.x).toBe(0);
+ expect(bBoxBrick.coords.y).toBe(0);
+ });
- it.todo('evaluates brick bounding box for brick with argument notch');
+ it('evaluates brick bounding box for brick with argument notch', () => {
+ const { bBoxBrick } = generatePath({
+ hasNest: false,
+ hasNotchArg: true,
+ hasNotchInsTop: false,
+ hasNotchInsBot: false,
+ scale: 1,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxBrick.extent.height).toBe(21);
+ expect(bBoxBrick.extent.width).toBe(101);
+ expect(bBoxBrick.coords.x).toBe(8);
+ expect(bBoxBrick.coords.y).toBe(0);
+ });
- it.todo('evaluates argument notch bounding box for brick');
+ it('evaluates argument notch bounding box for brick', () => {
+ const { bBoxNotchArg } = generatePath({
+ hasNest: false,
+ hasNotchArg: true,
+ hasNotchInsTop: false,
+ hasNotchInsBot: false,
+ scale: 1,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxNotchArg?.extent.height).toBe(9);
+ expect(bBoxNotchArg?.extent.width).toBe(8);
+ expect(bBoxNotchArg?.coords.x).toBe(0);
+ expect(bBoxNotchArg?.coords.y).toBe(6);
+ });
+
+ it('evaluates top instruction notch bounding box', () => {
+ const { bBoxNotchInsTop } = generatePath({
+ hasNest: false,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: 1,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxNotchInsTop?.extent.height).toBe(2);
+ expect(bBoxNotchInsTop?.extent.width).toBe(9);
+ expect(bBoxNotchInsTop?.coords.x).toBe(9);
+ expect(bBoxNotchInsTop?.coords.y).toBe(0);
+ });
- it.todo('evaluates top instruction notch bounding box');
+ it('evaluates bottom instruction notch bounding box for non-nesting brick', () => {
+ const { bBoxNotchInsBot } = generatePath({
+ hasNest: false,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: 1,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxNotchInsBot?.extent.height).toBe(2);
+ expect(bBoxNotchInsBot?.extent.width).toBe(9);
+ expect(bBoxNotchInsBot?.coords.x).toBe(9);
+ expect(bBoxNotchInsBot?.coords.y).toBe(21);
+ });
- it.todo('evaluates bottom instruction notch bounding box for non-nesting brick');
+ it('evaluates bottom instruction notch bounding box for nesting brick', () => {
+ const { bBoxNotchInsBot } = generatePath({
+ hasNest: true,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: 1,
+ nestLengthY: 30,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxNotchInsBot?.extent.height).toBe(2);
+ expect(bBoxNotchInsBot?.extent.width).toBe(9);
+ expect(bBoxNotchInsBot?.coords.x).toBe(9);
+ expect(bBoxNotchInsBot?.coords.y).toBe(73);
+ });
- it.todo('evaluates bottom instruction notch bounding box for nesting brick');
+ it('evaluates inner top instruction notch bounding box for nesting brick', () => {
+ const { bBoxNotchInsNestTop } = generatePath({
+ hasNest: true,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: 1,
+ nestLengthY: 30,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxNotchInsNestTop?.extent.height).toBe(2);
+ expect(bBoxNotchInsNestTop?.extent.width).toBe(9);
+ expect(bBoxNotchInsNestTop?.coords.x).toBe(18);
+ expect(bBoxNotchInsNestTop?.coords.y).toBe(21);
+ });
- it.todo('evaluates inner top instruction notch bounding box for nesting brick');
+ it('evaluates inner top instruction notch bounding box for nesting brick', () => {
+ const { bBoxNotchInsNestTop } = generatePath({
+ hasNest: true,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: 1,
+ nestLengthY: 30,
+ innerLengthX: 100,
+ argHeights: [],
+ });
+ expect(bBoxNotchInsNestTop?.extent.height).toBe(2);
+ expect(bBoxNotchInsNestTop?.extent.width).toBe(9);
+ expect(bBoxNotchInsNestTop?.coords.x).toBe(18);
+ expect(bBoxNotchInsNestTop?.coords.y).toBe(21);
+ });
- it.todo('evaluates bounding boxes for arguments');
+ it('evaluates bounding boxes for arguments', () => {
+ const { bBoxArgs } = generatePath({
+ hasNest: false,
+ hasNotchArg: false,
+ hasNotchInsTop: true,
+ hasNotchInsBot: true,
+ scale: 1,
+ innerLengthX: 100,
+ argHeights: [17, 30, 40],
+ });
+ expect(bBoxArgs.extent.height).toBe(9);
+ expect(bBoxArgs.extent.width).toBe(8);
+ expect(bBoxArgs.coords).toStrictEqual([
+ { x: 93, y: 6 },
+ { x: 93, y: 26 },
+ { x: 93, y: 56 },
+ ]);
+ });
});
});
diff --git a/modules/code-builder/src/brick/model.ts b/modules/code-builder/src/brick/model.ts
index f86569d1..cfadd568 100644
--- a/modules/code-builder/src/brick/model.ts
+++ b/modules/code-builder/src/brick/model.ts
@@ -101,9 +101,9 @@ abstract class BrickModel implements IBrick {
return this._scale;
}
- public abstract get extent(): TBrickExtent;
+ public abstract get bBoxBrick(): { extent: TBrickExtent; coords: TBrickCoords };
- public abstract get SVGpaths(): string[];
+ public abstract get SVGpath(): string;
}
/**
@@ -135,6 +135,8 @@ abstract class BrickModelArgument extends BrickModel implements IBrickArgument {
public get dataType(): TBrickArgDataType {
return this._dataType;
}
+
+ public abstract get bBoxNotchArg(): { extent: TBrickExtent; coords: TBrickCoords };
}
/**
@@ -155,8 +157,6 @@ abstract class BrickModelInstruction extends BrickModel implements IBrickInstruc
protected _connectAbove: boolean;
protected _connectBelow: boolean;
- public argsExtent: Record = {};
-
constructor(params: {
// intrinsic
name: string;
@@ -205,7 +205,11 @@ abstract class BrickModelInstruction extends BrickModel implements IBrickInstruc
return this._connectBelow;
}
- public abstract get argsCoords(): Record;
+ public abstract get bBoxNotchInsTop(): { extent: TBrickExtent; coords: TBrickCoords };
+
+ public abstract get bBoxNotchInsBot(): { extent: TBrickExtent; coords: TBrickCoords };
+
+ public abstract get bBoxArgs(): Record;
}
// -- public classes -------------------------------------------------------------------------------
@@ -270,8 +274,6 @@ export abstract class BrickModelExpression extends BrickModelArgument implements
}
>;
- public argsExtent: Record = {};
-
constructor(params: {
// intrinsic
name: string;
@@ -308,7 +310,7 @@ export abstract class BrickModelExpression extends BrickModelArgument implements
return this._args;
}
- public abstract get argsCoords(): Record;
+ public abstract get bBoxArgs(): Record;
}
/**
@@ -374,4 +376,6 @@ export abstract class BrickModelBlock extends BrickModelInstruction implements I
}) {
super({ ...params, type: 'block' });
}
+
+ public abstract get bBoxNotchInsNestTop(): { extent: TBrickExtent; coords: TBrickCoords };
}
diff --git a/modules/code-builder/src/brick/stories/components/BrickBlock.tsx b/modules/code-builder/src/brick/stories/components/BrickBlock.tsx
index 406b4f8c..516bb38e 100644
--- a/modules/code-builder/src/brick/stories/components/BrickBlock.tsx
+++ b/modules/code-builder/src/brick/stories/components/BrickBlock.tsx
@@ -1,11 +1,11 @@
-import type { IBrickBlock, TBrickArgDataType, TBrickColor } from '@/@types/brick';
-
import BrickWrapper from './BrickWrapper';
+import type { JSX } from 'react';
+import type { IBrickBlock, TBrickArgDataType, TBrickColor } from '@/@types/brick';
// -------------------------------------------------------------------------------------------------
export default function (props: {
- Component: (props: { instance: IBrickBlock }) => JSX.Element;
+ Component: (props: { instance: IBrickBlock; visualIndicators?: JSX.Element }) => JSX.Element;
prototype: new (params: {
name: string;
label: string;
@@ -52,9 +52,71 @@ export default function (props: {
name: '',
});
+ const VisualIndicators = () => (
+ <>
+ {/* Overall Bounding Box of the Brick */}
+
+
+ {/* Right args bounding box */}
+ {Object.keys(instance.bBoxArgs).map((name, i) => {
+ const arg = instance.bBoxArgs[name];
+
+ return (
+
+ );
+ })}
+
+ {/* Top instruction notch bounding box */}
+
+
+ {/* Bottom instruction notch bounding box */}
+
+
+ {/* Top instruction notch inside nesting bounding box */}
+
+ >
+ );
+
return (
+
);
}
diff --git a/modules/code-builder/src/brick/stories/components/BrickData.tsx b/modules/code-builder/src/brick/stories/components/BrickData.tsx
index c8d4f7b4..217aa774 100644
--- a/modules/code-builder/src/brick/stories/components/BrickData.tsx
+++ b/modules/code-builder/src/brick/stories/components/BrickData.tsx
@@ -1,11 +1,11 @@
-import type { IBrickData, TBrickArgDataType, TBrickColor } from '@/@types/brick';
-
import BrickWrapper from './BrickWrapper';
+import type { JSX } from 'react';
+import type { IBrickData, TBrickArgDataType, TBrickColor } from '@/@types/brick';
// -------------------------------------------------------------------------------------------------
export default function (props: {
- Component: (props: { instance: IBrickData }) => JSX.Element;
+ Component: (props: { instance: IBrickData; visualIndicators?: JSX.Element }) => JSX.Element;
prototype: new (params: {
name: string;
label: string;
@@ -39,9 +39,34 @@ export default function (props: {
name: '',
});
+ const VisualIndicators = () => (
+ <>
+ {/* Overall Bounding Box of the Brick */}
+
+
+ {/* Left notch bounding box */}
+
+ >
+ );
+
return (
+
);
}
diff --git a/modules/code-builder/src/brick/stories/components/BrickExpression.tsx b/modules/code-builder/src/brick/stories/components/BrickExpression.tsx
index 396468f8..8d1a1b69 100644
--- a/modules/code-builder/src/brick/stories/components/BrickExpression.tsx
+++ b/modules/code-builder/src/brick/stories/components/BrickExpression.tsx
@@ -1,11 +1,11 @@
-import type { IBrickExpression, TBrickArgDataType, TBrickColor } from '@/@types/brick';
-
import BrickWrapper from './BrickWrapper';
+import type { JSX } from 'react';
+import type { IBrickExpression, TBrickArgDataType, TBrickColor } from '@/@types/brick';
// -------------------------------------------------------------------------------------------------
export default function (props: {
- Component: (props: { instance: IBrickExpression }) => JSX.Element;
+ Component: (props: { instance: IBrickExpression; visualIndicators?: JSX.Element }) => JSX.Element;
prototype: new (params: {
name: string;
label: string;
@@ -50,9 +50,51 @@ export default function (props: {
name: '',
});
+ const VisualIndicators = () => (
+ <>
+ {/* Overall Bounding Box of the Brick */}
+
+
+ {/* Right args bounding box */}
+ {Object.keys(instance.bBoxArgs).map((name, i) => {
+ const arg = instance.bBoxArgs[name];
+
+ return (
+
+ );
+ })}
+
+ {/* Left notch bounding box */}
+
+ >
+ );
+
return (
+
);
}
diff --git a/modules/code-builder/src/brick/stories/components/BrickStatement.tsx b/modules/code-builder/src/brick/stories/components/BrickStatement.tsx
index 0e53fff7..b68c3969 100644
--- a/modules/code-builder/src/brick/stories/components/BrickStatement.tsx
+++ b/modules/code-builder/src/brick/stories/components/BrickStatement.tsx
@@ -1,11 +1,11 @@
-import type { IBrickStatement, TBrickArgDataType, TBrickColor } from '@/@types/brick';
-
import BrickWrapper from './BrickWrapper';
+import type { JSX } from 'react';
+import type { IBrickStatement, TBrickArgDataType, TBrickColor } from '@/@types/brick';
// -------------------------------------------------------------------------------------------------
export default function (props: {
- Component: (props: { instance: IBrickStatement }) => JSX.Element;
+ Component: (props: { instance: IBrickStatement; visualIndicators?: JSX.Element }) => JSX.Element;
prototype: new (params: {
name: string;
label: string;
@@ -52,9 +52,61 @@ export default function (props: {
name: '',
});
+ const VisualIndicators = () => (
+ <>
+ {/* Overall Bounding Box of the Brick */}
+
+
+ {/* Right args bounding box */}
+ {Object.keys(instance.bBoxArgs).map((name, i) => {
+ const arg = instance.bBoxArgs[name];
+
+ return (
+
+ );
+ })}
+
+ {/* Top instruction notch bounding box */}
+
+
+ {/* Bottom instruction notch bounding box */}
+
+ >
+ );
+
return (
+
);
}
diff --git a/modules/singer/playground/pages/Voice.tsx b/modules/singer/playground/pages/Voice.tsx
index 94ab7ff4..b94b744f 100644
--- a/modules/singer/playground/pages/Voice.tsx
+++ b/modules/singer/playground/pages/Voice.tsx
@@ -1,7 +1,7 @@
import { Voice } from '@/core/voice';
import SynthUtils from '@/core/synthUtils';
import * as Tone from 'tone';
-import { _state, noteValueToSeconds, _defaultSynth, _polySynth } from '@/singer';
+// import { _state, noteValueToSeconds, _defaultSynth, _polySynth } from '@/singer';
import { setupSynthUtils } from '@/core/synthUtils';
import { injected } from '@/index';
@@ -18,26 +18,27 @@ await (async () => {
'audio.piano': getAsset('audio.piano')!,
'audio.snare': getAsset('audio.snare')!,
};
-
})();
function _getSynth(synthType: string) {
- switch (synthType) {
- case 'polysynth':
- return _polySynth;
- }
- return _defaultSynth;
+ synthType;
+
+ // switch (synthType) {
+ // case 'polysynth':
+ // return _polySynth;
+ // }
+ // return _defaultSynth;
}
async function playSynth(synthType: string) {
await Tone.start();
- const synth = _getSynth(synthType);
- _state.notesPlayed = 0;
+ // const synth = _getSynth(synthType);
+ // _state.notesPlayed = 0;
console.log('playing c4 using', synthType);
- const now = Tone.now();
- let offset = noteValueToSeconds(_state.notesPlayed);
- synth.triggerAttackRelease('c4', '4n', now + offset);
- _state.notesPlayed += 4;
+ // const now = Tone.now();
+ // let offset = noteValueToSeconds(_state.notesPlayed);
+ // synth.triggerAttackRelease('c4', '4n', now + offset);
+ // _state.notesPlayed += 4;
}
async function voice() {
@@ -61,7 +62,6 @@ async function voice() {
// }
// }).toDestination();
-
// _state.notesPlayed = 0;
// const now = Tone.now();
// let offset = noteValueToSeconds(_state.notesPlayed);
diff --git a/package-lock.json b/package-lock.json
index 88f0289d..8e2766f7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -141,7 +141,9 @@
"name": "@sugarlabs/mb4-module-code-builder",
"version": "4.2.0",
"dependencies": {
- "@sugarlabs/musicblocks-v4-lib": "^0.2.0"
+ "@sugarlabs/musicblocks-v4-lib": "^0.2.0",
+ "react-aria": "^3.26.0",
+ "zustand": "^4.3.9"
},
"peerDependencies": {
"react": "~18.x",
@@ -2969,6 +2971,50 @@
"integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==",
"dev": true
},
+ "node_modules/@formatjs/ecma402-abstract": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.0.tgz",
+ "integrity": "sha512-6ueQTeJZtwKjmh23bdkq/DMqH4l4bmfvtQH98blOSbiXv/OUiyijSW6jU22IT8BNM1ujCaEvJfTtyCYVH38EMQ==",
+ "dependencies": {
+ "@formatjs/intl-localematcher": "0.4.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/fast-memoize": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz",
+ "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/icu-messageformat-parser": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.0.tgz",
+ "integrity": "sha512-yT6at0qc0DANw9qM/TU8RZaCtfDXtj4pZM/IC2WnVU80yAcliS3KVDiuUt4jSQAeFL9JS5bc2hARnFmjPdA6qw==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "1.17.0",
+ "@formatjs/icu-skeleton-parser": "1.6.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/icu-skeleton-parser": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.0.tgz",
+ "integrity": "sha512-eMmxNpoX/J1IPUjPGSZwo0Wh+7CEvdEMddP2Jxg1gQJXfGfht/FdW2D5XDFj3VMbOTUQlDIdZJY7uC6O6gjPoA==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "1.17.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@formatjs/intl-localematcher": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.0.tgz",
+ "integrity": "sha512-bRTd+rKomvfdS4QDlVJ6TA/Jx1F2h/TBVO5LjvhQ7QPPHp19oPNMIum7W2CMEReq/zPxpmCeB31F9+5gl/qtvw==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@gar/promisify": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
@@ -3017,6 +3063,39 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@internationalized/date": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.3.0.tgz",
+ "integrity": "sha512-qfRd7jCIgUjabI8RxeAsxhLDRS1u8eUPX96GB5uBp1Tpm6YY6dVveE7YwsTEV6L4QOp5LKFirFHHGsL/XQwJIA==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@internationalized/message": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.1.tgz",
+ "integrity": "sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0",
+ "intl-messageformat": "^10.1.0"
+ }
+ },
+ "node_modules/@internationalized/number": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.2.1.tgz",
+ "integrity": "sha512-hK30sfBlmB1aIe3/OwAPg9Ey0DjjXvHEiGVhNaOiBJl31G0B6wMaX8BN3ibzdlpyRNE9p7X+3EBONmxtJO9Yfg==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@internationalized/string": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.1.1.tgz",
+ "integrity": "sha512-fvSr6YRoVPgONiVIUhgCmIAlifMVCeej/snPZVzbzRPxGpHl3o1GRe+d/qh92D8KhgOciruDUH8I5mjdfdjzfA==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@@ -5110,230 +5189,1601 @@
"integrity": "sha512-m90iz8UsXx1rgPm1dxsBQjSrCViWYZIrp8bpwjSCW24j3kifyilYSXGuKaRwZwUn7eNmH/kZcI9/8qeGIPF4Sg==",
"dev": true,
"dependencies": {
- "nx": "15.9.4"
+ "nx": "15.9.4"
+ },
+ "bin": {
+ "tao": "index.js"
+ }
+ },
+ "node_modules/@octokit/auth-token": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz",
+ "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/core": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz",
+ "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/auth-token": "^3.0.0",
+ "@octokit/graphql": "^5.0.0",
+ "@octokit/request": "^6.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/endpoint": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz",
+ "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz",
+ "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/request": "^6.0.0",
+ "@octokit/types": "^9.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "18.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz",
+ "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==",
+ "dev": true
+ },
+ "node_modules/@octokit/plugin-enterprise-rest": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
+ "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==",
+ "dev": true
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz",
+ "integrity": "sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^6.41.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=4"
+ }
+ },
+ "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
+ "version": "12.11.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
+ "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==",
+ "dev": true
+ },
+ "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
+ "version": "6.41.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
+ "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/openapi-types": "^12.11.0"
+ }
+ },
+ "node_modules/@octokit/plugin-request-log": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
+ "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
+ "dev": true,
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz",
+ "integrity": "sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^8.1.1",
+ "deprecation": "^2.3.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz",
+ "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==",
+ "dev": true
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz",
+ "integrity": "sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/openapi-types": "^14.0.0"
+ }
+ },
+ "node_modules/@octokit/request": {
+ "version": "6.2.8",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz",
+ "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/endpoint": "^7.0.0",
+ "@octokit/request-error": "^3.0.0",
+ "@octokit/types": "^9.0.0",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.7",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/request-error": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
+ "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^9.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/rest": {
+ "version": "19.0.3",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz",
+ "integrity": "sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/core": "^4.0.0",
+ "@octokit/plugin-paginate-rest": "^3.0.0",
+ "@octokit/plugin-request-log": "^1.0.4",
+ "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@octokit/types": {
+ "version": "9.3.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz",
+ "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/openapi-types": "^18.0.0"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
+ "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-addon-api": "^3.2.1",
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@react-aria/breadcrumbs": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.3.tgz",
+ "integrity": "sha512-rmkApAflZm7Finn3vxLGv7MbsMaPo5Bn7/lf8GBztNfzmLWP/dAA5bgvi1sj1T6sWJOuFJT8u04ImUwBCLh8cQ==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/link": "^3.5.2",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/breadcrumbs": "^3.6.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/button": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.8.0.tgz",
+ "integrity": "sha512-QdvXTQgn+QEWOHoMbUIPXSBIN5P2r1zthRvqDJMTCzuT0I6LbNAq7RoojEbRrcn0DbTa/nZPzOOYsZXjgteRdw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/toggle": "^3.6.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/calendar": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.4.0.tgz",
+ "integrity": "sha512-Ly+9KsOXWZTlOYDZeIYCWNuMZg7ZiJC497Z4U3SqaWmDsZaqwU8ZnLmZ1xUWq1cYvK9rnWPnnpby1JUgttY9RA==",
+ "dependencies": {
+ "@internationalized/date": "^3.3.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/live-announcer": "^3.3.1",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/calendar": "^3.3.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/calendar": "^3.3.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/checkbox": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.9.2.tgz",
+ "integrity": "sha512-gpvC+EnrxcQ9wupnoXsIDUmhSeBpxWtfRIYYypn6Ta6NY9Ubkh4H/8xE9/27nhJltHf5rzEcLfKg4QlEftab/w==",
+ "dependencies": {
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/toggle": "^3.6.2",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/checkbox": "^3.4.3",
+ "@react-stately/toggle": "^3.6.0",
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/combobox": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.6.2.tgz",
+ "integrity": "sha512-SWbA2vH26zcrZDbXdPJtZNR6ywYPdf4LU8/7IKLs1Iv7mrlICr9Cmeywiu2RuFRosuR1hGSy1hibBTgPO6V/sw==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/listbox": "^3.10.0",
+ "@react-aria/live-announcer": "^3.3.1",
+ "@react-aria/menu": "^3.10.0",
+ "@react-aria/overlays": "^3.15.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/textfield": "^3.10.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/combobox": "^3.5.2",
+ "@react-stately/layout": "^3.12.2",
+ "@react-types/button": "^3.7.3",
+ "@react-types/combobox": "^3.6.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/datepicker": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.5.0.tgz",
+ "integrity": "sha512-oUfLbfFwe5XgS2Womx0t0gA8797mGQjjxZAGa9lGSNGFx26NOfhWBh24lAYQzQnZ5ot/DxDSJmzLjN6WEWv9pQ==",
+ "dependencies": {
+ "@internationalized/date": "^3.3.0",
+ "@internationalized/number": "^3.2.1",
+ "@internationalized/string": "^3.1.1",
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/spinbutton": "^3.5.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/datepicker": "^3.5.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/calendar": "^3.3.0",
+ "@react-types/datepicker": "^3.4.0",
+ "@react-types/dialog": "^3.5.3",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/dialog": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.3.tgz",
+ "integrity": "sha512-wXpAqnt6TtR4X/5Xk5HCTBM0qyPcF2bXFQ5z2gSwl1olgoQ5znZEgMqMLbMmwb4dsWGGtAueULs6fVZk766ygA==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/overlays": "^3.15.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/overlays": "^3.6.0",
+ "@react-types/dialog": "^3.5.3",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/dnd": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/dnd/-/dnd-3.3.0.tgz",
+ "integrity": "sha512-rk46inb6XdVR5cIFzuMoqUfdqgqb+GHOIFGDiwhHYONeCdvQKD31ztQZ78yITORmPOmjrnn6r2V3GQ6Oz54WSQ==",
+ "dependencies": {
+ "@internationalized/string": "^3.1.1",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/live-announcer": "^3.3.1",
+ "@react-aria/overlays": "^3.15.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-aria/visually-hidden": "^3.8.2",
+ "@react-stately/dnd": "^3.2.2",
+ "@react-types/button": "^3.7.3",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/focus": {
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.13.0.tgz",
+ "integrity": "sha512-9DW7RqgbFWiImZmkmTIJGe9LrQBqEeLYwlKY+F1FTVXerIPiCCQ3JO3ESEa4lFMmkaHoueFLUrq2jkYjRNqoTw==",
+ "dependencies": {
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^1.1.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/grid": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.8.0.tgz",
+ "integrity": "sha512-7z1xFAbLPgUPROrXwuJk94STQPQ/K8rCLshhwTAg70uFVCPNnrm3jxQ6vE/lddPB+yss9Ee33GwSCrEXdzJkTw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/live-announcer": "^3.3.1",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/grid": "^3.7.0",
+ "@react-stately/selection": "^3.13.2",
+ "@react-stately/virtualizer": "^3.6.0",
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/grid": "^3.1.8",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/gridlist": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/gridlist/-/gridlist-3.5.0.tgz",
+ "integrity": "sha512-xBCWyTtJNdUKSSUWXPMEi4lTnM1NRUlEJNi0eTNPIQVZOwQ7AgkEOD6uI+C6mgBL8q0oJwyIAfhK3zdwUCQSPg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/grid": "^3.8.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/list": "^3.9.0",
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/i18n": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.8.0.tgz",
+ "integrity": "sha512-zeohg7d66zPLnGQl1rJuVJJ/gP7GmUMxEKIFRwE+rg2u02ldKxJMSb8QKGo605QpFWqo7CuuWYvKJP5Mj+Em/w==",
+ "dependencies": {
+ "@internationalized/date": "^3.3.0",
+ "@internationalized/message": "^3.1.1",
+ "@internationalized/number": "^3.2.1",
+ "@internationalized/string": "^3.1.1",
+ "@react-aria/ssr": "^3.7.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/interactions": {
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.16.0.tgz",
+ "integrity": "sha512-vXANFKVd6ONqNw8U+ZWbSA8lrduCOXw7cWsYosTa5dZ24ZJfRfbhlvRe8CaAKMhB/rOOmvTLaAwdIPia6JtLDg==",
+ "dependencies": {
+ "@react-aria/ssr": "^3.7.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/label": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.6.0.tgz",
+ "integrity": "sha512-o6Z9YAbvywj/b995HOl7fS9vf8FVmhWiJkKwFyCi/M1A7FXBqgtPcdPDNHaaKOhvQcwnLs4iMVMJwZdn/dLVDA==",
+ "dependencies": {
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/label": "^3.7.4",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/link": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.5.2.tgz",
+ "integrity": "sha512-CCFP11Uietro6TUZpWBoq3Ql/6qss/ODC5XM6oNxckj72IHruFIj8V7Y0tL5x0aE6h38hlKcDf8NCxkQqz2edg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/link": "^3.4.3",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/listbox": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.10.0.tgz",
+ "integrity": "sha512-4NelMDZAPoy2W4uoKZsMpdrC6XJQiZU+vpuhnzUT1eWTneDsEHKHSHQFtymoe8VrUEPrCV16EeMk1vRVvjCfAw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/list": "^3.9.0",
+ "@react-types/listbox": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/live-announcer": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.3.1.tgz",
+ "integrity": "sha512-hsc77U7S16trM86d+peqJCOCQ7/smO1cybgdpOuzXyiwcHQw8RQ4GrXrS37P4Ux/44E9nMZkOwATQRT2aK8+Ew==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@react-aria/menu": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.10.0.tgz",
+ "integrity": "sha512-zOOOXvx21aGSxZsXvLa3NV48hLk0jBC/zu5WZHT0Mo/wAe0+43f8p/U3AT8Gc4WnxYbIestcdLaIwgeagSoLtQ==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/overlays": "^3.15.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/menu": "^3.5.3",
+ "@react-stately/tree": "^3.7.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/menu": "^3.9.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/meter": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/meter/-/meter-3.4.3.tgz",
+ "integrity": "sha512-1RUr93cNfMqTfyGtQ+SqFYLqlOqza6TEmXmtdCExPuZVRUZRjQRkqPoYuL8CPwHKlU4sbSlLiNeUu/HhV6pyTg==",
+ "dependencies": {
+ "@react-aria/progress": "^3.4.3",
+ "@react-types/meter": "^3.3.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/numberfield": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/numberfield/-/numberfield-3.6.0.tgz",
+ "integrity": "sha512-LbtRS/JciPicYLjqAP87gufInzZ2rlOQlKu0tQK8l/Hwc2cPOWUldDXbrGgxrXwbMxfEASmfI6qYz8uhTGmIyw==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/live-announcer": "^3.3.1",
+ "@react-aria/spinbutton": "^3.5.0",
+ "@react-aria/textfield": "^3.10.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/numberfield": "^3.5.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/numberfield": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/textfield": "^3.7.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/overlays": {
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.15.0.tgz",
+ "integrity": "sha512-MeLn74GvXZfi881NSx5sSd5eTduki/PMk4vPvMNp2Xm+9nGHm0FbGu2GMIGgarYy5JC7l/bOO7H01YrS4AozPg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/ssr": "^3.7.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-aria/visually-hidden": "^3.8.2",
+ "@react-stately/overlays": "^3.6.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/overlays": "^3.8.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/progress": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.3.tgz",
+ "integrity": "sha512-u8aUrnnQGsRZWx5vBfBhf70TeGeN/gEJzcthef5YDUQZG8O2IDhzR1GLqBmn1RvdcSDvBdhRSpMXd+6bL1WzGw==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/progress": "^3.4.1",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/radio": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.6.2.tgz",
+ "integrity": "sha512-R7vyh0G2HaUe0+SGa/LDMYuGnNC/15L6yfuljpP8ZUDPw9bR/6BuE1BDCI0ov1EXQ1lQ/vcvZMbf78OC72vPrg==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/radio": "^3.8.2",
+ "@react-types/radio": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/searchfield": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/searchfield/-/searchfield-3.5.3.tgz",
+ "integrity": "sha512-OqkXTZrjesqRxBR0WIOh0cezwmuXDQpsdua9nnGj0+8BIGCHuxvUOpw1HA3eTsf4AbZfygngC7pMT1lOR21upg==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/textfield": "^3.10.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/searchfield": "^3.4.3",
+ "@react-types/button": "^3.7.3",
+ "@react-types/searchfield": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/select": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/select/-/select-3.11.0.tgz",
+ "integrity": "sha512-UEYhw7wK4XoPMVbTa3UykPcri9GIV777WvXeKEykS1nMbJzu1I1LUE5py4ymhaI7DbpZ+gWZPTA0iot8IYQOWQ==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/listbox": "^3.10.0",
+ "@react-aria/menu": "^3.10.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-aria/visually-hidden": "^3.8.2",
+ "@react-stately/select": "^3.5.2",
+ "@react-types/button": "^3.7.3",
+ "@react-types/select": "^3.8.1",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/selection": {
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.16.0.tgz",
+ "integrity": "sha512-qQ4X0+wtLz0+qjsoj1T0hVehA0CbZdu0Ax+lCzWmj+ZDivtdeNpVQl+K0yj9p95MnzLgIbnY7zU2zDQrYqKDOQ==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/selection": "^3.13.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/separator": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@react-aria/separator/-/separator-3.3.3.tgz",
+ "integrity": "sha512-kBGEXSSUiJLPS9foS5/7jgzpdp3/Yb1aMvVuvRGuNxDUsPAmvaYUT3qZ44Zf3hoxKfRFb4452KcoZ03w3Jfcvg==",
+ "dependencies": {
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/slider": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.5.0.tgz",
+ "integrity": "sha512-7qvzWZzwSww/+kLiSC8UJo4csHo8ndFzpzE2jUOom+hKMFomg5gIF4vqJI3ieWwF6rm6bbLmhxN4GvmNebVMwA==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/radio": "^3.8.2",
+ "@react-stately/slider": "^3.4.0",
+ "@react-types/radio": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/slider": "^3.5.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/spinbutton": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.5.0.tgz",
+ "integrity": "sha512-WWLPiJd2nbv17dSbcbOm+TXlLO9ZIEA86ft/CTkvRYRG48kDn++4f16QcA0Gr+7dKdLQGbKkCf61jMJ3q8t5Hw==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/live-announcer": "^3.3.1",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/ssr": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.7.0.tgz",
+ "integrity": "sha512-bfufjg4ESE5giN+Fxj1XIzS5f/YIhqcGc+Ve+vUUKU8xZ8t/Xtjlv8F3kjqDBQdk//n3mluFY7xG1wQVB9rMLQ==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/switch": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.5.2.tgz",
+ "integrity": "sha512-mhV4Ip3t241s7gp4ETDe61AsSDox5TZXkiWt8add65p/LMESYBju9hGtbrxkMNCW62AuYCTAIadHoEOpy9HIIg==",
+ "dependencies": {
+ "@react-aria/toggle": "^3.6.2",
+ "@react-stately/toggle": "^3.6.0",
+ "@react-types/switch": "^3.3.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/table": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.10.0.tgz",
+ "integrity": "sha512-N42Ill9fdjeWKC/516fPMpPa79B0c+teFJ/fhcROLFrlwotgLKwndIG/InkE1L6FKeiJ8JL33FgUnxfRGafa8Q==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/grid": "^3.8.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/live-announcer": "^3.3.1",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-aria/visually-hidden": "^3.8.2",
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/table": "^3.10.0",
+ "@react-stately/virtualizer": "^3.6.0",
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/grid": "^3.1.8",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/table": "^3.7.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/tabs": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.6.1.tgz",
+ "integrity": "sha512-P/P3HA+b1Q917hVvXn1kzFl3dQnMTwYR8JKY5gjfjLQsAAEfJzSO3wLR0vNSp6Cz2FTAVCH4yzwP1G+bRLZVnw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/list": "^3.9.0",
+ "@react-stately/tabs": "^3.5.0",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/tabs": "^3.3.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/tag": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/tag/-/tag-3.1.0.tgz",
+ "integrity": "sha512-N3h34k23jK7xuMh4eMDJoUG1xsNUw6zz+r9mmSMMLCxU38w+RH27ywEpKheW25M7LhfggqTjbjnPOpPpBnrENQ==",
+ "dependencies": {
+ "@react-aria/gridlist": "^3.5.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/list": "^3.9.0",
+ "@react-types/button": "^3.7.3",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/textfield": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.10.0.tgz",
+ "integrity": "sha512-TYFgDTlxrljakD0TGOkoSCvot9BfVCZSrTKy3+/PICSTkPIzXThLIQmpX6yObLMXQSNW6SvBCl6CMetJMJHcbw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/textfield": "^3.7.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/toggle": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.6.2.tgz",
+ "integrity": "sha512-bRz/ybajeLEsJLt1ARRL7CtWs6bwvkNLWy/wpJnH2TJ3+lMpH+EKbWBVJoAP7wQ5jIVVpxKJLhpf6w6x8ZLtdw==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/toggle": "^3.6.0",
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/switch": "^3.3.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/tooltip": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.6.0.tgz",
+ "integrity": "sha512-D38C7M58ZXWmY2+TXDczbbYRj9/KhIDyE/rLI0KhZR/iXDOJvmB9DT8HZuZLPsntq4Wl6mpmfPggT/R91nvR2Q==",
+ "dependencies": {
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/tooltip": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/tooltip": "^3.4.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/utils": {
+ "version": "3.18.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.18.0.tgz",
+ "integrity": "sha512-eLs0ExzXx/D3P9qe6ophJ87ZFcI1oRTyRa51M59pCad7grrpk0gWcYrBjMwcR457YWOQQWCeLuq8QJl2QxCW6Q==",
+ "dependencies": {
+ "@react-aria/ssr": "^3.7.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^1.1.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-aria/visually-hidden": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.2.tgz",
+ "integrity": "sha512-MFTqqSvPfc8u3YlzNfQ3ITX4eVQpZDiSqLPKj3Zyr86CKlba5iG8WGqjiJhD2GNHlvmcF/mITXTsNzm0KxFE7g==",
+ "dependencies": {
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0",
+ "clsx": "^1.1.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/calendar": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.3.0.tgz",
+ "integrity": "sha512-fnqdxCTlkikgldEyW8ciPNUWhqaUsQKTx6X6XGob6VCwK59k0LmdlgZX+dXj0q2ezC+w4lnvz8TzpoRQ7GY8lw==",
+ "dependencies": {
+ "@internationalized/date": "^3.3.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/calendar": "^3.3.0",
+ "@react-types/datepicker": "^3.4.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/checkbox": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.4.3.tgz",
+ "integrity": "sha512-TEd50vrUTHZWt8qO7ySLG2MlWJbsCvyx+pA1VhLJw6hRfjqorAjmCcpV2sEdu3EkLG7hA/Jw+7iBmGPlxmBN6A==",
+ "dependencies": {
+ "@react-stately/toggle": "^3.6.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/collections": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.9.0.tgz",
+ "integrity": "sha512-CBpXSKmCpbIFpIToVFlzo2R1/Cj+dcU8gWw2KfPyyJX+2wHKkDIvtK01EAytDLX/vkE8O+fD5a7qMZ3pf8gpeA==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/combobox": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.5.2.tgz",
+ "integrity": "sha512-vMp3/xWv9a3DglTvvcQsJup3zZkmIANbf799j21Kc6Z4DXs+ohU81Qg5q9Z/5QuTEPsJFFv7vKXtb+VlP/TK2g==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/list": "^3.9.0",
+ "@react-stately/menu": "^3.5.3",
+ "@react-stately/select": "^3.5.2",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/combobox": "^3.6.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/datepicker": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.5.0.tgz",
+ "integrity": "sha512-GPscIz4jP9hDa1ChgMAWAt8g8mCpjILmSgfyuIZXegPZfa3ryKuQutYU/JGJrBom1xablAgeHIN1AWpve+4f1w==",
+ "dependencies": {
+ "@internationalized/date": "^3.3.0",
+ "@internationalized/string": "^3.1.1",
+ "@react-stately/overlays": "^3.6.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/datepicker": "^3.4.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/dnd": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/dnd/-/dnd-3.2.2.tgz",
+ "integrity": "sha512-1Eb4ZGh2xzTLDBV/Y+c/UoOvd2A9rglj+5o1Vo7HuIVWWc8tDJXq499B7rp/5JPcfQspF5OI4h08OWZFlPd/Ig==",
+ "dependencies": {
+ "@react-stately/selection": "^3.13.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/grid": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.7.0.tgz",
+ "integrity": "sha512-3eb7+7p9Xh/+luUOyieY2bM4CsARA8WnRB7c2++gh4dh9AEpZV4VGICGTe35+dJYr+9pbYQqVMEcEFUOaJJzZw==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/selection": "^3.13.2",
+ "@react-types/grid": "^3.1.8",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/layout": {
+ "version": "3.12.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-3.12.2.tgz",
+ "integrity": "sha512-9AGA11G5+Uo/mQoJR90lbqTR4+UFSl13jQMtqom/BYxkFGrHh3gWSUWEmg2h+n1Qa1q+oJjgaeQ9bxqlrR/wpQ==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/table": "^3.10.0",
+ "@react-stately/virtualizer": "^3.6.0",
+ "@react-types/grid": "^3.1.8",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/table": "^3.7.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/list": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.9.0.tgz",
+ "integrity": "sha512-9DNV02zFEkJG38AtHyhvGMfpJQGwV0KMyMObs+KEujzCh+rmHdTu1rWdjzLw1ve+ecESK8UMsF4Kt6wwO0Qi6g==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/selection": "^3.13.2",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/menu": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.5.3.tgz",
+ "integrity": "sha512-RFgwVD/4BgTtJkexi1WaHpAEkQWZPvpyri0LQUgXWVqBf9PpjB8wigF3XBLMDNkL+YXE0QtzQZBNS1nJECf7rg==",
+ "dependencies": {
+ "@react-stately/overlays": "^3.6.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/menu": "^3.9.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/numberfield": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/numberfield/-/numberfield-3.5.0.tgz",
+ "integrity": "sha512-2R39hXQpQzoVDl1r3TZDKUEKf6lHbhiOpcBOYTPOne+YJOyMXQ6PnXAOTVuIcgTNdagukhXQVoDYH2B/1FvJOA==",
+ "dependencies": {
+ "@internationalized/number": "^3.2.1",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/numberfield": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/overlays": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.0.tgz",
+ "integrity": "sha512-0Bgy4xwCXKM+jkHAGJMN19ZFXNgKstf6qJozfH79j3E5erY30ZStwT7gbAnwv112zFUQLHBKo+3wJTGWuHgs8Q==",
+ "dependencies": {
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/overlays": "^3.8.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/radio": {
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.8.2.tgz",
+ "integrity": "sha512-tjlXask1IEGzzXwdc495K+wsHhyVhtaMhAeTbrdTD1a1fdg2g/jA0vWhN/KGO/CpnZT4vXGjJcY686Rmlrt9EQ==",
+ "dependencies": {
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/radio": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/searchfield": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-stately/searchfield/-/searchfield-3.4.3.tgz",
+ "integrity": "sha512-mTdbWGpOA7foZJwkiR0AP5beh66I1feHMQ9/7/3lR4ETqLQ29vVXte+jc3+RrlFy+Adup0Ziwzs3DMfMZ0rN8Q==",
+ "dependencies": {
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/searchfield": "^3.4.2",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/select": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.5.2.tgz",
+ "integrity": "sha512-hIDAXFNg+q8rGQy5YKEaOz4NoWsckoQoi18vY8u6VsFUIhfYaYL76x6zKbTwekZLYuroifH7Fv81tBvRZmXikQ==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/list": "^3.9.0",
+ "@react-stately/menu": "^3.5.3",
+ "@react-stately/selection": "^3.13.2",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/select": "^3.8.1",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/selection": {
+ "version": "3.13.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.13.2.tgz",
+ "integrity": "sha512-rVnseneG9XWuS0+JEsa0EhRfTZsupm9JiEuZHZ19YeLewjVdFpjgBMDZb8ZYoyilNXVjyUwaoq94FsOXotsg9w==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/slider": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.4.0.tgz",
+ "integrity": "sha512-VvGJ1XkFIIEXP0eg9xqK/NztimBCSRmEqLgqlwzeDJAtuFXZzPRgJGrodGnqGmhoLsTFaY8YleLh/1hgf6rO0g==",
+ "dependencies": {
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/slider": "^3.5.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/table": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.10.0.tgz",
+ "integrity": "sha512-LDF97lZIkCDYNFw5Yz1eREedO9QerPDchxXUXlPVyjwLiZ4ADlhz6W/NTq6gm2PgrHljY/0+Kd5zEgVySLMTEw==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/grid": "^3.7.0",
+ "@react-stately/selection": "^3.13.2",
+ "@react-types/grid": "^3.1.8",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/table": "^3.7.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/tabs": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.5.0.tgz",
+ "integrity": "sha512-N6B0+ZyW6mbmY/kHl0GKGj/i7MtA141A7yYJFSLDdvq1Hb2x7V1Y6gfl40FkSW4W9y3oQtKU+rTxV0EyjEJMWQ==",
+ "dependencies": {
+ "@react-stately/list": "^3.9.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/shared": "^3.18.1",
+ "@react-types/tabs": "^3.3.0",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/toggle": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.6.0.tgz",
+ "integrity": "sha512-w+Aqh78H9MLs0FDUYTjAzYhrHQWaDJ2zWjyg2oYcSvERES0+D0obmPvtJLWsFrJ8fHJrTmxd7ezVFBY9BbPeFQ==",
+ "dependencies": {
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/tooltip": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.4.2.tgz",
+ "integrity": "sha512-tDkoYyEfdo44a3CoeiF794TFTs36d9faX0QvbR1QZ2KksjCMceOL5+26MlQjnhjEydYqw1X1YlTZbtMeor4uQw==",
+ "dependencies": {
+ "@react-stately/overlays": "^3.6.0",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/tooltip": "^3.4.2",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/tree": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.7.0.tgz",
+ "integrity": "sha512-oXOjJwy/o3XSJyBkudiEvnjWzto2jy48kmGjHCJ+B7Hv+WcbN9o7iAaHv11lOqMXRSpuF9gqox4ZZCASG+smIQ==",
+ "dependencies": {
+ "@react-stately/collections": "^3.9.0",
+ "@react-stately/selection": "^3.13.2",
+ "@react-stately/utils": "^3.7.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/utils": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.7.0.tgz",
+ "integrity": "sha512-VbApRiUV2rhozOfk0Qj9xt0qjVbQfLTgAzXLdrfeZSBnyIgo1bFRnjDpnDZKZUUCeGQcJJI03I9niaUtY+kwJQ==",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-stately/virtualizer": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-3.6.0.tgz",
+ "integrity": "sha512-f78BQT9ZSD5Hpqf6axRoNQJFqV+JjMSV2VixMfhIAcqi/fn8rEN2j3g4SPdFzTtFf2FR3+AKdBFu5tsgtk1Tgw==",
+ "dependencies": {
+ "@react-aria/utils": "^3.18.0",
+ "@react-types/shared": "^3.18.1",
+ "@swc/helpers": "^0.5.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/breadcrumbs": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.6.0.tgz",
+ "integrity": "sha512-EnZk/f59yMQUmH2DW21uo3ajQ7nLEZ/sIMSfEZYP69CFe1by0RKi9aFRjJSrYjxRC0PSHTVPTjIG72KeBSsUGA==",
+ "dependencies": {
+ "@react-types/link": "^3.4.3",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/button": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.7.3.tgz",
+ "integrity": "sha512-Fz1t/kYinHDunmct3tADD2h3UDBPZUfRE+zCzYiymz0g+v/zYHTAqnkWToTF9ptf8HIB5L2Z2VFYpeUHFfpWzg==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/calendar": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.3.0.tgz",
+ "integrity": "sha512-5Qga+eixj+PembMwzcJmQlxif4XhSJJ54JcoyYHVf6mYLw3aE81Jc52OBi1FEWBJOW9YVOTk7VbWPFFF/oBI8A==",
+ "dependencies": {
+ "@internationalized/date": "^3.3.0",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/checkbox": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.4.4.tgz",
+ "integrity": "sha512-rJNhbW4R9HTvdbF2oTZmqGiZ/WVP3/XsU4gae7tfdhSYjG+5T5h9zau1vRhz++zwKn57wfcyNn6a83GDhhgkVw==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/combobox": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.6.2.tgz",
+ "integrity": "sha512-qitu/W3Z3/ihyqocy+8n4HZKRXF5JTMHl1ug3rKps5yCNnVdkWwjPFPM6w180c9QjquThNY3o947LZ1v59qJ4A==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/datepicker": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.4.0.tgz",
+ "integrity": "sha512-gQmbeNdVPXpaX8XsvxQb6nRLQZNlsMnDLVVpagVno7bifz2cdbthLfMe124nNT/Xr+JXolP+BtlYlZ7IRQVxdA==",
+ "dependencies": {
+ "@internationalized/date": "^3.3.0",
+ "@react-types/calendar": "^3.3.0",
+ "@react-types/overlays": "^3.8.0",
+ "@react-types/shared": "^3.18.1"
},
- "bin": {
- "tao": "index.js"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/auth-token": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz",
- "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==",
- "dev": true,
- "engines": {
- "node": ">= 14"
+ "node_modules/@react-types/dialog": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.3.tgz",
+ "integrity": "sha512-iTdg+UZiJpJe7Rnu9eILf8Hcd9li0Kg2eg8ba8dIc1O++ymqPmrdPWj9wj1JB9cl94E2Yg4w3W5YINiLXkdoeA==",
+ "dependencies": {
+ "@react-types/overlays": "^3.8.0",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/core": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz",
- "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==",
- "dev": true,
+ "node_modules/@react-types/grid": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.1.8.tgz",
+ "integrity": "sha512-NKk4pDbW2QXJOYnDSAYhta81CGwXOc/9tVw2WFs+1wacvxeKmh1Q+n36uAFcIdQOvVRqeGTJaYiqLFmF3fC3tA==",
"dependencies": {
- "@octokit/auth-token": "^3.0.0",
- "@octokit/graphql": "^5.0.0",
- "@octokit/request": "^6.0.0",
- "@octokit/request-error": "^3.0.0",
- "@octokit/types": "^9.0.0",
- "before-after-hook": "^2.2.0",
- "universal-user-agent": "^6.0.0"
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 14"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/endpoint": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz",
- "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==",
- "dev": true,
+ "node_modules/@react-types/label": {
+ "version": "3.7.4",
+ "resolved": "https://registry.npmjs.org/@react-types/label/-/label-3.7.4.tgz",
+ "integrity": "sha512-SfTqPRI39GE3GFD5ZGYEeX9jXQrNqDeaaI36PJhnbgGVFz96oVVkhy9t9c2bMHcbhLLENYIHMzxrvVqXS07e7A==",
"dependencies": {
- "@octokit/types": "^9.0.0",
- "is-plain-object": "^5.0.0",
- "universal-user-agent": "^6.0.0"
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 14"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/graphql": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz",
- "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==",
- "dev": true,
+ "node_modules/@react-types/link": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.4.3.tgz",
+ "integrity": "sha512-opKfkcaeV0cir64jPcy7DS0BrmdfuWMjua+MSeNv7FfT/b65rFgPfAOKZcvLWDsaxT5HYb7pivYPBfjKqHsQKw==",
"dependencies": {
- "@octokit/request": "^6.0.0",
- "@octokit/types": "^9.0.0",
- "universal-user-agent": "^6.0.0"
+ "@react-aria/interactions": "^3.16.0",
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 14"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/openapi-types": {
- "version": "18.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz",
- "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==",
- "dev": true
- },
- "node_modules/@octokit/plugin-enterprise-rest": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
- "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==",
- "dev": true
- },
- "node_modules/@octokit/plugin-paginate-rest": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz",
- "integrity": "sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==",
- "dev": true,
+ "node_modules/@react-types/listbox": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.4.2.tgz",
+ "integrity": "sha512-qg980T+tl15pqgfuK8V6z+vsvsIrJEEPxcupQXP3T1O0LxWxJDakZHF0lV9qwfyB9XlnVSMZfkjDiZp9Wgf8QQ==",
"dependencies": {
- "@octokit/types": "^6.41.0"
- },
- "engines": {
- "node": ">= 14"
+ "@react-types/shared": "^3.18.1"
},
"peerDependencies": {
- "@octokit/core": ">=4"
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
- "version": "12.11.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
- "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==",
- "dev": true
+ "node_modules/@react-types/menu": {
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.2.tgz",
+ "integrity": "sha512-OIuEOGqo8gHaP4k3Ua+RvuPN2/3Sgcl30dNFIGaK7hra4eWxOUu8TTC+/Quy6xozR/SvFhqCLCoMKixy6MblWQ==",
+ "dependencies": {
+ "@react-types/overlays": "^3.8.0",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
},
- "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
- "version": "6.41.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
- "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
- "dev": true,
+ "node_modules/@react-types/meter": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@react-types/meter/-/meter-3.3.2.tgz",
+ "integrity": "sha512-o21Zz+3LNjvBueMap+q2otGp5t2Xeb/lIMM4Y+v8j5XO+bLcHaAjdQB/TgKRe8iYFm3IqwpVtV9A38IWDtpLRQ==",
"dependencies": {
- "@octokit/openapi-types": "^12.11.0"
+ "@react-types/progress": "^3.4.1",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/plugin-request-log": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
- "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
- "dev": true,
+ "node_modules/@react-types/numberfield": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@react-types/numberfield/-/numberfield-3.4.2.tgz",
+ "integrity": "sha512-SGzuuFf5wCSRPvpV+bnykiXSIt8pkpBBVp8tlygB66pQSBV7VLdUvWGohaayPSM+3Z+WkU+osgzYtGq5wh+C3Q==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1"
+ },
"peerDependencies": {
- "@octokit/core": ">=3"
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/plugin-rest-endpoint-methods": {
- "version": "6.8.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz",
- "integrity": "sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==",
- "dev": true,
+ "node_modules/@react-types/overlays": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.0.tgz",
+ "integrity": "sha512-0JxwUW3xwXjsT+nVI5dVE1KUm8QKxnQj9vjqgsazX213+klRd/QdeuFJgcbxzCVFOS/mLkP4o/ATjxt4+1eQsA==",
"dependencies": {
- "@octokit/types": "^8.1.1",
- "deprecation": "^2.3.1"
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 14"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/progress": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.4.1.tgz",
+ "integrity": "sha512-Y6cTvvJjbfFBeB7Zb3PizhhO3+YLWXpIP8opto15RWu11ktgZVMUgsnlsJgE3dFeoZ7UHwXdCYf8JOzBw5VPHA==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1"
},
"peerDependencies": {
- "@octokit/core": ">=3"
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz",
- "integrity": "sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==",
- "dev": true
+ "node_modules/@react-types/radio": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.4.2.tgz",
+ "integrity": "sha512-SE6sjZjZbyuJMJNNdlhoutVr+QFRt1Vz7DZj4UaOswW5SD/Xb+xFdW8i6ETKdRN17am/5SC89ltWe0R3q0pVkA==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
},
- "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-8.2.1.tgz",
- "integrity": "sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==",
- "dev": true,
+ "node_modules/@react-types/searchfield": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@react-types/searchfield/-/searchfield-3.4.2.tgz",
+ "integrity": "sha512-HQm++hIXVfEbjbRey6hYV/5hLEO6gtwt4Mft3u5I5BiT7yoQqQAD/8z9S8aUXDUU9KTrAKfL1DwrFQSkOsCWJA==",
"dependencies": {
- "@octokit/openapi-types": "^14.0.0"
+ "@react-types/shared": "^3.18.1",
+ "@react-types/textfield": "^3.7.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/request": {
- "version": "6.2.8",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz",
- "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==",
- "dev": true,
+ "node_modules/@react-types/select": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.8.1.tgz",
+ "integrity": "sha512-ByVKKwgpE3d08jI+Ibuom/qphlBiDKpVMwXgFgVZRAN2YvVrsix8arSo7kmXtzekz91qqDBqtt7DBCfT0E1WKw==",
"dependencies": {
- "@octokit/endpoint": "^7.0.0",
- "@octokit/request-error": "^3.0.0",
- "@octokit/types": "^9.0.0",
- "is-plain-object": "^5.0.0",
- "node-fetch": "^2.6.7",
- "universal-user-agent": "^6.0.0"
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 14"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/request-error": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
- "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
- "dev": true,
+ "node_modules/@react-types/shared": {
+ "version": "3.18.1",
+ "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.18.1.tgz",
+ "integrity": "sha512-OpTYRFS607Ctfd6Tmhyk6t6cbFyDhO5K+etU35X50pMzpypo1b7vF0mkngEeTc0Xwl0e749ONZNPZskMyu5k8w==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/slider": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.5.1.tgz",
+ "integrity": "sha512-8+AMNexx7q7DqfAtQKC5tgnZdG/tIwG2tcEbFCfAQA09Djrt/xiMNz+mc7SsV1PWoWwVuSDFH9QqKPodOrJHDg==",
"dependencies": {
- "@octokit/types": "^9.0.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 14"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/rest": {
- "version": "19.0.3",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.3.tgz",
- "integrity": "sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==",
- "dev": true,
+ "node_modules/@react-types/switch": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.3.2.tgz",
+ "integrity": "sha512-L0XF4J43Q7HCAJXqseAk6RMteK6k1jQ0zrG05r6lSCkxaS9fGUlgLTCiFUsf07x0ADH1Xyc7PwpfJjyEr5A4tA==",
"dependencies": {
- "@octokit/core": "^4.0.0",
- "@octokit/plugin-paginate-rest": "^3.0.0",
- "@octokit/plugin-request-log": "^1.0.4",
- "@octokit/plugin-rest-endpoint-methods": "^6.0.0"
+ "@react-types/checkbox": "^3.4.4",
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 14"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@octokit/types": {
- "version": "9.3.2",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz",
- "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==",
- "dev": true,
+ "node_modules/@react-types/table": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.7.0.tgz",
+ "integrity": "sha512-tUSJPdU2eNjH/CRHs5pOCKDyQxzq8b1rJZHldvRK/GCW+B98debFOueYgw4+YGQ1E33IyzAwid+FXgY3wlZlHg==",
"dependencies": {
- "@octokit/openapi-types": "^18.0.0"
+ "@react-types/grid": "^3.1.8",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@parcel/watcher": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz",
- "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==",
- "dev": true,
- "hasInstallScript": true,
+ "node_modules/@react-types/tabs": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.0.tgz",
+ "integrity": "sha512-uXDVXBBppb+9S8bhxF7LZhgptrF5ll25SX8/jrpnXOR0jpihq6K3fkSe5M/OBnGsybuyVGN7+Np5v7UUYrM5SQ==",
"dependencies": {
- "node-addon-api": "^3.2.1",
- "node-gyp-build": "^4.3.0"
+ "@react-types/shared": "^3.18.1"
},
- "engines": {
- "node": ">= 10.0.0"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-types/textfield": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.7.2.tgz",
+ "integrity": "sha512-TsZTf1+4Ve9QHm6mbXr26uLOA4QtZPgyjYgYclL2nHoOl67algeQIFxIVfdlNIKFFMOw5BtC6Mer0I3KUWtbOQ==",
+ "dependencies": {
+ "@react-types/shared": "^3.18.1"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">=14"
+ "node_modules/@react-types/tooltip": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.2.tgz",
+ "integrity": "sha512-jkuhT4KsU3ePfVrLeQv3Z2Vt0SwZmFNUoVIlK6Q1QR8H/TuWG+SDKjbwNLcCdeVfAXcJLbEfPDT2zyGeQTwNEA==",
+ "dependencies": {
+ "@react-types/overlays": "^3.8.0",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
}
},
"node_modules/@remix-run/router": {
@@ -7839,6 +9289,14 @@
"sourcemap-codec": "^1.4.8"
}
},
+ "node_modules/@swc/helpers": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz",
+ "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/@testing-library/dom": {
"version": "8.20.1",
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz",
@@ -10796,6 +12254,14 @@
"node": ">=0.10.0"
}
},
+ "node_modules/clsx": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz",
+ "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/cmd-shim": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz",
@@ -15075,6 +16541,17 @@
"node": ">= 0.10"
}
},
+ "node_modules/intl-messageformat": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.0.tgz",
+ "integrity": "sha512-AvojYuOaRb6r2veOKfTVpxH9TrmjSdc5iR9R5RgBwrDZYSmAAFVT+QLbW3C4V7Qsg0OguMp67Q/EoUkxZzXRGw==",
+ "dependencies": {
+ "@formatjs/ecma402-abstract": "1.17.0",
+ "@formatjs/fast-memoize": "2.2.0",
+ "@formatjs/icu-messageformat-parser": "2.6.0",
+ "tslib": "^2.4.0"
+ }
+ },
"node_modules/ip": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
@@ -21876,6 +23353,53 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-aria": {
+ "version": "3.26.0",
+ "resolved": "https://registry.npmjs.org/react-aria/-/react-aria-3.26.0.tgz",
+ "integrity": "sha512-G+dh25hEdDLfAGbKyahzasnyxXhd99y6xlMZjNtHoWB7wXod/9M3P3W6mdANvCEogxU28ATRdV1bv6A2JbuSYg==",
+ "dependencies": {
+ "@react-aria/breadcrumbs": "^3.5.3",
+ "@react-aria/button": "^3.8.0",
+ "@react-aria/calendar": "^3.4.0",
+ "@react-aria/checkbox": "^3.9.2",
+ "@react-aria/combobox": "^3.6.2",
+ "@react-aria/datepicker": "^3.5.0",
+ "@react-aria/dialog": "^3.5.3",
+ "@react-aria/dnd": "^3.3.0",
+ "@react-aria/focus": "^3.13.0",
+ "@react-aria/gridlist": "^3.5.0",
+ "@react-aria/i18n": "^3.8.0",
+ "@react-aria/interactions": "^3.16.0",
+ "@react-aria/label": "^3.6.0",
+ "@react-aria/link": "^3.5.2",
+ "@react-aria/listbox": "^3.10.0",
+ "@react-aria/menu": "^3.10.0",
+ "@react-aria/meter": "^3.4.3",
+ "@react-aria/numberfield": "^3.6.0",
+ "@react-aria/overlays": "^3.15.0",
+ "@react-aria/progress": "^3.4.3",
+ "@react-aria/radio": "^3.6.2",
+ "@react-aria/searchfield": "^3.5.3",
+ "@react-aria/select": "^3.11.0",
+ "@react-aria/selection": "^3.16.0",
+ "@react-aria/separator": "^3.3.3",
+ "@react-aria/slider": "^3.5.0",
+ "@react-aria/ssr": "^3.7.0",
+ "@react-aria/switch": "^3.5.2",
+ "@react-aria/table": "^3.10.0",
+ "@react-aria/tabs": "^3.6.1",
+ "@react-aria/tag": "^3.1.0",
+ "@react-aria/textfield": "^3.10.0",
+ "@react-aria/tooltip": "^3.6.0",
+ "@react-aria/utils": "^3.18.0",
+ "@react-aria/visually-hidden": "^3.8.2",
+ "@react-types/shared": "^3.18.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
"node_modules/react-colorful": {
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz",
@@ -25300,6 +26824,14 @@
"react-dom": "16.8.0 - 18"
}
},
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/util": {
"version": "0.12.5",
"resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
@@ -26902,6 +28434,29 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/zustand": {
+ "version": "4.3.9",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.9.tgz",
+ "integrity": "sha512-Tat5r8jOMG1Vcsj8uldMyqYKC5IZvQif8zetmLHs9WoZlntTHmIoNM8TpLRY31ExncuUvUOXehd0kvahkuHjDw==",
+ "dependencies": {
+ "use-sync-external-store": "1.2.0"
+ },
+ "engines": {
+ "node": ">=12.7.0"
+ },
+ "peerDependencies": {
+ "immer": ">=9.0",
+ "react": ">=16.8"
+ },
+ "peerDependenciesMeta": {
+ "immer": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/zwitch": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",